Encoder Arduino KY-040
Encoder rotativo KY-040 con pulsador integrado en el eje: 20 posiciones por vuelta, giro continuo de 360º sin topes y salida digital de dos canales. El codificador para Arduino más usado en menús, volúmenes y ajustes de valor.
Encoder Arduino KY-040: el rotary encoder de los menús
El KY-040 es el rotary encoder más extendido en proyectos con Arduino: un codificador rotatorio incremental de 20 pulsos por revolución (una posición cada 18º, con clic físico en cada paso) montado en placa con conector de 5 pines. A diferencia de un mando analógico, aquí cada giro produce pulsos digitales que el micro cuenta directamente, sin conversión ni calibración.
Sus dos salidas CLK y DT van desfasadas entre sí (salida en cuadratura): según cuál cambia primero, el programa sabe si el giro es horario o antihorario, además de cuántos pasos ha avanzado. La placa incluye las resistencias pull-up, así que se conecta a cualquier pin digital sin componentes externos; para lecturas sin saltos conviene usar pines con interrupción y filtrar los rebotes por software. El eje además es un pulsador (pin SW, activo a nivel bajo): girar para ajustar, pulsar para confirmar — la mecánica completa de un menú con un solo componente.
Frente a un potenciómetro para Arduino, el encoder no tiene topes: gira 360º de forma continua en ambos sentidos, y lo que mide es movimiento relativo, no posición absoluta. Eso lo hace ideal cuando el valor a controlar vive en el software —volumen, brillo, navegación por opciones, ajuste fino de parámetros— y el potenciómetro sigue siendo mejor cuando necesitas leer una posición física fija.
Al tratarse de simples contactos mecánicos, funciona igual alimentado a 5 V o a 3,3 V, con un consumo mínimo. Y si lo que buscas no es un mando de control sino medir la velocidad de giro de un motor, esa tarea es del encoder óptico infrarrojo de velocidad
Datos técnicos encoder KY-040
- Codificador rotatorio incremental con salida en cuadratura (2 canales, código Gray)
- Resolución: 20 pulsos por revolución (una posición cada 18º, con retención mecánica)
- Giro continuo de 360º sin topes, en ambos sentidos
- Pulsador integrado en el eje (pin SW, activo a nivel bajo)
- Pines: CLK (canal A), DT (canal B), SW, + y GND
- Resistencias pull-up integradas en placa: conexión directa a pines digitales
- Alimentación: 5 V DC (funciona también a 3,3 V al ser contactos mecánicos)
- Consumo: inferior a 10 mA
- Temperatura de funcionamiento: -40 a +85 °C
- Dimensiones: aprox. 30 x 20 x 30 mm · Peso: aprox. 5 g