int PULSADOR=35; //Resistencia de PULLUP (cuando se activa da un LOW "0")
int LAP=12;
int LVP=14;
int LRC=23; //Todas las luces se activan a nivel alto
int LAC=22;
int LVC=21;
int tic;
int tac;
int num_interrupcion;
int n=0;
int p=0;
void parpadeoLAP()
{
digitalWrite(LAP, HIGH);
delay(300);
digitalWrite(LAP, LOW);
delay(300);
}
void setup()
{
Serial.begin(115200);
pinMode(35, INPUT);
pinMode(12, OUTPUT);
pinMode(14, OUTPUT);
pinMode(23, OUTPUT);
pinMode(22, OUTPUT);
pinMode(21, OUTPUT);
}
void loop() //¿¿LAP tiene que estar parpadeando todo el rato hasta que se enciende LVP?? --> SÍ
{
n=0;
digitalWrite(LVC, HIGH);
tic=millis();
//Solamente cuando el pulsador se pulsa "0" comienza la secuencia de cambio
//Para que comienze la secuencia de cambio tienen que haber pasado 5 segundos desde la última vez que LVC estuvo en verde
//Tengo que dejar pasar los coches cierto tiempo
do
{
tac=millis();
parpadeoLAP();
if(digitalRead(PULSADOR)==0) //Hay que dejar el pulsador pulsado ciero tiempo (apretando y soltando muy rápido no lo detecta)
n++;
Serial.print("valor n = ");
Serial.println(n);
}
while(tac-tic<5000 || (p==0 && n==0));
Serial.println("Empiezo");
p=0;
digitalWrite(LVC, LOW);
digitalWrite(LAC, HIGH);
delay(300);
digitalWrite(LAP, HIGH);
delay(300);
digitalWrite(LAP, LOW);
delay(300);
digitalWrite(LAP, HIGH);
delay(100);
digitalWrite(LAC, LOW);
digitalWrite(LRC, HIGH);
digitalWrite(LVP, HIGH);
digitalWrite(LAP, LOW);
delay(4000);
digitalWrite(LVP, LOW);
tic=millis();
do
{
tac=millis();
parpadeoLAP();
if(digitalRead(PULSADOR)==0)
p++;
Serial.print("valor p = ");
Serial.println(p);
}
while(tac-tic<1000);
digitalWrite(LRC, LOW);
delay(10);
}