Sensor KY-040 encoder rotatorio 360 grados
$15,00
Encoder rotativo KY-040 de 360° con botón. Salida digital (A/B) + pulsador. Ideal para Arduino/ESP32. Perfecto para menús, volumen, ajustes o control preciso en proyectos DIY.
2 disponibles
Descripción
ℹ️ Información general
El módulo KY-040 es un encoder rotativo mecánico de 360° sin detente, ideal para aplicaciones que requieren entrada de rotación continua y precisa, como ajuste de parámetros, navegación en menús, control de volumen o configuración de dispositivos. Incluye:
El módulo KY-040 es un encoder rotativo mecánico de 360° sin detente, ideal para aplicaciones que requieren entrada de rotación continua y precisa, como ajuste de parámetros, navegación en menús, control de volumen o configuración de dispositivos. Incluye:
- 🌀 Eje rotativo con codificador incremental (2 canales: A y B)
- 🔘 Botón táctil integrado (activado al presionar el eje)
- 📏 Resolución: 20 pasos por vuelta (típico — varía según modelo; algunos tienen 24 o 30)
Perfecto para interfaces humanas en proyectos con Arduino, ESP32, Raspberry Pi Pico u otras placas compatibles. ¡Fácil de programar y muy robusto!
⚙️ Especificaciones técnicas
- 📊 Tipo: Encoder incremental mecánico (sin detente)
- 📈 Salidas:
- CLK (A): señal cuadrada fase 0°
- DT (B): señal cuadrada fase 90° (para detectar dirección)
- SW: salida digital del botón (LOW al presionar)
- ⚡ Voltaje de operación: 3.3V – 5V
- 🔌 Pines: GND, + (VCC), CLK, DT, SW
- 📏 Resolución típica: 20 pasos/vuelta (18° por paso)
- 🧱 Material: Eje metálico, cuerpo plástico resistente
- 🔋 Consumo: < 5 mA
- 📦 Dimensiones: ~20mm x 15mm
- 🎯 Dirección: Detectable mediante secuencia A/B (CW: A→B = 01→11→10→00; CCW: inverso)
🔌 Información de conexionado (detallada y práctica)
🔹 Conexión típica con Arduino Uno/Nano:
|
Pin del KY-040
|
Pin de Arduino
|
|---|---|
|
GND
|
GND
|
|
+ (VCC)
|
5V
|
|
CLK (A)
|
D2
|
|
DT (B)
|
D3
|
|
SW
|
D4
|
✅ Librería recomendada:
Encoder (por Paul Stoffregen) — la más estable y eficiente para lectura de encoders.📌 Ejemplo básico con librería
Encoder:#include <Encoder.h>
// Conectado a D2 (CLK) y D3 (DT)
Encoder myEnc(2, 3);
volatile long position = 0;
void setup() {
Serial.begin(9600);
pinMode(4, INPUT_PULLUP); // Botón en D4
}
void loop() {
long newPos = myEnc.read();
if (newPos != position) {
position = newPos;
Serial.print(«Posición: «);
Serial.println(position);
}
if (digitalRead(4) == LOW) {
Serial.println(«⚠️ Botón presionado!»);
delay(300); // Anti-rebote
}
}
⚠️ Recomendaciones clave:
- Usa interruptores externos (ej.
attachInterrupt()) para lectura precisa a alta velocidad, o la libreríaEncoderque ya lo gestiona internamente. - El encoder no tiene posición absoluta — solo detecta cambios relativos (requiere «home» si necesitas referencia).
- Para reducir rebote mecánico, la librería
Encoderya incluye filtrado por software. - Si usas ESP32, puedes conectar directamente (3.3V compatible) y usar pines GPIO con interrupción (ej. GPIO18 y GPIO19).
- No fuerces el eje lateralmente — puede dañar los contactos internos.
💡 Usos sugeridos:
- Menús en pantallas LCD/TFT con navegación intuitiva
- Control de volumen o brillo en sistemas multimedia
- Ajuste de parámetros en impresoras 3D o CNC
- Interfaces para robots o drones (ajuste de ganancia, velocidad, etc.)
- Proyectos educativos de entrada digital y lógica secuencial















Valoraciones
No hay valoraciones aún.