Kazalo:
- Korak 1: Impulzni tok rotacijskega dajalnika
- Korak: Pinout rotacijskega dajalnika
- 3. korak: Shema
- 4. korak: Koda
- 5. korak: Pojasnilo
- 6. korak: Izhod
Video: Vadnica rotacijskega kodirnika z Arduinom: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:08
Rotacijski dajalnik je elektronska komponenta, ki lahko spremlja vrtenje in položaj. Rotacijski dajalnik uporablja optične senzorje, ki lahko generirajo impulze, ko se vrtljivi dajalnik vrti. Uporaba rotacijskega dajalnika običajno kot mehanskega ali robotskega monitorja gibanja se lahko uporablja tudi za izbiro menija na zaslonu. Rotacijski dajalnik ima dva izhoda, tako da lahko razlikuje med negativnim (CW) in pozitivnim (CCW) vrtenjem in ima tudi en sam gumb.
Korak 1: Impulzni tok rotacijskega dajalnika
Impulzni tok, ki ga ustvari naslednji rotacijski dajalnik, je podoben zgornji sliki.
Korak: Pinout rotacijskega dajalnika
Pojasnilo:
- GND GND
- + 5V
- Gumb SW vrtljivega dajalnika ob pritisku
- Podatki DT
- Podatki CLK 2
Eden od nožic DT ali CLK mora biti priključen na prekinitveno nogo Arduino Uno, ali pa sta oba DT in CLK priključena na prekinitveni zatič.
3. korak: Shema
- GND à GND Arduino Uno
- + à + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
4. korak: Koda
V naslednji vadnici bo kot prekinitev uporabljena PIN 2 Arduino Uno, medtem ko se PIN 3 uporablja le kot običajen vnos.
#define encoder0PinA 2 #define encoder0PinB 3 #define encoder0Btn 4 int encoder0Pos = 0; void setup () {Serial.begin (9600); pinMode (kodirnik0PinA, INPUT_PULLUP); pinMode (kodirnik0PinB, INPUT_PULLUP); pinMode (kodirnik0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; void loop () {int btn = digitalRead (encoder0Btn); Serijski.tisk (btn); Serial.print (""); Serial.print (valRotary); if (valRotary> lastValRotary) {Serial.print ("CW"); } if (valRotary {
Serial.print ("CCW");
} lastValRotary = valRotary; Serial.println (""); zamuda (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } else {encoder0Pos--; } valRotary = kodirnik0Pos/2.5; }
V vrstici 10 zgornje skice se uporablja za omogočanje prekinitve nožice 2 Arduino Uno. V funkciji "doEncoder" se izračuna iz vrtljivega dajalnika. Če je vrednost DT in CLK (prekinitev zatiča Arduino Uno) enaka, se bo spremenljivka "encoder0Pos" povečala / dodala, poleg tega pa se spremenljivka "encoder0Pos" zmanjša.
5. korak: Pojasnilo
ValRotary value je vrednost števila izvedenih korakov. ValRotary vrednost dobimo z vrednostjo odčitavanja dajalnika rotacijskega senzorja, deljeno s 2,5. Iz preskusa dobimo vrednost 2,5, saj lahko en korak vrtljivega dajalnika preseže 1, zato delite z 2,5 za njegovo vrednost glede na korak in dodajanje zakasnitve branja.
Medtem ko je v vrstici 19 - 25 program za ugotavljanje, ali rotacijski rotacijski dajalnik CW ali CCW. Razlaga vrstic 19 - 25 je, ko je trenutni odčitek rotacijskega dajalnika večji od prejšnjih rotacijskih podatkov, izraženih kot CW. Če pa je trenutni odčitek manjši od prejšnjega, se navede kot CCW.
6. korak: Izhod
1 = vrednost gumba za zagon vrtljivega gumba, ko ni bil pritisnjen
Priporočena:
Zamenjava rotacijskega dajalnika ISDT Q6: 4 koraki
Zamenjava rotacijskega dajalnika ISDT Q6: Ta vadnica je namenjena ljudem, ki so dajalniki Q6 sčasoma prešli v sh*t, in so zdaj neuporabni. Moj se je začel premikati v naključnih, nerednih smereh, in tudi po ponovnem spajkanju spajkalnih spojev in čiščenju kodirnika z alkoholom, je bilo še vedno disfunkcionalno
Gumb za glasnost USB z uporabo DigiSparka in rotacijskega dajalnika: 3 koraki
Gumb za glasnost USB z uporabo DigiSparka in rotacijskega dajalnika: To je super poceni gumb za nadzor glasnosti USB. Včasih so tradicionalni gumbi bolj priročni za upravljanje stvari in ne za klikanje miške povsod. Ta projekt uporablja DigiSpark, rotacijski dajalnik in USB knjižnico Adafruit Trinket (https: //github.c
PIC vmesnik rotacijskega klicalnika: 7 korakov
PIC vmesnik rotacijskega klicalnika: Našel sem se v izobilju rotacijskih telefonov. Pravzaprav so povsod, kamor pogledam. V upanju, da jih bom nekoč videl manj, sem jih začel ločevati in dele znova uporabljati za druge namene. Iz nekega razloga sem ga dobil v brai
Vmesnik rotacijskega telefonskega števca na Arduino: 6 korakov (s slikami)
Vmesnik rotacijskega telefonskega števca z Arduinom: stari rotacijski telefon lahko uporabite za različne namene v svojih projektih Arduino - uporabite ga kot novo vhodno napravo ali uporabite Arduino za vmesnik rotacijskega telefona z računalnikom. zelo preprost vodnik, ki opisuje, kako povezati številčnico z
Kako razlagati smer vrtenja iz digitalnega rotacijskega stikala s PIC: 5 korakov
Kako razlagati smer vrtenja iz digitalnega rotacijskega stikala s PIC: Cilj tega navodila je ponazoriti, kako povezati digitalno (kvadraturno kodirano) rotacijsko stikalo z mikrokrmilnikom. Ne skrbite, razložil bom, kaj? Kvadraturno kodirano? pomeni za nas. Ta vmesnik in pripadajoča programska oprema ne bosta