Módulo Rotary Encoder EC11 – Control Preciso e Intuitivo
El codificador rotativo EC11 es el componente ideal cuando necesitas un control de entrada que combine precisión, durabilidad e intuición. A diferencia de los potenciómetros que tienen un rango limitado, el encoder tiene rotación ilimitada a 360° sin tope mecánico, y el pulsador integrado permite confirmar selecciones en menús de pantalla.
¿Qué es un Encoder Rotativo y Cómo Funciona?
El encoder convierte el movimiento angular de rotación en señales digitales. Internamente, dos contactos mecánicos (Fase A y Fase B, también llamados CLK y DT) generan señales cuadradas que están desfasadas 90°. Este desfase permite al microcontrolador detectar tanto la cantidad de pasos girados como la dirección (horario o antihorario).
Especificaciones Técnicas
- Modelo: EC11
- Pulsos por revolución: 20
- Salidas: 2 señales digitales de fase (A/CLK y B/DT) + 1 pulsador (SW)
- Voltaje de operación: 3.3V a 5V DC
- Tipo de rotación: Incremental, ilimitado (sin tope)
- Compatible: Arduino, ESP32, PIC, Raspberry Pi
Configuración de Pines (5 pines)
- GND: Tierra
- VCC (+): 5V o 3.3V
- SW: Pulsador (activo LOW al presionar)
- DT: Señal de Fase B
- CLK: Señal de Fase A
Código de Ejemplo: Menú de Selección con LCD
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int CLK = 2;
const int DT = 3;
const int SW = 4;
LiquidCrystal_I2C lcd(0x27, 16, 2);
int posicion = 0;
int lastCLK = HIGH;
String opciones[] = {"Temp: 23C", "Humedad: 65%", "Presion: 1013", "Salir"};
void setup() {
pinMode(CLK, INPUT_PULLUP);
pinMode(DT, INPUT_PULLUP);
pinMode(SW, INPUT_PULLUP);
lcd.init();
lcd.backlight();
}
void loop() {
int currentCLK = digitalRead(CLK);
if (currentCLK != lastCLK && currentCLK == LOW) {
if (digitalRead(DT) != currentCLK) {
posicion++; // Horario
} else {
posicion--; // Antihorario
}
posicion = constrain(posicion, 0, 3);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Opcion " + String(posicion + 1) + ":");
lcd.setCursor(0, 1);
lcd.print(opciones[posicion]);
}
lastCLK = currentCLK;
}
Aplicaciones
- Menús en LCD/OLED: Navega opciones en tu pantalla LCD I2C con el encoder
- Control de volumen digital: Ajuste preciso en amplificadores DIY
- Posicionamiento de motores: Control fino de motores paso a paso
- Ajuste de parámetros: Configuración de brillo, temperatura, tiempo en dispositivos embebidos