El módulo encoder rotativo KY-040 es un mando digital que gira sin fin, cuenta un paso en cada clic y funciona como pulsador al presionar su eje. A diferencia de un potenciómetro, no da una posición absoluta sino cuánto y hacia dónde se ha girado; una vuelta suele tener 20 clics. Al girar, los pines CLK y DT generan dos ondas cuadradas desfasadas 90 grados, y el sentido se obtiene según cuál cambia primero. El módulo tiene 5 pines (CLK, DT, SW, + y GND), funciona entre 3,3 y 5 V e incluye resistencias pull-up en CLK y DT. En la conexión típica, + va a 5 V (3,3 V en ESP32 y Pico), CLK y DT a dos pines con interrupción (D2 y D3 en Arduino Uno) y SW a un pin configurado como INPUT_PULLUP. Como los contactos rebotan, el antirrebote o las interrupciones evitan perder clics. Se usa en menús con pantallas LCD y OLED, control de volumen y brillo, contadores y control de posición de motores paso a paso.

