#define YELLOW_LED 3
#define RED_LED 4
#define GREEN_LED 5
#define BUTTON_PIN 2
#define BUZZER 6
bool ped_request = false;
void setup() {
// put your setup code here, to run once:
pinMode(YELLOW_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(GREEN_LED, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(BUZZER, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(BUTTON_PIN, LOW);
int button_state = digitalRead(BUTTON_PIN);
Serial.println(button_state);
if(button_state==1){
ped_request = true;
}
digitalWrite(GREEN_LED, HIGH);
delay(5000);
digitalWrite(GREEN_LED, LOW);
if(ped_request==true){
ped_routine();
ped_request=false;
return;
}
digitalWrite(YELLOW_LED, HIGH);
delay(2000);
digitalWrite(YELLOW_LED, LOW);
digitalWrite(RED_LED, HIGH);
delay(5000);
digitalWrite(RED_LED, LOW);
}
void ped_routine(){
tone(6, 262, 250); // Plays 262Hz tone for 0.250 seconds
for(int8_t i=1;i<=5;i++){
digitalWrite(BUZZER,HIGH);
digitalWrite(RED_LED, HIGH);
delay(1000);
digitalWrite(RED_LED, LOW);
delay(1000);
}
digitalWrite(BUTTON_PIN, LOW);
digitalWrite(BUZZER, LOW);
}