L'encoder rotativo, in inglese Rotary Encoder, è una specie di potenziometro, che invia un segnale se girato in senso orario e un altro segnale se girato in senso antiorario. Spesso c'è anche la funzione che se si preme, agisce anche come bottone, per cui è adatto per impostare ad esempio un orologio.
In questo post vedremo come utilizzarlo con Arduino.Innanzitutto va montato in questo modo:
A questo punto possiamo caricare il nostro sketch:
int val;
int encoder0PinA = 2;
int encoder0PinB = 3;
int encoder0Pos = 0;
int encoder0PinALast = LOW;
int n = LOW;
void setup() {
pinMode (encoder0PinA,INPUT);
pinMode (encoder0PinB,INPUT);
Serial.begin (9600);
}
void loop() {
n = digitalRead(encoder0PinA);
if ((encoder0PinALast == LOW) && (n == HIGH)) {
if (digitalRead(encoder0PinB) == LOW) {
encoder0Pos--;
} else {
encoder0Pos++;
}
Serial.print (encoder0Pos);
Serial.print ("/");
}
encoder0PinALast = n;
}
Se tutto va bene, aprendo il nostro Serial Monitor, agendo sull'encoder, dovremmo vedere dei numeri che aumentano o diminuiscono ad ogni click sull'encoder.
Nessun commento:
Posta un commento