//TRABAJO PRACTICO DE SISTEMA DE EMBEBIDOS: "SEMAFORO"//
//SEGUN TABLA DE PINES DADA//
const int rutrojo=8;//defino pin 8 para el led rojo del semaforo vehicular//
const int rutamarillo=9;//defino pin 9 para el led amarillo del semaforo vehicular//
const int rutverde=10;//defino pin 10 para el led verde del semaforo vehicular//
const int buzzer=11;//defino pin 11 para el buzzer//
const int pul1=2;//defino pin 2 para pulsador peatonal 1//
const int pul2=3;//defino pin 3 para pulsador peatonal 2//
const int pultest=4;//defino pin 4 para pulsador test luces y sonido//
const int rojo=13;//defino pin 8 para el led rojo del semaforo peatonal//
const int verde=12;//defino pin 12 para el led verde del semaforo peatonal//
int tension; //declaro la variable tension//
void setup() { //se repite una unica vez//
// configuro los leds como salidas//
pinMode(rutrojo,OUTPUT);
pinMode(rutamarillo,OUTPUT);
pinMode(rutverde,OUTPUT);
pinMode(rojo,OUTPUT);
pinMode(verde,OUTPUT);
//configuro el buzzer como salida//
pinMode(buzzer,OUTPUT);
//configuro los pulsadores como entrada//
pinMode(pul1,INPUT);
pinMode(pul2,INPUT);
pinMode(pultest,INPUT);
//configuro los pulsadores como entrada//
pinMode(pul1,INPUT);
pinMode(pul2,INPUT);
pinMode(pultest,INPUT);
}
void loop() { //NOTA1 loop se repite continuamentepara NOTA2 en PULL UP si presiono el pulsador es LOW NOTA3 || este operador es si al menos uno "o"binaria//
//PULSADORES PEATONALES//
// estado inicial; el semaforo vehicular en verde, buzzer apagado y el semaforo peatonal en rojo
digitalWrite(rutverde,HIGH);
digitalWrite(rojo,HIGH);
//seleccion de leds mediante llave como la practica n 3 del apunte//
tension=digitalRead(pul1);
tension=digitalRead(pul2);
if(tension==HIGH)
{//Cuando se presiona alguno de los pulsadores para peatones, se dispara la secuencia de cruce//
digitalWrite(rutverde,LOW);//se apaga el led vehicular verde//
digitalWrite(rutamarillo,HIGH);//se enciende el led vehicular amarillo//
delay(2000);//transcurren 2 segundos//
digitalWrite(rutamarillo,LOW);//se apagaga el led vehicular amarillo//
digitalWrite(rutrojo,HIGH);//se enciende el led vehicular rojo//
digitalWrite(rojo,LOW);//se apaga el led peatonal rojo//
digitalWrite(verde,HIGH);//se enciende el led peatonal verde//
digitalWrite(buzzer,HIGH);//comienza a sonar el buzzer//
delay(10000);//transcurren 10 segundos//
digitalWrite(rutrojo,LOW);//se apaga el led vehicular rojo//
digitalWrite(rutamarillo,HIGH);//se apagaga el led vehicular amarillo//
digitalWrite(verde,LOW);//se apaga el led peatonal verde//
digitalWrite(buzzer,LOW);//deja de sonar el buzzer//}
digitalWrite(rojo,HIGH);//se prende el led peatonal rojo//
delay(4000);//transcurren 4 segundos//
digitalWrite(rutamarillo,LOW);//se apagaga el led vehicular amarillo//
digitalWrite(rutverde,HIGH);//se prende el led vehicular verde//
delay(10000);//transcurren 10 segundos//
}
//PULSADOR TEST//
if(digitalRead(pultest)==LOW)//si se presiona el pulsador test//
{
digitalWrite(rutamarillo,HIGH);//se enciende el led vehicular amarillo//
digitalWrite(rutrojo,HIGH);//se enciende el led vehicular rojo//
digitalWrite(verde,HIGH);//se enciende el led peatonal verde//
digitalWrite(buzzer,HIGH);//comienza a sonar el buzzer//
delay(10000);//transcurren 10 segundos//
digitalWrite(rutamarillo,LOW);//se apaga el led vehicular amarillo//
digitalWrite(rutrojo,LOW);//se apaga el led vehicular rojo//
digitalWrite(verde,LOW);//se apaga el led peatonal verde//
digitalWrite(buzzer,LOW);//deja de sonar el buzzer//
}
}