AlarmeESP32/ctrlSpeaker.h

35 lines
768 B
C

#include <Arduino.h>
// Fréquences sirène
int sirenTab[] = {1516, 1702};
bool sireneOn = false;
unsigned long previousMillisAlarm = 0; // Stocke le temps écoulé
unsigned long interval = 250; // Intervalle pour changer de fréquence
int sirenIndex = 0; // Indice de la fréquence actuelle
void updateSirene() {
if(sireneOn) {
unsigned long currentMillis = millis();
if (currentMillis - previousMillisAlarm >= interval) {
// Si le temps est écoulé, change de fréquence
previousMillisAlarm = currentMillis;
tone(D2, sirenTab[sirenIndex], 200);
sirenIndex = (sirenIndex + 1) % 2;
}
} else {
noTone(D2);
}
}
void startSirene() {
sireneOn = true;
}
void stopSirene() {
sireneOn = false;
}