Cuprins:
- Pasul 1: Fluxul de impuls al codificatorului rotativ
- Pasul 2: fixarea codificatorului rotativ
- Pasul 3: Schematic
- Pasul 4: Cod
- Pasul 5: Explicație
- Pasul 6: ieșire
Video: Tutorial codificator rotativ cu Arduino: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Codificatorul rotativ este o componentă electronică capabilă să monitorizeze mișcarea și poziția la rotire. Codificatorul rotativ utilizează senzori optici care pot genera impulsuri atunci când codificatorul rotativ se rotește. Aplicarea codificatorului rotativ, de obicei ca monitor de mișcare mecanică sau robotică, poate fi utilizată și pentru selectarea meniului pe afișaj. Codificatorul rotativ are două ieșiri, astfel încât să poată distinge între rotația negativă (CW) și pozitivă (CCW) și are, de asemenea, un singur buton.
Pasul 1: Fluxul de impuls al codificatorului rotativ
Fluxul de impuls generat de următorul codificator rotativ este ca imaginea de mai sus.
Pasul 2: fixarea codificatorului rotativ
Explicaţie:
- GND GND
- + + 5V
- Butonul SW al codificatorului rotativ la apăsare
- Date DT
- Date CLK 2
Unul dintre pinii DT sau CLK trebuie conectat la piciorul de întrerupere al Arduino Uno sau ambii DT și CLK sunt conectați la pinul de întrerupere.
Pasul 3: Schematic
- GND à GND Arduino Uno
- + à + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
Pasul 4: Cod
În următorul tutorial, care va fi folosit ca întrerupere, este PIN-ul 2 al Arduino Uno, în timp ce PIN-ul 3 este utilizat doar ca intrare obișnuită.
#define encoder0PinA 2 # define encoder0PinB 3 #define encoder0Btn 4 int encoder0Pos = 0; void setup () {Serial.begin (9600); pinMode (codificator0PinA, INPUT_PULLUP); pinMode (codificator0PinB, INPUT_PULLUP); pinMode (codificator0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; bucla void () {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 (""); întârziere (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } else {encoder0Pos--; } valRotary = encoder0Pos / 2.5; }
În linia 10 a schiței de mai sus este utilizată pentru a activa întreruperea pinului 2 Arduino Uno. În funcția "doEncoder" se calculează din codificatorul rotativ. Dacă valoarea DT și CLK (întrerupere pin a Arduino Uno) este aceeași, atunci variabila "encoder0Pos" va fi incrementată / adăugată, pe lângă această condiție, variabila "encoder0Pos" este decrementată.
Pasul 5: Explicație
Valoarea ValRotary este valoarea numărului de pași care s-au executat. Valoarea ValRotary este obținută din valoarea de citire a codificatorului senzorului rotativ împărțită la 2,5. Din test se obține o valoare de 2,5, deoarece o etapă a codificatorului rotativ poate depăși 1, deci împărțiți la 2,5 pentru valoarea sa în funcție de perstep și, de asemenea, adăugarea întârzierii de citire.
În timp ce pe linia 19-25 este un program pentru a determina dacă codificatorul rotativ rotativ CW sau CCW. Explicația liniilor 19 - 25 este atunci când citirea curentă a codificatorului rotativ este mai mare decât datele rotative anterioare exprimate atunci ca CW. În timp ce, dacă citirea curentă este mai mică decât citirea anterioară, atunci este menționată ca CCW.
Pasul 6: ieșire
1 = valoarea butonului de pornire a rotativului când nu a fost apăsat
Recomandat:
Timer cu Arduino și codificator rotativ: 5 pași
Temporizator cu Arduino și codificator rotativ: Temporizatorul este un instrument folosit adesea atât în activități industriale, cât și în gospodărie. Acest ansamblu este ieftin și ușor de realizat. Este, de asemenea, foarte versatil, putând încărca un program ales în funcție de nevoi. Există mai multe programe scrise de mine, pentru Ardui
Timer de alimentare cu Arduino și codificator rotativ: 7 pași (cu imagini)
Timer de alimentare cu Arduino și codificator rotativ: Acest timer de alimentare se bazează pe temporizatorul prezentat la: https: //www.instructables.com/id/Timer-With-Arduin … Un modul de alimentare cu energie și un SSR (releu de stare solidă) ) au fost atașate la acesta. Sarcini de putere de până la 1KW pot fi operate și cu modificări minime l
Cum se folosește motorul pas cu pas ca codificator rotativ și afișaj OLED pentru pași: 6 pași
Cum se folosește motorul pas cu pas ca codificator rotativ și afișaj OLED pentru pași: În acest tutorial vom învăța cum să urmăriți pașii motorului pas cu pas pe afișajul OLED. Urmăriți un videoclip demonstrativ. Creditul pentru tutorialul original este destinat utilizatorului YouTube „sky4fly”
Codificator rotativ - Înțelegeți și utilizați-l (Arduino / alt controler Μ): 3 pași
Codificator rotativ - Înțelegeți-l și utilizați-l (Arduino / alt controler Μ): Un codificator rotativ este un dispozitiv electromecanic care convertește mișcarea de rotație în informații digitale sau analogice. Se poate roti în sensul acelor de ceasornic sau invers. Există două tipuri de codificatoare rotative: codificatoare absolute și relative (incrementale)
Codificator rotativ folosind Arduino Nano: 4 pași
Codificator rotativ folosind Arduino Nano: Bună tuturor, în acest articol voi face un tutorial despre cum să utilizați un codificator rotativ folosind Arduino Nano. Pentru a utiliza acest codificator rotativ nu aveți nevoie de o bibliotecă externă. Deci putem crea direct programe fără a adăuga mai întâi biblioteci. ok Să începem