Cambiar colores de un led RGB con pulsador

 

En este tutorial aprenderemos como usar un pulsador para cambiar el color del led RGB por cada pulsación.

 

Necesitaremos:

 

1 Arduino  UNO Rev3
1 LED RGV cátodo común
1 Pulsador
1 Resistencia 10k[Ω]
3 Resistencias 220[Ω]
8 Cables de conexión

 

El siguiente circuito muestra la correcta conexión de las componentes. Cabe resaltar que en el cátodo del pulsador (conexión a tierra)  debe tener una resistencia de 10k[Ω] para que la corriente se valla hacia el pin digital 7 de Arduino (recordar que la corriente elige el camino con menos resistencia y debe haber conexión de tierra para el pulsador)

Untitled Sketch_bb

El siguiente código programa nuestro Arduino para que, al apretar el pulsador, elija entre distintas combinaciones de colores y así cambiar el color con cada pulso de éste.

Primero, por buenas costumbres de programación, se guardan variables enteras que utilizaremos para el tutorial, tanto de entradas como salidas de Arduino, además de una variable auxiliar que luego utilizaremos. Luego, en la función setup,  se establecen cuáles de estos serán entradas y cuáles serán salidas. Enseguida en la función loop debemos poner el código que le envíe a Arduino la señal para encender el led al presionar el pulsador: ¿Qué pasaría si mantenemos presionado el pulsador? Recordemos que Arduino tiene un reloj de 16 MHz, es decir, las instrucciones se ejecutan cada 62.5µ [s] (micro segundos), por lo tanto al mantenerlo presionado, se enviaría la señal tan rápido que nuestra visión no lograría distinguir el cambio de color. Para corregir este problema se creó un algoritmo que ocupa la variable auxiliar antes mencionada que guarda el estado del pulsador tras cada llamado de la función loop, así, si el estado anterior es igual al actual (pulsador presionado), no se ejecutara nada, por ende la única vez que el estado actual es diferente al estado anterior (y donde sí se ejecutara la función que cambia el color) es en el primer llamado de loop desde que se apretó el pulsador. Además de esto el algoritmo guarda tras cada “pulso”  (pulsar y soltar) un contador que será el argumento de la función “color” que es la que cambiará el color del led. Recordemos que en el lenguaje Arduino podemos llamar una función antes de definirla; en este tutorial llamamos la función “color” al final de nuestro loop y la definimos después escribir las funciones setup y loop. La función “color” es un simple switch case, cuyo switch es el contador antes mencionado y los casos las distintas combinaciones de colores.

Finalmente una Simulación del circuito online:

 

Quizás también te guste...

Agregar un comentario