Descripción
Qué es
El módulo KY-040 de encoder rotativo es un componente utilizado en proyectos Arduino para la gestión de entradas rotativas. Este dispositivo permite controlar el movimiento en sentido horario o antihorario y puede integrarse fácilmente en aplicaciones que requieren un control preciso.
Características
- Componente esencial para proyectos Arduino
- Ideal para principiantes e intermedios
- Posibilidad de controlar el movimiento en sentido horario o antihorario
Para qué sirve
El módulo KY-040 de encoder rotativo se utiliza para crear interfaces de usuario personalizadas, por ejemplo, un contador rotativo que muestra el número de vueltas del encoder y permite enviar el valor actual presionando un pulsador. Es compatible con Arduino.
Tutorial: Cómo usar el módulo KY-040 de encoder rotativo
El módulo encoder KY-040 es un dispositivo útil para proyectos Arduino que requieren entrada de tipo rotativo. Ideal para principiantes e intermedios, permite controlar el movimiento en sentido horario o antihorario.
Qué necesitas
- Arduino Uno
- Cable USB
- Conexión al ordenador
Pasos
- Conecta los pines del módulo encoder KY-040 a los siguientes pines del Arduino: VCC a 5V, GND a GND, DT a pin 2, CLK a pin 3 y SW a pin 4.
- Abre Arduino IDE y crea un nuevo sketch. Inserta el siguiente código para leer los valores del módulo encoder KY-040.
- Compila y carga el sketch en el Arduino.
- Gira el encoder en sentido horario y antihorario para ver cómo cambian los valores visualizados.
- Presiona el pulsador central del encoder para probar su función de interruptor.
- Verifica el datasheet del módulo encoder KY-040 para posibles modificaciones necesarias en el código o en las conexiones.
Código de ejemplo
const int CLK_PIN = 3;
const int DT_PIN = 2;
const int SW_PIN = 4;
int last_DT_state = LOW;
void setup() {
Serial.begin(9600);
pinMode(CLK_PIN, INPUT);
pinMode(DT_PIN, INPUT);
pinMode(SW_PIN, INPUT_PULLUP);
}
void loop() {
int CLK_state = digitalRead(CLK_PIN);
int DT_state = digitalRead(DT_PIN);
if (CLK_state != last_DT_state) {
if (DT_state == LOW) encoderValue--;
else encoderValue++;
}
last_DT_state = CLK_state;
if (!digitalRead(SW_PIN)) Serial.println(encoderValue);
}
Miniproyecto
Crea un contador rotativo que muestra el número de giros del encoder KY-040 y presiona el botón para enviar el valor actual.
Errores comunes
- Configurar los pines incorrectos durante la conexión.
- No verificar el estado del botón central.
- Omitir la inicialización de las variables necesarias en el código.
Accesorios recomendados
- Arduino Uno
- Impresión 3D para el soporte del encoder KY-040
- Display LCD
- Sensores de movimiento
Preguntas frecuentes
¿Cómo puedo conectar más de un encoder KY-040?
Utiliza un multiplexor o modifica los pines de conexión para cada módulo.
¿Cuál es la diferencia entre CLK y DT?
CLK indica el borde de subida del encoder, mientras que DT indica el borde de bajada.







Valoraciones
No hay valoraciones aún.