Problema con encoder

Saludos, estoy teniendo problemas de conexión con un encoder.

Estoy utilizando un Arduino Mega.

Lo que me sucede es que siempre siempre siempre tira valores constantemente independientemente de si muevo el encoder o no.

Estoy usando el encoder que aparece en la imagen como "without breakout".

Tengo conectados el A y el B en el pin 52 y 53 del arduino respectivamente.
Y el del medio conectado al GND.

Probe :
invertir el A y el B.
Probe conectar a 5v en vez de conectar al GND el cablecito del medio.

Este es el codigo que estoy probando, que es el que viene como ejemplo oficial en la pagina de arduino :
https://playground.arduino.cc/Main/RotaryEncoders

/* Read Quadrature Encoder
Connect Encoder to Pins encoder0PinA, encoder0PinB, and +5V.
Sketch by max wolf / www.meso.net
v. 0.1 - very basic functions - mw 20061220
*/
const int encoder0PinA = 52;
const int encoder0PinB = 53;
int encoder0Pos = 50;
int encoder0PinALast = LOW;
int n = LOW;
int num = 0;
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;
}

Arduino-Rotary-Encoder-Wiring-pinout-comparison.jpg