
Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01

Roterende encoder is een elektronische component die beweging en positie kan bewaken tijdens het draaien. Rotary encoder maakt gebruik van optische sensoren die pulsen kunnen genereren wanneer de roterende encoder draait. Toepassing van de roterende encoder, meestal als een mechanische of robotachtige bewegingsmonitor, kan ook worden gebruikt voor menuselectie op het display. Rotary encoder heeft twee uitgangen zodat hij onderscheid kan maken tussen negatieve (CW) en positieve (CCW) rotatie en heeft ook een enkele knop.
Stap 1: Pulsstroom van roterende encoder

De pulsstroom die wordt gegenereerd door de volgende roterende encoder is zoals de afbeelding hierboven.
Stap 2: Pinout van roterende encoder

Uitleg:
- GND GND
- + +5V
- SW-knop van roterende encoder wanneer ingedrukt
- DT-gegevens
- CLK-gegevens 2
Een van de DT- of CLK-pinnen moet worden aangesloten op de interrupt-voet van Arduino Uno, of zowel de DT als de CLK zijn aangesloten op de interrupt-pin.
Stap 3: Schematisch:

- GND naar GND Arduino Uno
- + à +5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK naar PIN2 Arduino Uno
Stap 4: Coderen

In de volgende tutorial, die als interrupt zal worden gebruikt, is PIN 2 van Arduino Uno, terwijl PIN 3 alleen als reguliere invoer wordt gebruikt.
#define encoder0PinA 2#define encoder0PinB 3 #define encoder0Btn 4 int encoder0Pos = 0; void setup() { Serial.begin(9600); pinMode (encoder0PinA, INPUT_PULLUP); pinMode (encoder0PinB, INPUT_PULLUP); pinMode (encoder0Btn, INPUT_PULLUP); attachInterrupt(0, doEncoder, WIJZIGING); } int valRotary, lastValRotary; void loop () { int btn = digitalRead (encoder0Btn); Serial.print(btn); Serieel.print(" "); Serial.print(valRotary); if(valRotary>lastValRotary) { Serial.print("CW"); } if(valRotary {
Serial.print(" CCW");
} lastValRotary = valRotary; Serieel.println(" "); vertraging (250); } void doEncoder() {if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB)) { encoder0Pos++; } else { encoder0Pos--; } valRotary = encoder0Pos/2.5; }
In regel 10 van de bovenstaande schets wordt de interrupt van pin 2 Arduino Uno ingeschakeld. In de "doEncoder"-functie wordt berekend vanaf de roterende encoder. Als de waarde van DT en CLK (pin-interrupt van Arduino Uno) hetzelfde is, wordt de variabele "encoder0Pos" verhoogd / toegevoegd, naast die voorwaarde wordt de variabele "encoder0Pos" verlaagd.
Stap 5: Uitleg
ValRotary-waarde is de waarde van het aantal stappen dat is uitgevoerd. ValRotary-waarde wordt verkregen uit de afleeswaarde van de roterende sensor-encoder gedeeld door 2,5. Een waarde van 2,5 wordt verkregen uit de test, aangezien één stap van de roterende encoder groter kan zijn dan 1, dus deel door 2,5 voor zijn waarde volgens de perstap en ook de toevoeging van de leesvertraging.
Terwijl op regel 19 - 25 een programma is om te bepalen of roterende roterende encoder CW of CCW. De uitleg van regels 19 - 25 is wanneer de huidige uitlezing van de roterende encoder groter is dan de vorige roterende data dan uitgedrukt als CW. Terwijl als de huidige meting kleiner is dan de vorige meting, deze wordt vermeld als CCW.
Stap 6: Uitgang

1 = de startknopwaarde van de draaiknop wanneer deze niet is ingedrukt
Aanbevolen:
Rotary Encoder - Begrijp en gebruik het (Arduino/andere Controller): 3 stappen

Rotary Encoder - Begrijp en gebruik het (Arduino/andere ΜController): 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.Wh
Live bewaking van de waarde van uw sensor van overal ter wereld: 4 stappen

Live monitoring van de waarde van uw sensor van overal ter wereld: ik kreeg een bericht op het WhatsApp-nummer van techneuten met betrekking tot hulp bij het maken van één project. Het project was om de druk op de druksensor te meten en deze op een smartphone weer te geven. Dus ik hielp bij het maken van dat project en besloot een bijlesdocent te maken
Verdubbel de levensduur van de batterij van de DX3-radio van Spektrum voor minder dan $ 20: 11 stappen

Verdubbel de levensduur van de batterij van de DX3-radio van Spektrum voor minder dan $ 20: ik kreeg het idee hiervoor voor het eerst op de draad voor de DX6/7 op RCGRoups.com-forums. Ik rijd met nitro-auto's, dus kocht ik een DX3. Ik heb de radio een tijdje gebruikt en mijn batterijduur was aan de betere kant van de meeste radio's - maar de DX7-bezitters begonnen
Hoe u gebruikersniveaus van NUMA toevoegt aan uw exemplaar van N met behulp van NumADD Firefox AddOn: 4 stappen

Gebruikersniveaus van NUMA toevoegen aan uw exemplaar van N NumADD Firefox-add-on gebruiken: Elke gebruiker van Metanet's N-database op gebruikersniveau NUMA weet hoe onhandig de interface is voor het kopiëren van door gebruikers gemaakte niveaus naar uw exemplaar van het spel. NumADD, elimineert de noodzaak van kopiëren en plakken en maakt het overzetten van niveaus het werk van één muisklik
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 - Ajarn

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