KY-040 ultimo aggiornamento 3 marzo 2019 |
|
Il modulo KY-040 Rotary encoder module fa parte della serie "37 In 1 Sensor Module Board Set Kit For Arduino"
Questo modulo dotato di encoder rotativo che
fornisce in dati digitali, secondo il codice Gray a 2bit (per
approfondire vedere
il link), la rivoluzione in
gradi e quindi la posizione angolare dell’asse dello stesso. Può venire
utilizzato come un comune potenziometro, ma a differenza di questo non ha fine
corsa. Essendo un encoder incrementale i segnali digitali in uscita sono
proporzionali allo spostamento angolare del rotore, non è possibile leggere però
la posizione istantanea ma solo il suo spostamento e il verso di rotazione. La
posizione assoluta può essere però ricavata mantenendo il conteggio dei segnali.
Interfacciamento veloce con Arduino e qualsiasi altro microcontrollore
Un
encoder rotativo ha un numero fisso di posizioni per giro. Queste posizioni sono
facilmente percepibili come piccoli "clic" che si sentono facendolo ruotare.
L'encoder montato sul modulo KY-040 ha trenta di queste posizioni. Su un lato
dell'interruttore ci sono tre pin. Normalmente vengono indicati come A, B e C.
Nel caso del KY-040, sono orientati come mostrato. All'interno dell'encoder ci
sono due interruttori. Una volta che l'interruttore collega il pin A al pin C e
l'altro switch collega il pin B a C.
In ogni posizione dell'encoder, entrambi gli interruttori sono aperti o chiusi. Ogni clic fa sì che queste opzioni cambino stato come segue:
Se entrambi gli interruttori sono chiusi, ruotando l'encoder in senso orario o antiorario di una posizione, entrambi gli interruttori si apriranno
Se entrambi gli interruttori sono aperti, ruotando l'encoder in senso orario o antiorario di una posizione, entrambi gli interruttori si chiuderanno.
L'illustrazione seguente è rappresentativa di come viene costruito lo switch. Come puoi vedere, la posizione angolare del terminale A e del terminale B è tale che:
Ruotando l'encoder in senso orario, gli interruttori che collegano A e C cambieranno prima gli stati.
Ruotando l'encoder in senso antiorario, gli interruttori che collega B e C per cambiare prima gli stati.
Se dovessimo rappresentare l'apertura e la chiusura degli interruttori come forme d'onda, sembrerebbe qualcosa di simile.
In
pratica per determinare quale switch ha cambiato per primo gli stati è come
viene determinata la direzione di rotazione.
Se A è stato modificato prima, l'interruttore sta ruotando in senso orario. Se
invece e B che cambia stato per prima, l'interruttore ruota in senso antiorario.
Il modulo dispone di un connettore d'uscita a 5 pin
|
Il modulo è progettato in modo tale che venga emesso un valore LOW quando gli
interruttori sono chiusi e HIGH quando gli interruttori sono aperti
Il segnale LOW viene generato collegando il Pin C a GND e passandolo ai pin CLK
e DT quando gli interruttori sono chiusi.
Il segnale HIGH viene generato con un ingresso di alimentazione da 5 V e
resistori di pull-up, in modo tale che CLK e DT sono entrambi HIGH quando gli
interruttori sono aperti.
All'interno dell'encoder esiste anche un pulsante che si attiva se si preme
sull'albero, l'interruttore e normalmente aperto e si chiuderà premendolo. La
sua la funzione è utile se si desidera cambiare la funzione dell'encoder. Ad
esempio, si può utilizzare per implementare la capacità di avere aggiustamenti
grossolani e fini.
|
Elenco revisioni: | |
03/03/2019 | Emissione preliminare |