const int BOTAO_START = 2;
const int BOTAO_STOP = 3;
const int BUZZER_PIN = 4;
const int LED_PIN = 5;
volatile bool botao_start_pressionado = false;
volatile bool botao_stop_pressionado = false;
bool alarme_ativado = false;
//Botão Amarelo = Liga alarme
//Botão Preto = Desliga alarme
void setup() {
pinMode(BOTAO_START, INPUT);
pinMode(BOTAO_STOP, INPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
attachInterrupt(digitalPinToInterrupt(BOTAO_START), pressionarBotaoStart, FALLING);
attachInterrupt(digitalPinToInterrupt(BOTAO_STOP), pressionarBotaoStop, FALLING);
}
void loop() {
if (botao_start_pressionado) {
ativarAlarme();
botao_start_pressionado = false;
}
if (botao_stop_pressionado) {
desativarAlarme();
botao_stop_pressionado = false;
}
}
void ativarAlarme() {
digitalWrite(LED_PIN, HIGH);
tone(BUZZER_PIN, 1000); // Emitir som no buzzer
alarme_ativado = true;
}
void desativarAlarme() {
digitalWrite(LED_PIN, LOW);
noTone(BUZZER_PIN); // Parar de emitir som no buzzer
alarme_ativado = false;
}
void pressionarBotaoStart() {
if (!alarme_ativado) {
botao_start_pressionado = true;
}
}
void pressionarBotaoStop() {
if (alarme_ativado) {
botao_stop_pressionado = true;
}
}