Inhoudsopgave:
Video: Rotary Encoder - Begrijp en gebruik het (Arduino/andere Controller): 3 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Een roterende encoder is een elektromechanisch apparaat dat roterende beweging omzet in digitale of analoge informatie. Het kan met de klok mee of tegen de klok in draaien. Er zijn twee soorten roterende encoders: absolute en relatieve (incrementele) encoders.
Terwijl een absolute encoder een waarde afgeeft die evenredig is met de huidige ashoek, voert een incrementele encoder de stap van de as en zijn richting uit. (In dit geval hebben we een incrementele encoder)
Roterende encoders worden steeds populairder omdat u twee functies in één elektrische module kunt gebruiken: een eenvoudige schakelaar voor het bevestigen van bewerkingen en de roterende encoder om b.v. via een menukaart.
Een incrementele roterende encoder genereert twee uitgangssignalen terwijl de as draait. Afhankelijk van de richting leidt het ene signaal naar het andere. (zie onder)
Stap 1: De uitvoergegevens begrijpen
Zoals u kunt zien wanneer de encoderas met de klok mee begint te draaien, valt uitgang A eerst naar LAAG en volgt uitgang B. Tegen de klok in draait de werking tegengesteld.
Nu hoeven we dit alleen nog maar te implementeren op onze µController (ik gebruikte een Arduino Nano).
Stap 2: Bouw het circuit
Zoals ik eerder heb beschreven, creëren de uitgangen een HOGE en een LAGE flank. Om een schone HIGH te krijgen op de datapin A en B van de µController, moeten we Pull-Up-weerstanden toevoegen. De gemeenschappelijke Pin C gaat rechtstreeks naar de grond voor de LAGE flank.
Om informatie te krijgen over de interne schakelaar (drukknop) zullen we de andere twee pinnen gebruiken. Een daarvan gaat naar VCC en de andere naar een datapin van de µController. We moeten ook een pull-down-weerstand aan de datapin toevoegen om een schone LOW te krijgen.
Het is ook mogelijk om interne Pull-Up en Pull-Down weerstanden van uw µController te gebruiken!
In mijn geval ziet de pinout er als volgt uit:
- +3, 3V => +3, 3V (Arduino)(ook +5V mogelijk)
- GND => GND (Arduino)
- EEN => Pin10
-
B =>
Pin
11
- C => GND
-
ZW =>
Pin
12
Stap 3: De code schrijven
int pinA = 10; // interne schakelaar A int pinB = 11; // interne schakelaar B int pinSW = 12; //switch (ingedrukt Encoder) int encoderPosCount = 0; // begint bij nul, verander als je wilt
int positiewaarde;
bool schakelwaarde; int mrotateLaatste; int mrotaat;
ongeldige setup() {
int mrotateLast = digitalRead (pinA); Serieel.begin (9600); vertraging (50); }
void loop() { readencoder(); if(readswitch() == 1){ Serial.println("Switch = 1"); } }
int-lezer (){
mrotate = digitalRead (pinA); if (mrotate! = mrotateLast) {// knop draait if (digitalRead (pinB)! = mrotate) {// schakelaar A eerst gewijzigd -> met de klok mee draaien encoderPosCount ++; Serial.println ("met de klok mee gedraaid"); } else {// schakelaar B eerst gewijzigd -> draaien tegen de klok in encoderPosCount--; Serial.println ("tegen de klok in gedraaid"); }
Serial.print("Encoder Positie: "); Serial.println(encoderPosCount); Serieel.println(""); } mrotateLast = mrotate; retourneer encoderPosCount; } bool leesschakelaar(){
if (digitalRead (pinSW)! = 0) {// schakelaar is ingedrukt
while(digitalRead(pinSW)!=0){} //switch is momenteel ingedrukt switchval = 1; } else{switchval = 0;} //switch is niet ingedrukt return switchval; }
Nu kun je aan de encoder draaien en de variabele encoderPosCount telt op als je met de klok mee draait en af als je tegen de klok in draait.
Dat is het! Simpel en handig.
Voel je vrij om de code te wijzigen en uit te voeren. U kunt het implementeren in uw project.
Ik zal ook een LED-project uploaden waarbij ik de encoder heb gebruikt om de helderheid van mijn LED's in te stellen.
Aanbevolen:
Nog een andere instructie over het gebruik van de DIYMall RFID-RC522 en Nokia LCD5110 met een Arduino: 8 stappen (met afbeeldingen)
Nog een andere Instructable over het gebruik van de DIYMall RFID-RC522 en Nokia LCD5110 met een Arduino: waarom voelde ik de behoefte om nog een Instructable te maken voor de DIYMall RFID-RC522 en de Nokia LCD5110? Nou, om je de waarheid te zeggen, ik werkte ergens vorig jaar aan een Proof of Concept met beide apparaten en op de een of andere manier "misplaatst"
Raspberry Pi Oled-klok Bekijk het, hoor het en voel het: 5 stappen (met afbeeldingen)
Raspberry Pi Oled Clock Watch It Hear It and Feel It: dit is een slimme klok die de tijd op een OLED-display weergeeft en je kunt ook de tijd horen op verschillende tijdsintervallen die hulpvol zijn voor blinden en het verandert ook de led-kleur met de tijd zoals licht in de schemering licht in de avond wordt oranje naar geel en houdt van t
Schrijf het ! Maak het ! Deel het!: 4 stappen
Schrijf het ! Maak het ! Deel het!: Mijn leerlingen hebben Lego gebruikt om creativiteit toe te voegen aan hun schrijven, de organisatie van het schrijven en om hun werk digitaal te presenteren met hun familie en met hun leeftijdsgenoten in de klas
Hoe muziek te krijgen van BIJNA ELKE (Haha) website (zolang je het kunt horen, kun je het krijgen Ok prima als het in Flash is ingesloten, kun je dat misschien niet) BEWERKT !!!!! Info toegevoegd: 4 stappen
Hoe muziek te krijgen van BIJNA ELKE (Haha) website (zolang je het kunt horen, kun je het krijgen … Ok prima als het in Flash is ingesloten, kun je dat misschien niet) BEWERKT !!!!! Toegevoegde info: als je ooit naar een website gaat en een nummer speelt dat je leuk vindt en wilt, dan is hier de instructie voor jou, niet mijn schuld als je iets verknoeit (de enige manier waarop het zal gebeuren is als je dingen begint te verwijderen zonder reden )ik heb muziek kunnen krijgen voor
Instructies voor het voltooien van de mock-up van het ontwerp van de rupsschuif voor het heffen/verlagen van in het midden gemonteerde voetsteunen op elektrische rolstoelen - Ajarnpa
Instructies voor het voltooien van de mock-up van het ontwerp van de rupsschuif voor het omhoog/omlaag brengen van in het midden gemonteerde voetsteunen op elektrische rolstoelen: in het midden gemonteerde voetsteunen kunnen omhoog worden gebracht om onder de zitting goed te worden opgeborgen en omlaag om te worden ingezet. Een mechanisme voor onafhankelijke bediening van het opbergen en plaatsen van de voetsteun is niet inbegrepen in elektrische rolstoelen op de markt, en PWC-gebruikers hebben de behoefte geuit