lunes, 30 de noviembre de 2020

Menú simple con 3 leds y LCD en Arduino

 



Como se puede ver en el video este fue un intento de crear un menú muy básico en Arduino (utilizando un Arduino Uno) con un par de botones push, tres leds y una pantalla lcd 16x2 con interfaz I2C.

Estuve buscando varios tutoriales sobre cómo crear menús pero me parecieron un poco confusos (también me encontré un par de librerías interesantes para crear menús que espero subir en un futuro próximo). Así que al final me decidí a probar algo muy básico desde 0. Seguro que el código se puede optimizar mucho más :) (no soy buen programador, lo sé!) pero funciona!.

Las conexiones son las siguientes:

Para los leds:

Led Verde Pin 5
Led Rojo Pin 6
Led Azul Pin 7

Los ánodos (las patas largas) están conectadas a los pines arriba descritos y los cátodos a tierra (gnd) con sus respectivas resistencias de 220Ω.

En relación a los botones push, una línea de las patitas está conectada a la línea de 5V y la otra a los pines 2 y 3 con sus respectivas resistencias de 10KΩ.

El LCD:

GND GND/Tierra
VCC 5V
SCL A5
SDA A4

Antes de dejar el sketch aclaro que la lógica que seguí fue la siguiente: el menú está basado en la posición del cursor, una variable que se modifica al presionar uno de los botones y tiene tres valores: 0, 1 y 2; que corresponden a los tres colores de los leds. Según el valor se llama a las funciones que reescriben la salida del LCD modificando la posición del cursor > que indica el LED seleccionado.
Lo mismo al presionar el segundo botón, se lee el valor de la posición del cursor y según este se enciende el led correspondiente.

Como se ve, es una solución bastante sencilla para un menú de opciones sencillo, que se puede ampliar agregando posiciones al cursor y reescribiendo la salida del LCD.

Por favor si les interesó este post, o tienen críticas / dudas, dejá un comentario!

Saludos!

Les dejo el link del sketch a continuación:
https://gist.github.com/mcattani/31250d6f0daf509c0b3b7da4535b0708 

6 comentarios: