const unsigned long duree = 48ul * 3600ul * 1000ul; // 48 heures en millisecondes
const unsigned long interval = 10ul * 1000ul; // 120 secondes en millisecondes
unsigned long topDepart;
unsigned long dernierePhoto;
unsigned long compteur;
void allumerLEDs() {
// ici allumer les LEDs
Serial.println("allumerLEDs");
}
void eteindreLEDs() {
// ici éteindre les LEDs
Serial.println("eteindreLEDs");
}
void prendrePhoto() {
// ici déclencher l'obturateur
compteur++;
Serial.print("prendrePhoto #"); Serial.println(compteur);
delay(1000);
}
void setup() {
// pinMode(...
Serial.begin(115200); Serial.println();
Serial.println("Tapez Entrée pour commencer");
compteur = 0;
while (Serial.available() == 0) yield();
topDepart = millis();
dernierePhoto = topDepart - interval;
}
void loop() {
unsigned long maintenant = millis();
if (maintenant - topDepart <= duree) {
if (maintenant - dernierePhoto >= interval) {
allumerLEDs();
prendrePhoto();
eteindreLEDs();
dernierePhoto = maintenant;
}
}
}