Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define luzVerde1 2
- #define luzAmarela1 3
- #define luzVermelha1 4
- #define luzVerde2 5
- #define luzAmarela2 6
- #define luzVermelha2 7
- #define sensor1 8
- #define sensor2 9
- #define pVerde1 10
- #define pVermelha1 11
- #define pVerde2 12
- #define pVermelha2 13
- bool ativo = true;
- int tempoled = 3000;
- int tempoespera = 5000;
- void setup() {
- Serial.begin(9600);
- // set the digital pin as output:
- pinMode(luzVerde1, OUTPUT);
- pinMode(luzAmarela1, OUTPUT);
- pinMode(luzVermelha1, OUTPUT);
- pinMode(luzVerde2, OUTPUT);
- pinMode(luzAmarela2, OUTPUT);
- pinMode(luzVermelha2, OUTPUT);
- pinMode(sensor1, OUTPUT);
- pinMode(sensor2, OUTPUT);
- pinMode(pVerde1, OUTPUT);
- pinMode(pVermelha1, OUTPUT);
- pinMode(pVerde2, OUTPUT);
- pinMode(pVermelha2, OUTPUT);
- // Leds apagados incialmente
- digitalWrite(luzVerde1, HIGH);
- digitalWrite(luzAmarela1, HIGH);
- digitalWrite(luzVermelha1, HIGH);
- digitalWrite(luzVerde2, HIGH);
- digitalWrite(luzAmarela2, HIGH);
- digitalWrite(luzVermelha2, HIGH);
- digitalWrite(pVerde1, HIGH);
- digitalWrite(pVermelha1, HIGH);
- digitalWrite(pVerde2, HIGH);
- digitalWrite(pVermelha2, HIGH);
- // Verde e vermelha acesa
- digitalWrite(luzVerde1, LOW);
- digitalWrite(luzVermelha2, LOW);
- digitalWrite(pVermelha1, LOW);
- digitalWrite(pVerde2, LOW);
- }
- void loop() {
- if (ativo)
- {
- int valor2 = digitalRead(sensor2);
- if (valor2 == HIGH)
- {
- acenderSemaforo2();
- ativo = false;
- }
- }
- else
- {
- int valor1 = digitalRead(sensor1);
- if (valor1 == HIGH)
- {
- acenderSemaforo1();
- ativo = true;
- }
- }
- }
- void acenderSemaforo2()
- {
- delay(tempoespera);
- digitalWrite(luzVerde1, HIGH);
- digitalWrite(luzAmarela1, LOW);
- digitalWrite(pVerde2, HIGH);
- digitalWrite(pVermelha2, LOW);
- delay(tempoled);
- digitalWrite(luzAmarela1, HIGH);
- digitalWrite(luzVermelha1, LOW);
- digitalWrite(luzVermelha2, HIGH);
- digitalWrite(luzVerde2, LOW);
- digitalWrite(pVermelha1, HIGH);
- digitalWrite(pVerde1, LOW);
- }
- void acenderSemaforo1()
- {
- delay(tempoespera);
- digitalWrite(luzVerde2, HIGH);
- digitalWrite(luzAmarela2, LOW);
- digitalWrite(pVerde1, HIGH);
- digitalWrite(pVermelha1, LOW);
- delay(tempoled);
- digitalWrite(luzAmarela2, HIGH);
- digitalWrite(luzVermelha2, LOW);
- digitalWrite(luzVermelha1, HIGH);
- digitalWrite(luzVerde1, LOW);
- digitalWrite(pVermelha2, HIGH);
- digitalWrite(pVerde2, LOW);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement