Innholdsfortegnelse:
- Trinn 1: Pulsstrøm til roterende encoder
- Trinn 2: Pinout av Rotary Encoder
- Trinn 3: Skjematisk
- Trinn 4: Kode
- Trinn 5: Forklaring
- Trinn 6: Utgang
Video: Opplæring av Rotary Encoder With Arduino: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Rotary encoder er en elektronisk komponent som er i stand til å overvåke bevegelse og posisjon når den roterer. Rotary encoder benytter optiske sensorer som kan generere pulser når den roterende encoderen roterer. Bruk av roterende encoder vanligvis som en mekanisk eller robotisk bevegelsesmonitor kan også brukes til menyvalg på displayet. Rotary encoder har to utganger slik at den kan skille mellom negativ (CW) og positiv (CCW) rotation og har også en enkelt knapp.
Trinn 1: Pulsstrøm til roterende encoder
Pulsstrømmen generert av den følgende roterende omkoderen er som bildet ovenfor.
Trinn 2: Pinout av Rotary Encoder
Forklaring:
- GND GND
- + + 5V
- SW -knapp på roterende encoder når den trykkes
- DT -data
- CLK -data 2
En av DT- eller CLK -pinnene må være koblet til avbruddsfoten til Arduino Uno, eller begge DT og CLK er koblet til avbruddspinnen.
Trinn 3: Skjematisk
- GND à GND Arduino Uno
- + à + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
Trinn 4: Kode
I den følgende opplæringen, som vil bli brukt som avbrudd, er PIN 2 til Arduino Uno, mens PIN 3 bare brukes som en vanlig inngang.
#define encoder0PinA 2 #definere encoder0PinB 3 #define encoder0Btn 4 int encoder0Pos = 0; ugyldig oppsett () {Serial.begin (9600); pinMode (encoder0PinA, INPUT_PULLUP); pinMode (encoder0PinB, INPUT_PULLUP); pinMode (encoder0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; void loop () {int btn = digitalRead (encoder0Btn); Serial.print (btn); Serial.print (""); Serial.print (valRotary); if (valRotary> lastValRotary) {Serial.print ("CW"); } if (valRotary {
Serial.print ("CCW");
} lastValRotary = valRotary; Serial.println (""); forsinkelse (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } annet {encoder0Pos--; } valRotary = encoder0Pos/2.5; }
I linje 10 i skissen ovenfor brukes for å muliggjøre avbrudd av pin 2 Arduino Uno. I "doEncoder" -funksjonen beregnes fra den roterende omkoderen. Hvis verdien av DT og CLK (pin interrupt av Arduino Uno) er den samme, vil variabelen "encoder0Pos" økes / legges til, i tillegg til den tilstanden, blir "encoder0Pos" variabelen redusert.
Trinn 5: Forklaring
ValRotary verdi er verdien av antall trinn som har vært kjørt. ValRotær verdi er hentet fra leserverdien for roterende sensorkoder delt på 2,5. En verdi på 2,5 oppnås fra testen, siden ett trinn i den roterende omkoderen kan overstige 1, så del med 2,5 for verdien i henhold til trinnet og tillegg av leseforsinkelsen.
Mens på linje 19 - 25 er et program for å avgjøre om roterende rotorkoder CW eller CCW. Forklaringen på linjene 19 - 25 er når den nåværende avlesningen til den roterende koderen er større enn de tidligere rotasjonsdataene deretter uttrykt som CW. Mens hvis den nåværende avlesningen er mindre enn den forrige lesningen, er den oppgitt som CCW.
Trinn 6: Utgang
1 = startknappens verdi på dreieknappen når den ikke er trykket på
Anbefalt:
Timer med Arduino og Rotary Encoder: 5 trinn
Timer med Arduino og Rotary Encoder: Timeren er et verktøy som ofte brukes i både industrielle og husholdningsaktiviteter. Denne monteringen er billig og enkel å lage. Den er også veldig allsidig og kan laste inn et program valgt etter behov. Det er flere programmer skrevet av meg, for Ardui
Power Timer Med Arduino og Rotary Encoder: 7 trinn (med bilder)
Power Timer With Arduino and Rotary Encoder: Denne Power Timer er basert på timeren som presenteres på: https: //www.instructables.com/id/Timer-With-Arduin…En strømforsyningsmodul og et SSR (solid state relé) ) .Last på opptil 1KW kan betjenes og med minimale endringer
Rotary Encoder - Forstå og bruk den (Arduino/annen Μkontroller): 3 trinn
Rotary Encoder - Forstå og bruk den (Arduino/annen ΜController): En roterende encoder er en elektromekanisk enhet som konverterer rotasjonsbevegelse til digital eller analog informasjon. Den kan snu med eller mot klokken. Det er to typer roterende encoders: Absolutte og relative (inkrementelle) encoders.Wh
Rotary Encoder Using Arduino Nano: 4 trinn
Rotary Encoder Using Arduino Nano: Hei alle sammen, I denne artikkelen vil jeg lage en opplæring om hvordan du bruker en roterende encoder ved hjelp av Arduino Nano. For å bruke denne Rotary encoder trenger du ikke et eksternt bibliotek. Så vi kan lage programmer direkte uten å legge til biblioteker først. ok, la oss starte
Rotary Encoder: Hvordan det fungerer og hvordan det brukes med Arduino: 7 trinn
Rotary Encoder: Hvordan det fungerer og hvordan det brukes med Arduino: Du kan lese dette og andre fantastiske opplæringsprogrammer på ElectroPeaks offisielle nettsted Oversikt I denne opplæringen vil du bli kjent med hvordan du bruker rotorkoderen. Først ser du litt informasjon om rotasjonskoderen, og deretter lærer du hvordan