//Semaforo interativo
//Fernando Ferreira Silva, 18/02/2014
//Licença:GPL
int car_verm = 12;
int car_ama = 11;
int car_verde = 10;
int ped_verm = 9;
int ped_verde = 8;
int botao = 2;
int crossTime = 5000;
unsigned long changeTime;
void setup(){
pinMode(car_verm, OUTPUT);
pinMode(car_ama, OUTPUT);
pinMode(car_verm, OUTPUT);
pinMode(car_verde, OUTPUT);
pinMode(ped_verm, OUTPUT);
pinMode(ped_verde, OUTPUT);
pinMode(botao, INPUT);
digitalWrite(car_verde, HIGH);
digitalWrite(ped_verm, HIGH);
}
void loop(){
int state = digitalRead(botao); //verifica estado de S1
if (state == HIGH && (millis() - changeTime) > 5000){
changeLights();
}
}
void changeLights(){
digitalWrite(car_verde, LOW);
digitalWrite(car_ama, HIGH);
delay(2000);
digitalWrite(car_ama, LOW);
digitalWrite(car_verm, HIGH);
digitalWrite(ped_verm, LOW);
digitalWrite(ped_verde, HIGH);
delay(crossTime);
for(int x=0; x<10; x++){
digitalWrite(ped_verde, HIGH);
delay(250);
digitalWrite(ped_verde, LOW);
delay(250);
}
digitalWrite(ped_verm, HIGH);
delay(500);
digitalWrite(car_verm, LOW);
digitalWrite(car_verde, HIGH);
//registra o tempo
changeTime = millis();
}
segunda-feira, 9 de junho de 2014
Semáforo Interativo Arduino
Assinar:
Postar comentários
(
Atom
)
Nenhum comentário :
Postar um comentário