35 lines
768 B
C
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;
|
|
}
|