sta semana continuamos con la segunda edicin de nuestro video tutorial sobre Arduino!!
Hoy continuamos un poco sobre la linea bsica, sta vez utilizaremos un diodo LED de tres colores (RGB) junto con tres pulsadores como mtodo de entrada.
Podremos variar la intensidad de cada color mediante los botones, por lo que manejaremos el inicio de un dispositivo de entrada por lo que nuestro montaje responde a "estimulos" exteriores y no slo nos basamos en encender un LED.
Cmo s que estais ansiosos, no os entretengo ms y os dejo la segunda edicin en video a continuacin...
Cmo siempre y por supuesto, estamos tambin ansiosos de ver vuestros avances y por supuesto vuestras sugerencias que nos fueron llegando a kilos toda sta semana, asi que dejar vuestros comentarios y tambin podeis comenzar a calentar motores ya que en la siguiente edicin os daremos un poco ms de caa con un proyecto algo ms complejo y geek... asi que atentos!
Video Tutorial Arduino: Led RGB y Pulsadores from BricoGeek on Vimeo.
Lista de materiales y descargas
Código fuente:
(Incluye placa de prototipo, cable USB y varios componentes)
/***********************************
Tutorial Diodos LED Tricolor y Pulsadores
Oscar Gonzalez - Marzo 2009
www.BricoGeek.com
Debes conectar el Diodo LED RGB según los pines de configuración indicados como
"ledRojo", "ledAzul" y "ledVerde". Lo mismo para los botones, con sus respectivas
resistencias como indicado en el video tutorial.
Básicamente se trata de enviar un valor de entre 0 y 254 a cada color mediante la función analogWrite() a la cual
indicamos el PIN a utilizar y el valor a enviar. Podemos utilizar otros pines, pero es muy importante utilizar los pines
indicados como "PWM" ya que de no utilizarlo, no podremos variar el color y el programa no tendrá efecto alguno.
Utiliza éste código como mejor te guste ya que es totalmente libre, aunque siempr ese agradece algún comentario
sobre el autor original! :)
************************************/
// Define los pines a utilizar para cada color
int ledRojo=3;
int ledAzul=5;
int ledVerde=6;
// Guarda los valores a signar a cada color (0-254)
int ValorRojo=254;
int ValorVerde=254;
int ValorAzul=254;
// Define los pines utilizados por los botones
int BotonSelect = 8;
int BotonReduce = 9;
int BotonIncrementa = 10;
int ledSeleccionado = 0;
void setup()
{
// Hay que indicar que lo pines utilizados por los botones son de ENTRADA
pinMode(BotonSelect, INPUT);
pinMode(BotonReduce, INPUT);
pinMode(BotonIncrementa, INPUT);
analogWrite(ledRojo, 255);
}
// Valor por defecto: Rojo
// 0= Rojo, 1=Verde, 2=Azul
int pinLed = 0;
void loop()
{
int valorLed = 0;
if (digitalRead(BotonSelect) == HIGH)
{
pinLed++;
// Para no pasarnos de vueltas
if (pinLed > 2) { pinLed=0; }
// Apagamos todos los LED ya qu eluego se mostrará sólo el led seleccionado
analogWrite(ledRojo, 0);
analogWrite(ledVerde, 0);
analogWrite(ledAzul, 0);
// Esperamos a que el boton se suelte
while (digitalRead(BotonSelect) == HIGH) { }
delay(10); // Esperamos un poquito más...
}
// Comprobamos si se incrementa el valor
if (digitalRead(BotonIncrementa) == HIGH)
{
if (pinLed == 0) { ValorRojo++; }
if (pinLed == 1) { ValorVerde++; }
if (pinLed == 2) { ValorAzul++; }
delay(5);
}
// Comprobamos si se reduce el valor
if (digitalRead(BotonReduce) == HIGH)
{
if (pinLed == 0) { ValorRojo--; }
if (pinLed == 1) { ValorVerde--; }
if (pinLed == 2) { ValorAzul--; }
delay(5);
}
// Esto para no pasarse de vueltas en el valor de salida (0-254)
if (ValorRojo > 254) { ValorRojo=254; }
if (ValorRojo < 0) { ValorRojo=0; }
if (ValorVerde > 254) { ValorVerde=254; }
if (ValorVerde < 0) { ValorVerde=0; }
if (ValorAzul > 254) { ValorAzul=254; }
if (ValorAzul < 0) { ValorAzul=0; }
// Actualiza el valor del color seleccionado
if (pinLed == 0) { analogWrite(ledRojo, ValorRojo); }
if (pinLed == 1) { analogWrite(ledVerde, ValorVerde); }
if (pinLed == 2) { analogWrite(ledAzul, ValorAzul); }
}
Debes conectar el Diodo LED RGB según los pines de configuración indicados como "ledRojo", "ledAzul" y "ledVerde". Lo mismo para los botones, con sus respectivas resistencias como indicado en el video tutorial.
Básicamente se trata de enviar un valor de entre 0 y 254 a cada color mediante la función analogWrite() a la cual indicamos el PIN a utilizar y el valor a enviar. Podemos utilizar otros pines, pero es muy importante utilizar los pines indicados como "PWM" ya que de no utilizarlo, no podremos variar el color y el programa no tendrá efecto alguno.
Utiliza éste código como mejor te guste ya que es totalmente libre, aunque siempre se agradece algún comentario sobre el autor original! :)
