#include <Servo.h>

Servo servoMotor;

const int ledRojoPin = 10;
const int ledVerdePin = 11;
const int botonPin = 7;
const int BuzzerPin = 3;

int estadoAnterior = HIGH;
bool semaforoActivo = false;

void setup() {
  servoMotor.attach(9);
  pinMode(ledRojoPin,OUTPUT);
  pinMode(ledVerdePin, OUTPUT);
  pinMode(botonPin, INPUT_PULLUP);
  pinMode(BuzzerPin, OUTPUT);

}

void loop() {
  int estadoBoton = digitalRead(botonPin);

  if(estadoBoton == LOW && estadoAnterior == HIGH){

    semaforoActivo = !semaforoActivo;
    if (semaforoActivo) {
      servoMotor.write(0);
      digitalWrite(ledVerdePin, HIGH);
      digitalWrite(ledRojoPin, LOW); 
      tone(BuzzerPin, 200,2000);
      delay(100);
    } else{
      servoMotor.write(90);
      digitalWrite(ledVerdePin, LOW);
      digitalWrite(ledRojoPin, HIGH);
    }
  }
}