El programa funciona igual que el realizado en la anterior entrada «variables», pero se ha programado anidando if dentro de otros if.
int a=0; // inicializo la variable a y almaceno el valor 0
int pul_1=5;// la variable pul1 vale 5 y la utilizo para indicar que el pulsador 1 esta conectado al pin 5
int pul_2=6;// indico que el pulsador 2 esta conectado al pin 6
int pul_3=7;// pulsador 3 al pin 7
int led_v=2;// led verde al pin2
int led_r=3;// led rojo al pin3
int led_a=4;// led amarillo al pin4
void setup()
{
pinMode(led_v,OUTPUT);
pinMode(led_r,OUTPUT);
pinMode(led_a,OUTPUT);
pinMode(pul_1,INPUT);
pinMode(pul_2,INPUT);
pinMode(pul_3,INPUT);
Serial.begin(9600);
}
void loop()
{
if (digitalRead(pul_1) == HIGH)
{
a=a+1;// al activar el pulsador incremento la variable a una unidad
Serial.print("el valor de la variable a es ");
Serial.print(a);
delay (500);// espero medio segundo
Serial.println(" Habilitada siguiente pulsacion ");
}
if (digitalRead(pul_2) == HIGH)
{
if (a==1) digitalWrite(led_v,HIGH);
if (a==2)
{
digitalWrite(led_v,HIGH);
digitalWrite(led_r,HIGH);
}
if (a>2)
{
digitalWrite(led_v,HIGH);
digitalWrite(led_r,HIGH);
digitalWrite(led_a,HIGH);
}
Serial.print("el valor de la variable a es ");
Serial.println(a);
delay (2000);
digitalWrite(led_v,LOW);
digitalWrite(led_r,LOW);
digitalWrite(led_a,LOW);
a=0;
Serial.println("PREPARADO PARA EL SIGUIENTE CONTAJE ");
}
}
Si tienes dudas, escribelas en comentarios.