#define BUTTON_PIN 12
unsigned long lastActionTime = 0;
int currentSong = 1;
bool buttonPressed = false;
void setup() {
Serial.begin(115200);
pinMode(BUTTON_PIN, INPUT_PULLUP);
playSong(1); // מתחילים עם שיר 1
}
void loop() {
unsigned long now = millis();
// לחיצה על כפתור
if (digitalRead(BUTTON_PIN) == LOW && !buttonPressed) {
buttonPressed = true;
delay(200); // debounce
if (currentSong == 1) {
playSong(2);
}
else if (currentSong == 2) {
playSong(3);
}
}
// שחרור כפתור כדי לא לספור כל הזמן לחוץ
if (digitalRead(BUTTON_PIN) == HIGH) {
buttonPressed = false;
}
// מעבר אוטומטי לפי זמן
unsigned long elapsed = now - lastActionTime;
if (currentSong == 1 && elapsed >= 10 * 60 * 1000UL) { // 10 דקות
Serial.println("⏱ 10 min passed, moving to song 2");
playSong(2);
}
else if (currentSong == 2 && elapsed >= 10 * 60 * 1000UL) { // עוד 10 דקות
Serial.println("⏱ 20 min passed, moving to song 3");
playSong(3);
}
// שיר 3 – אין מעבר נוסף
}
void playSong(int songNumber) {
currentSong = songNumber;
lastActionTime = millis();
switch (songNumber) {
case 1:
Serial.println("🎵 Playing: song 1");
break;
case 2:
Serial.println("🎵 Playing: song 2");
break;
case 3:
Serial.println("🎵 Playing: song 3");
break;
case 4:
Serial.println("🎵 Playing: song 4");
break;
}
}