//SEMAFORO DE CRUCE
//PRACTICA 1: INICIANDO CON NODE-SIMU
int v1 = 23,a1 = 22,r1 = 21;
int v2 = 16,a2 = 4,r2 = 0;
void setup() {
pinMode(r1, OUTPUT);
pinMode(a1, OUTPUT);
pinMode(v1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(a2, OUTPUT);
pinMode(v2, OUTPUT);
}
//Logica del sistema
void loop() {
//Utilizando tabla de estados
// estado 1
digitalWrite(r1, LOW);
digitalWrite(a1, LOW);
digitalWrite(v1, HIGH);
digitalWrite(r2, HIGH);
digitalWrite(a2, LOW);
digitalWrite(v2, LOW);
delay(2000);
digitalWrite(v1, LOW);
delay(250);
digitalWrite(v1, HIGH);
delay(500);
digitalWrite(v1, LOW);
delay(250);
digitalWrite(v1, HIGH);
delay(500);
digitalWrite(v1, LOW);
delay(250);
digitalWrite(v1, HIGH);
//estado 2
digitalWrite(r1, LOW);
digitalWrite(a1, HIGH);
digitalWrite(v1, LOW);
digitalWrite(r2, HIGH);
digitalWrite(a2, LOW);
digitalWrite(v2, LOW);
delay(2000);
//estado 3.
digitalWrite(r1, HIGH);
digitalWrite(a1, LOW);
digitalWrite(v1, LOW);
digitalWrite(r2, LOW);
digitalWrite(a2, LOW);
digitalWrite(v2, HIGH);
delay(2000);
digitalWrite(v2, LOW);
delay(500);
digitalWrite(v2, HIGH);
delay(250);
digitalWrite(v2, LOW);
delay(500);
digitalWrite(v2, HIGH);
delay(250);
digitalWrite(v2, LOW);
delay(500);
digitalWrite(v2, HIGH);
//estado 4.
digitalWrite(r1, HIGH);
digitalWrite(a1, LOW);
digitalWrite(v1, LOW);
digitalWrite(r2, LOW);
digitalWrite(a2, HIGH);
digitalWrite(v2, LOW);
delay(2000);
return;
}