int LV = 4 ; // pin para led
int p1 = 22 ;
int p2 = 34;
int p3 = 35 ; // pin para pulsador
int p4 = 5 ;
int valor = 0; // variables de valor para los pulsadores
int v2 = 0;
int v3 = 0; //
int F = 0; // variable para los fallos
void setup()
{
Serial.begin(9600);
pinMode(LV, OUTPUT);
pinMode(p4, INPUT);
pinMode(p3, INPUT);
pinMode(p2, INPUT);
pinMode(p1, INPUT);
}
void loop(){
Serial.println ( " INICIO");
while (F < 3) // mientras los fallos no sean igual o mayor a 3 se cumplirá lo siguiente
{
if ( digitalRead(p2) == HIGH && v2 == 0){
valor = 15 ; // valor que recibe si pulsamos el pulsador 2
}
if (digitalRead(p1) == HIGH && digitalRead(p2) == LOW){
v2 = 16 ; // valor que recibe v2 si pulsamos p1 y p2 no esta presionado
}
if (digitalRead(p3) == HIGH && v2 + valor == 31 && digitalRead(p1) == LOW){
v3 = 5; /* condición para si pulsamos p3 y valor + v2 es 31 se da v3 a
valor 5 siempre que p1 no este pulsado */
}
if (digitalRead(p4) == HIGH && v3 ==5){ // condición para que se encienda luz
digitalWrite(LV, HIGH);
delay(5000);
digitalWrite(LV, LOW);
valor = 0; // pone valores a 0
v2 = 0;
v3 = 0;
F = 0; // reinicia el contador de fallos
}
if(digitalRead(p4) == HIGH && v3 == 0){
valor = 0;
v2 = 0;
v3 = 0;
Serial.println("todo a 0 por fallo en p4");
F = F + 1;
Serial.println(F);
delay(500);
}
}
while (1){
Serial.println("fallo en sistema, necesario reseteo de programa");
delay(5000);
}
}