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

Categoría:

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:
  • 🌀 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ía Encoder que 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 Encoder ya 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.

Sé el primero en valorar “Sensor KY-040 encoder rotatorio 360 grados”

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *