ENCENDER VARIOS LEDS CON CONSOLA
ENCENDER VARIOS LEDS CON CONSOLA
En esta práctica cuando introduces "a" en la consola, se encenderá el led rojo, cuando pones "b" , se enciende el amarillo, cuando pones "c" se enciende el verde, y cuando pones "d", se encienden todos.
Código:
//Declara puertos de entradas y salidas y variables
int led = 13; //Pin donde se encuentra el LED, salida
int yellow=12;
int green=11;
char leer; //Variable donde se almacena la letra
boolean prendido=false;
boolean prendido2=false;
boolean prendido3=false;//Estado LED la primera vez, apagado
//------------------------------------
//Funcion principal
//------------------------------------
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
Serial.begin(9600); //Inicia comunicación serial
pinMode(led, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(green,OUTPUT);
//Configurar el LED como una salida
}
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino
//Guardar en una variable el valor de la consola serial
leer=Serial.read(); // Si es la letra 'a' y además el LED está apagado
if ( (leer=='a') && (prendido==false) )
{
digitalWrite(led,HIGH); // Enciende el LED
prendido=true; // Actualiza el estado del LED
}
// Si es la letra 'a' y además el LED está encendido
else if ( (leer=='a') && (prendido==true) )
{
digitalWrite(led,LOW); // Apaga el LED
prendido=false; // Actualiza el estado del LED
}
if ( (leer=='b') && (prendido2==false) )
{
digitalWrite(yellow,HIGH); // Enciende el LED
prendido2=true; // Actualiza el estado del LED
}
// Si es la letra 'a' y además el LED está encendido
else if ( (leer=='b') && (prendido2==true) )
{
digitalWrite(yellow,LOW); // Apaga el LED
prendido2=false; // Actualiza el estado del LED
}
if ( (leer=='c') && (prendido3==false) )
{
digitalWrite(green,HIGH); // Enciende el LED
prendido3=true; // Actualiza el estado del LED
}
// Si es la letra 'a' y además el LED está encendido
else if ( (leer=='c') && (prendido3==true) )
{
digitalWrite(green,LOW); // Apaga el LED
prendido3=false; // Actualiza el estado del LED
}
if ( (leer=='d') && (prendido==false)&&(prendido2==false)&&(prendido3==false) )
{
digitalWrite(led,HIGH);
digitalWrite(green, HIGH);
digitalWrite(yellow, HIGH);// Enciende el LED
prendido=true;
prendido2=true;
prendido3=true;// Actualiza el estado del LED
}
// Si es la letra 'a' y además el LED está encendido
else if ( (leer=='d') && (prendido==true)&&(prendido2==true)&&(prendido3==true))
{
digitalWrite(led,LOW);
digitalWrite(green, LOW);
digitalWrite(yellow, LOW); // Apaga el LED
prendido=false;
prendido2=false;
prendido3=false;// Actualiza el estado del LED
}
} //Fin programa
Vídeo:
Comentarios
Publicar un comentario