Sisukord:
Video: Pöörlev kodeerija - mõistke ja kasutage seda (Arduino/muu Μkontroller): 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Pöörlemiskooder on elektromehaaniline seade, mis muudab pöörleva liikumise digitaalseks või analoogteabeks. See võib pöörata päripäeva või vastupäeva. Pöörlevaid andureid on kahte tüüpi: absoluutsed ja suhtelised (inkrementaalsed) kodeerijad.
Kui absoluutne kodeerija väljastab väärtuse, mis on proportsionaalne võlli praeguse nurgaga, siis inkrementaalne kooder väljastab võlli sammu ja selle suuna. (Sel juhul on meil inkrementaalne kodeerija)
Pöördkodeerijad muutuvad üha populaarsemaks, kuna saate ühes elektrimoodulis kasutada kahte funktsiooni: Lihtne lüliti töö kinnitamiseks ja pöördkodeerija navigeerimiseks, nt. menüü kaudu.
Inkrementaalne pöörlev kodeerija tekitab võlli pöörlemise ajal kaks väljundsignaali. Sõltuvalt suunast juhib üks signaale teist. (vt allpool)
1. samm: väljundandmete mõistmine
Nagu näete, kui kodeerimisvõll hakkab päripäeva pöörlema, langeb väljund A kõigepealt madalale ja väljund B järgneb sellele. Vastupäeva liikumine muutub vastupidiseks.
Nüüd peame selle lihtsalt rakendama oma µControlleris (ma kasutasin Arduino Nano).
Samm: ehitage vooluring
Nagu ma eelnevalt kirjeldasin, loovad väljundid HIGH ja LOW külje. Puhta KÕRGE saamiseks µKontrolleri nööpnõeltele A ja B peame lisama tõmbetakistid. Ühine tihvt C läheb LOW külje jaoks otse maapinnale.
Sisemise lüliti (surunupp) kohta teabe saamiseks kasutame kahte ülejäänud tihvti. Üks neist läheb VCC -sse ja teine µKontrolleri andmeside. Puhta LOW saamiseks peame andmestikule lisama ka tõmbetakistuse.
Samuti on võimalik kasutada µController sisemisi tõmbe- ja tõmbetakistusi!
Minu puhul näeb pinout välja selline:
- +3, 3V => +3, 3V (Arduino) (võimalik ka +5V)
- GND => GND (Arduino)
- A => Pin10
-
B =>
Kinnita
11
- C => GND
-
SW =>
Kinnita
12
Samm: koodi kirjutamine
int pinA = 10; // sisemine lüliti A int pinB = 11; // sisemine lüliti B int pinSW = 12; // lüliti (vajutatud Encoder) int encoderPosCount = 0; // algab nullist, soovi korral muutke
int positionval;
bool lüliti; int mrotateLast; int mrotate;
tühine seadistus () {
int mrotateLast = digitalRead (pinA); Seriaalne algus (9600); viivitus (50); }
void loop () {readencoder (); if (readswitch () == 1) {Serial.println ("Switch = 1"); }}
int readencoder () {
mrotate = digitalRead (pinA); if (mrotate! = mrotateLast) {// nupp pöörleb if (digitalRead (pinB)! = mrotate) {// lüliti A muutus kõigepealt -> pöörlev päripäeva kodeerijaPosCount ++; Serial.println ("pööratud päripäeva"); } else {// vahetati kõigepealt lüliti B-> pöörlev vastupäeva kodeerijaPosCount--; Serial.println ("pööratud vastupäeva"); }
Serial.print ("Kodeerija asukoht:"); Serial.println (encoderPosCount); Serial.println (""); } mrotateLast = mrotate; return encoderPosCount; } bool readswitch () {
kui (digitalRead (pinSW)! = 0) {// lülitit vajutatakse
while (digitalRead (pinSW)! = 0) {} // lüliti on praegu vajutatud switchval = 1; } else {switchval = 0;} // lüliti on vajutamata tagasitulek switchval; }
Nüüd saate kodeerijat pöörata ja muutuja encoderPosCount loeb üles, kui pöörate päripäeva, ja loendab alla, kui keerate vastupäeva.
See ongi! Lihtsalt ja kasulik.
Muutke ja täitke julgelt koodi. Saate seda oma projektis rakendada.
Laadin üles ka LED -projekti, kus kasutasin kodeerijat oma valgusdioodide heleduse määramiseks.
Soovitan:
Juhuslikud alalisvoolumootori PWM katsed + kodeerija tõrkeotsing: 4 sammu
Juhuslikud alalisvoolumootori PWM -katsed + kodeerija veaotsing: sageli on aegu, kus kellegi prügikast on teise aare, ja see oli minu jaoks üks neist hetkedest. Kui olete mind jälginud, siis ilmselt teate, et võtsin ette tohutu projekti, et luua jääkidest oma 3D -printer CNC. Need tükid on
Pöörleva kodeerija nupp: 6 sammu
Pöörleva kodeerija nupp: see on pöörleval kodeerijal põhinev pöörlev kaugjuhtimispult. Sellel on järgmised funktsioonid. Aku töötab väga väikese voolutarbega, kui see on aktiveeritud Automaatne aktiveerimine, kui juhtnuppu pööratakse Automaatne uni pärast tegevusetuse perioodi Seadistamine
Pöörlev kodeerija Arduino Nano abil: 4 sammu
Arduino Nano kasutav pöörlev kodeerija: Tere kõigile! Selles artiklis teen õpetuse, kuidas kasutada Arduino Nano abil pöörlevat kodeerijat. Selle pöörleva kodeerija kasutamiseks pole vaja välist raamatukogu. Seega saame programme otse luua ilma esmalt raamatukogusid lisamata. ok alustame sellest
Pöörlev kodeerija: kuidas see töötab ja kuidas seda Arduinoga kasutada: 7 sammu
Pöörlev kodeerija: kuidas see töötab ja kuidas seda Arduinoga kasutada: seda ja muid hämmastavaid õpetusi saate lugeda ElectroPeaki ametlikul veebisaidil. Ülevaade Selles juhendis saate teada, kuidas kasutada pöördkodeerit Esiteks näete pöörleva kodeerija kohta teavet ja seejärel saate teada, kuidas
Arduino menüü Nokia 5110 LCD -ekraanil pöörleva kodeerija abil: 6 sammu (koos piltidega)
Arduino menüü Nokia 5110 LCD -ekraanil pöörleva kodeerija abil: Kallid sõbrad, tere tulemast teise õpetuse juurde! Selles videos õpime, kuidas koostada populaarse Nokia 5110 LCD -ekraani jaoks oma menüü, et muuta meie projektid kasutajasõbralikumaks ja võimekamaks. Alustame! See on projekt