INHOUDSOPGAWE:
Video: Rotary Encoder - verstaan en gebruik dit (Arduino/ander ΜController): 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
'N Draaikodeerder is 'n elektro-meganiese toestel wat rotasiebeweging omskakel in digitale of analoog inligting. Dit kan met die kloksgewys of teen die kloksgewys draai. Daar is twee tipes roterende encoders: Absolute en relatiewe (inkrementele) encoders.
Terwyl 'n absolute encoder 'n waarde uitstuur wat eweredig is aan die huidige ashoek, gee 'n inkrementele encoder die trap van die as en sy rigting uit. (In hierdie geval het ons 'n inkrementele encoder)
Draaikoders word meer en meer gewild omdat u twee funksies in een elektriese module kan gebruik: 'n Eenvoudige skakelaar om die werking te bevestig en die draaikodeerder om te navigeer, bv. deur 'n spyskaart.
'N Inkrementele roterende enkodeerder genereer twee uitsetseine terwyl die as daarvan draai. Afhangende van die rigting, lei een van die seine die ander. (sien onder)
Stap 1: Begrip van die uitsetdata
Soos u kan sien wanneer die encoder -as met die kloksgewys begin draai, val Output A eers op LOW en volg output B daarna. Teen die rigting van die klok draai die operasie teenoorgestelde.
Nou moet ons dit net implementeer op ons µController (ek het 'n Arduino Nano gebruik).
Stap 2: Bou die stroombaan
Soos ek voorheen beskryf het, skep die uitsette 'n HOOG en 'n LAE flank. Om 'n skoon HOOG te kry by die gegewenspen A en B van die µController, moet ons optrekweerstands byvoeg. Die gewone pen C gaan reguit grond toe vir die LAE flank.
Om inligting oor die interne skakelaar (drukknop) te kry, gebruik ons die ander twee penne. Een van hulle gaan na VCC en die ander een na 'n data -pen van die µController. Ons moet ook 'n aftrekweerstand by die gegewenspen voeg om 'n skoon LOW te kry.
Dit is ook moontlik om interne pull-up en pull-down weerstande van u µController te gebruik!
In my geval lyk die pinout soos volg:
- +3, 3V => +3, 3V (Arduino) (ook +5V moontlik)
- GND => GND (Arduino)
- A => Speld 10
-
B =>
Speld
11
- C => GND
-
SW =>
Speld
12
Stap 3: Skryf die kode
int pinA = 10; // interne skakelaar A int pinB = 11; // interne skakelaar B int pinSW = 12; // skakelaar (gedrukte Encoder) int encoderPosCount = 0; // begin by nul, verander as u wil
int positionval;
bool switchval; int mrotateLast; int mrotate;
ongeldige opstelling () {
int mrotateLast = digitalRead (pinA); Serial.begin (9600); vertraging (50); }
leemte -lus () {readencoder (); if (readwitch () == 1) {Serial.println ("Switch = 1"); }}
int readencoder () {
mrotate = digitalRead (pinA); if (mrotate! = mrotateLast) {// knop draai as (digitalRead (pinB)! = mrotate) {// skakelaar A eers verander -> draai kloksgewys encoderPosCount ++; Serial.println ("kloksgewys gedraai"); } anders {// skakelaar B eers verander-> draai linksom encoderPosCount--; Serial.println ("linksom gedraai"); }
Serial.print ("Encoder Position:"); Serial.println (encoderPosCount); Serial.println (""); } mrotateLast = mrotate; terugkeer encoderPosCount; } bool leesskakelaar () {
as (digitalRead (pinSW)! = 0) {// skakelaar ingedruk word
terwyl (digitalRead (pinSW)! = 0) {} // skakelaar tans ingedruk word switchval = 1; } anders {switchval = 0;} // switch is ongedrukte return switchval; }
Nou kan u die encoder draai en die veranderlike encoderPosCount sal tel as u met die kloksgewys draai en aftel as u linksom draai.
Dis dit! Eenvoudig en handig.
Voel vry om die kode te verander en uit te voer. U kan dit in u projek implementeer.
Ek sal ook 'n LED -projek oplaai waar ek die encoder gebruik het om die helderheid van my LED's in te stel.
Aanbeveel:
Uitdrukkingsrobot- as dit dan dit is: 5 stappe
Expression Robot- If This Than That: Hallo en welkom by my Expression Robot Instructable.DIt is de instructable waar ik het tijdens mijn les van If This Than That.De Expression robot is gemaakt met als doel om jou gebruikers te stimuleren bij jezelfreflectie . Die robot saam
Rotary Encoder met behulp van Arduino Nano: 4 stappe
Rotary Encoder Using Arduino Nano: Hallo almal, in hierdie artikel sal ek 'n handleiding maak oor hoe om 'n roterende encoder te gebruik met behulp van Arduino Nano. U het nie 'n eksterne biblioteek nodig om hierdie Rotary -encoder te gebruik nie. Ons kan dus direk programme skep sonder om eers biblioteke by te voeg. ok, laat ons begin
Rotary Encoder: hoe dit werk en hoe om dit met Arduino te gebruik: 7 stappe
Rotary Encoder: hoe dit werk en hoe om dit met Arduino te gebruik: u kan hierdie en ander wonderlike tutoriale lees op die amptelike webwerf van ElectroPeak Oorsig In hierdie tutoriaal leer u hoe u die roterende encoder moet gebruik. Eerstens sien u inligting oor die rotasie -encoder, en dan leer u hoe u
Skryf dit ! Maak dit ! Deel dit!: 4 stappe
Skryf dit ! Maak dit ! Deel dit!: My studente het Legos gebruik om kreatiwiteit by te dra tot hul skryfwerk, skryfwerk en om hul werk digitaal met hul gesin en met hul maats in die klas te wys
Hoe om musiek te kry van byna enige (Haha) webwerf (solank u dit kan hoor, kan u dit kry Ok, as dit in Flash is ingebed, kan u dit nie redigeer nie) !!!!! Bygevoeg inligting: 4 stappe
Hoe om musiek te kry van byna enige (Haha) webwerf (solank u dit kan hoor, kan u dit kry … Ok, as dit in Flash is ingebed, kan u dit nie redigeer nie) !!!!! Bygevoeg inligting: as u ooit na 'n webwerf gaan en 'n liedjie speel waarvan u hou en dit wil hê, is dit die instruksie dat u nie my skuld het as u iets deurmekaar maak nie (die enigste manier waarop dit kan gebeur, is as u sonder rede begin om dinge uit te vee) ) Ek kon musiek kry vir