Tutorial - Led RGB con pulsadores
El objetivo de este tutorial consiste en combinar la utilización de pulsadores para controlar el color de un led RGB.
El modelo RGB se basa en la posibilidad de representar un color mediante la mezcla por adición de los tres colores de luz primarios: rojo, verde y azul.
Antes de adentrarnos en el montaje, enumeraremos los componentes necesarios para realizar el experimento:
1 led RGB
3 resistencias de 270 ohmios (Con 220 ohmios será suficiente, la única diferencia que encontraremos es que a menor resistencia, el led brillará con mayor intensidad, soportando con garantías este incremento)
3 pulsadores táctiles
1 placa breadboard
1 microprocesador Arduino UNO
Cables
1 placa breadboard pequeña adicional (opcional)
A continuación, vemos el diagrama del cableado:
Deberemos comprobar que la patilla más larga del led RGB sea la que esté conectada a tierra. En nuestro diagrama se trata de la segunda patilla, pero esto puede variar según el tipo de led RGB que tengamos.
Por ejemplo, en el montaje del vídeo que podéis ver al final del tutorial, se ha empleado un led RGB en el que las patillas "Red", "Green" y "Blue" se disponen de forma sucesiva, y la última patilla comenzando desde la izquierda es la que se conecta a tierra.
En el de la imagen que veis a la derecha, la disposición es diferente. Por tanto, se deberá tener en cuenta en cada caso para una correcta conexión de los pines.
Cabe destacar que se está asumiendo que se dispone de un led "Cátodo común". Si, en cambio, nuestro led es "Ánodo común", deberemos conectar el pin más largo de éste a +5V en vez de a tierra. En este caso, el ciclo de color será inverso, es decir, cuando accionemos el pulsador dispuesto a encender la luz roja, se encenderá la azul y viceversa.
Tal y como vemos en el diagrama, se está empleando la mitad de la placa breadboard, ya que la parte media de los buses de nuestra placa está separada, por lo que la corriente no tiene continuidad.
Finalmente, vamos a explicar con detalle el programa a introducir en el software de Arduino. Iremos analizando cada parte del código para entender qué se consigue con cada una de ellas.
En primer lugar, el código que vamos a introducir presupone que el led está apagado. Si mantenemos presionado alguno de los botones, el led se encenderá aumentando gradualmente su intensidad. El botón de la izquierda encenderá el color rojo, el del centro, el verde y el de la derecha, el azul.
Podremos realizar cualquier combinación con estos tres colores, teniendo en cuenta que a mayor tiempo de pulsación, obtendremos una mayor intensidad de luz. Si queremos volver a empezar con el led apagado, basta con darle al botón de reiniciar (botón rojo de la placa Arduino).
Vamos por tanto a analizar el programa a emplear:
Primero, la definición de los pines:
Tenemos tres pines de salida para controlar el led. Mediante éstos podemos controlar cuánta potencia va a cada color del led.
Necesitamos tres pines más para los pulsadores, los cuales configuraremos como pines de entrada.
- int redLEDPin = 11;
- int greenLEDPin = 10;
- int blueLEDPin = 9;
- int redSwitchPin = 7;
- int greenSwitchPin = 6;
- int blueSwitchPin = 5;
- int red = 0;
- int blue = 0;
- int green = 0;
- void setup()
- {
- pinMode(redLEDPin, OUTPUT);
- pinMode(greenLEDPin, OUTPUT);
- pinMode(blueLEDPin, OUTPUT);
- pinMode(redSwitchPin, INPUT_PULLUP);
- pinMode(greenSwitchPin, INPUT_PULLUP);
- pinMode(blueSwitchPin, INPUT_PULLUP);
- }
- void loop()
- {
- if (digitalRead(redSwitchPin) == LOW)
- {
- red ++;
- if (red > 255) red = 0;
- }
- if (digitalRead(greenSwitchPin) == LOW)
- {
- green ++;
- if (green > 255) green = 0;
- }
- if (digitalRead(blueSwitchPin) == LOW)
- {
- blue ++;
- if (blue > 255) blue = 0;
- }
- analogWrite(redLEDPin, red);
- analogWrite(greenLEDPin, green);
- analogWrite(blueLEDPin, blue);
- delay(10);
- }
0 comentarios:
Publicar un comentario