Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define LED_VD 2
- #define LED_AM 3
- #define LED_VM 4
- #define PED_VD 5
- #define PED_VM 6
- #define botao 7
- unsigned long delai = 5L * 1000L;
- unsigned long delai2 = 10L * 1000L;
- unsigned long comparativo=0;
- unsigned long tempo=0;
- int semaforo =0;
- boolean pedestre = 0;
- boolean pedestre2 = 0;
- boolean carro = 1;
- void setup() {
- pinMode(LED_VM, OUTPUT);
- pinMode(LED_AM, OUTPUT);
- pinMode(LED_VD, OUTPUT);
- pinMode(PED_VD, OUTPUT);
- pinMode(PED_VM, OUTPUT);
- pinMode(botao, INPUT);
- digitalWrite(botao,HIGH);
- }
- void loop() {
- tempo=millis();
- if (digitalRead(botao)==LOW )
- {
- delay(200);
- pedestre=1;
- }
- if (carro==1)
- {
- if (semaforo==0){
- digitalWrite(PED_VD, LOW);
- digitalWrite(LED_VM, LOW);
- digitalWrite(PED_VM, HIGH);
- digitalWrite(LED_VD, HIGH);
- semaforo=1;
- }
- if (tempo - comparativo > delai & semaforo == 1){/////5 segundos
- digitalWrite(LED_VD, LOW);
- digitalWrite(LED_AM, HIGH);
- comparativo=tempo;
- semaforo=2;
- }
- if (tempo - comparativo > delai & semaforo==2){/////10 segundos
- digitalWrite(LED_AM, LOW);
- digitalWrite(LED_VM, HIGH);
- comparativo=tempo;
- semaforo=3;
- if (pedestre==1)
- {
- digitalWrite(PED_VM, LOW);
- digitalWrite(PED_VD, HIGH);
- digitalWrite(LED_VM, HIGH);
- pedestre2=1;
- carro=0;
- }
- }
- if (tempo - comparativo > delai & semaforo==3){ /////15 segundos
- digitalWrite(LED_VM, LOW);
- comparativo=tempo;
- semaforo=0;
- }
- }
- if (tempo - comparativo > delai2 & pedestre==1 & pedestre2==1) {
- digitalWrite(PED_VM, HIGH);
- digitalWrite(PED_VD, LOW);
- digitalWrite(LED_VM, LOW);
- carro=1;
- pedestre2=0;
- pedestre=0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement