Descrizione
Cos’è
Il modulo encoder rotativo KY-040 è un componente utilizzato nei progetti Arduino per la gestione di input rotativi. Questo dispositivo consente di controllare il movimento in senso orario o antiorario e può essere integrato facilmente nelle applicazioni che richiedono un controllo preciso.
Caratteristiche
- Componente essenziale per i progetti Arduino
- Idealmente adatto per principianti e intermedi
- Possibilità di controllare il movimento in senso orario o antiorario
A cosa serve
Il modulo encoder rotativo KY-040 è utilizzato per creare interfacce utente personalizzate, ad esempio un contatore rotativo che mostra il numero di giri dell’encoder e permette di inviare il valore corrente premendo un pulsante. È compatibile con Arduino.
Tutorial: Come usare Modulo Encoder Rotativo KY-040
Il modulo encoder rotativo KY-040 è un dispositivo utile per i progetti Arduino che richiedono input di tipo rotativo. Ideale per principianti e intermedi, consente di controllare il movimento in senso orario o antiorario.
Cosa serve
- Arduino Uno
- Cavo USB
- Connessione al computer
Passi
- Collega i pin del modulo encoder KY-040 ai seguenti pin dell’Arduino: VCC a 5V, GND a GND, DT a pin 2, CLK a pin 3 e SW a pin 4.
- Apri Arduino IDE e crea un nuovo sketch. Inserisci il seguente codice per leggere i valori del modulo encoder KY-040.
- Compila e carica lo sketch sull’Arduino.
- Ruota l’encoder in senso orario e antiorario per vedere come cambiano i valori visualizzati.
- Premi il pulsante centrale dell’encoder per testare la sua funzione di switch.
- Verifica sul datasheet le specifiche del modulo encoder KY-040 per eventuali modifiche necessarie nel codice o nelle connessioni.
Codice di esempio
const int CLK_PIN = 3;
const int DT_PIN = 2;
const int SW_PIN = 4;
int last_DT_state = LOW;
void setup() {
Serial.begin(9600);
pinMode(CLK_PIN, INPUT);
pinMode(DT_PIN, INPUT);
pinMode(SW_PIN, INPUT_PULLUP);
}
void loop() {
int CLK_state = digitalRead(CLK_PIN);
int DT_state = digitalRead(DT_PIN);
if (CLK_state != last_DT_state) {
if (DT_state == LOW) encoderValue--;
else encoderValue++;
}
last_DT_state = CLK_state;
if (!digitalRead(SW_PIN)) Serial.println(encoderValue);
}
Mini-progetto
Crea un contatore rotativo che mostra il numero di giri dell’encoder KY-040 e premi il pulsante per inviare il valore corrente.
Errori comuni
- Impostare i pin errati durante la connessione.
- Non verificare lo stato del pulsante centrale.
- Omettere l’inizializzazione delle variabili necessarie nel codice.
Accessori consigliati
- Arduino Uno
- Stampa 3D per il supporto dell’encoder KY-040
- Display LCD
- Sensori di movimento
Domande frequenti
Come posso collegare più encoder KY-040?
Utilizza un multiplexer o modifica i pin di connessione per ogni modulo.
Qual è la differenza tra CLK e DT?
CLK indica il bordo di salita dell’encoder, mentre DT indica il bordo di discesa.





