ARDUINO LED BICOLOR
Necesitaremos:
- 1 led biclor
- 3 botones
- 1 resistencia de 220
- 3 resistencias de 10k
- cables
EL CODIGO
// los pines para cada color
int ledRojo= 9;
int ledVerde= 10;
// Guarda los valores para cada color (0-254)
int ValorRojo=254;
int ValorVerde=254;
// pines utilizados para los botones
int BotonSelect = 2;
int BotonReduce = 3;
int BotonIncrementa = 4;
int ledSeleccionado = 0;
void setup()
{
// 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
int pinLed = 0;
void loop()
{
int valorLed = 0;
if (digitalRead(BotonSelect) == HIGH)
{
pinLed++;
// Para no pasarse rapido
if (pinLed > 1) { pinLed=0; }
// Apagamos todos los LED ya qu eluego se mostrará sólo el led seleccionado
analogWrite(ledRojo, 0);
analogWrite(ledVerde, 0);
// Esperamos a que el boton se suelte
while (digitalRead(BotonSelect) == HIGH) { }
delay(10); // Esperamos un poquito
}
// Comprobamos si se incrementa el valor
if (digitalRead(BotonIncrementa) == HIGH)
{
if (pinLed == 0) { ValorRojo++; }
if (pinLed == 1) { ValorVerde++; }
delay(5);
}
// se reduce el valor
if (digitalRead(BotonReduce) == HIGH)
{
if (pinLed == 0) { ValorRojo--; }
if (pinLed == 1) { ValorVerde--; }
delay(5);
}
// 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; }
// Actualiza el valor del color seleccionado
if (pinLed == 0) { analogWrite(ledRojo, ValorRojo); }
if (pinLed == 1) { analogWrite(ledVerde, ValorVerde); }
}
BIEN ESPERO QUE LES GUSTE
int ledRojo= 9;
int ledVerde= 10;
// Guarda los valores para cada color (0-254)
int ValorRojo=254;
int ValorVerde=254;
// pines utilizados para los botones
int BotonSelect = 2;
int BotonReduce = 3;
int BotonIncrementa = 4;
int ledSeleccionado = 0;
void setup()
{
// 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
int pinLed = 0;
void loop()
{
int valorLed = 0;
if (digitalRead(BotonSelect) == HIGH)
{
pinLed++;
// Para no pasarse rapido
if (pinLed > 1) { pinLed=0; }
// Apagamos todos los LED ya qu eluego se mostrará sólo el led seleccionado
analogWrite(ledRojo, 0);
analogWrite(ledVerde, 0);
// Esperamos a que el boton se suelte
while (digitalRead(BotonSelect) == HIGH) { }
delay(10); // Esperamos un poquito
}
// Comprobamos si se incrementa el valor
if (digitalRead(BotonIncrementa) == HIGH)
{
if (pinLed == 0) { ValorRojo++; }
if (pinLed == 1) { ValorVerde++; }
delay(5);
}
// se reduce el valor
if (digitalRead(BotonReduce) == HIGH)
{
if (pinLed == 0) { ValorRojo--; }
if (pinLed == 1) { ValorVerde--; }
delay(5);
}
// 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; }
// Actualiza el valor del color seleccionado
if (pinLed == 0) { analogWrite(ledRojo, ValorRojo); }
if (pinLed == 1) { analogWrite(ledVerde, ValorVerde); }
}