// C++ code
//
const int chave = 2;
const int verde1 = 3;
const int amarelo1 = 4;
const int vermelho1 = 5;
const int verde2 = 8;
const int amarelo2 = 9;
const int vermelho2 = 10;
int val = 0;
int Bot = 0;
void cruzamento();
void setup()
{
pinMode(verde1, OUTPUT);
pinMode(amarelo1, OUTPUT);
pinMode(vermelho1, OUTPUT);
pinMode(verde2, OUTPUT);
pinMode(amarelo2, OUTPUT);
pinMode(vermelho2, OUTPUT);
pinMode(chave, INPUT);
Serial.begin(9600);
attachInterrupt(digitalPinToInterrupt(chave), cruzamento, FALLING);
}
void loop()
{
if(val == 0){
digitalWrite(vermelho1, LOW);
digitalWrite(amarelo2, LOW);
digitalWrite(verde1, HIGH);
digitalWrite(vermelho2, HIGH);
delay (3000);
digitalWrite(verde1, LOW);
digitalWrite(amarelo1, HIGH);
delay (3000);
digitalWrite(amarelo1, LOW);
digitalWrite(vermelho2, LOW);
digitalWrite(vermelho1, HIGH);
digitalWrite(verde2, HIGH);
delay (3000);
digitalWrite(verde2, LOW);
digitalWrite(amarelo2, HIGH);
delay (2000);
}
else{
digitalWrite(verde1, LOW);
digitalWrite(amarelo1, HIGH);
digitalWrite(vermelho1, LOW);
digitalWrite(verde2, LOW);
digitalWrite(amarelo2, HIGH);
digitalWrite(vermelho2, LOW);
delay (2000);
digitalWrite(amarelo1, LOW);
digitalWrite(amarelo2, LOW);
delay (2000);
val =0;
}
}
void cruzamento()
{
delay(300);
Bot++;
Serial.print("Botão de Pedestre Foi Pressionado:");
Serial.println(Bot);
val = 1;
}