Encoder rotativo Keyes [Risolto]

Ciao a tutti. Premetto che ho provato a cercare su forum e google. Volevo imparare ad usare un encoder rotativo con Arduino ed ho comprato questo (con foto di tutti i lati): http://www.goodluckbuy.com/keyes-ky-40-rotary-encoder-module-for-arduino.html Ha anche la possibilità di premerlo come un pulsante. Ha già le resistenze e collegamenti fatti fino ad un header a 5 pin. i 5 pin sono etichettati: - GND - + (più) - SW - DT - CLK

Ho collegato il GND a GND di Arduino, il + ai 5V. Poi il SW al pin 7 (pensando che questo fosse il "pulsante") e DT al pin 4 e CLK al pin 2. Brutalmente ho fatto uno sketch semplice dove abilito i 3 pin in input e leggo il valore digitale e lo butto su seriale.

const int encPinA = 4;
const int encPinB = 2;
const int encPinS = 7;

void setup()
{ delay(1000);
  Serial.begin(9600);
  Serial.println("go");
  pinMode(encPinA, INPUT);
  pinMode(encPinB, INPUT);
  pinMode(encPinS, INPUT);
}

void loop()
{ Serial.print(digitalRead(encPinA));
  Serial.print(" ");
  Serial.print(digitalRead(encPinB));
  Serial.print("   ");
  Serial.println(digitalRead(encPinS));
  delay(50);
}

Domanda 1: probabilmente non ho capito i collegamenti. Il SW non mi sembra il "pulsante". Sembra anzi come se il pin 7 fosse non collegato (valori a caso 0/1) Domanda 2: ruotando l'encoder mi aspettavo di vedere a ogni passo degli 0 e degli 1 per il pin 2 e 4. Magari poi dovendoli interpretare ma invece vedo valori che a volte cambiano senza ruotare nulla.

Probabilmente non ho capito nulla io di come si utilizza. Ma alcuni siti spiegano un pò con un encoder a 5 pin come il mio ma senza una schedina come la mia. Si parla di solito di 3 piedini A,C,B.

Se qualcuno mi può illuminare, ringrazio in anticipo :D

Hai provato ad abilitare i pullup interni?

Urca, hai ragione !!! :blush: Vedendo la schedina con le resistenze non pensavo fosse necessario. Abilitate e ora va.

Grazie (e anche superveloce) per la risposta :D