#define NOTE1 262
#define NOTE2 294
#define NOTE3 330
#define NOTE4 349
#define NOTE5 395
#define NOTE6 440
#define NOTE7 494
#define NOTEi 523
const int Speaker = 23;
const int buttonPin = 47; // Pin untuk tombol
bool isPlaying = false; // Variabel untuk melacak apakah lagu sedang dimainkan
void setup() {
pinMode(Speaker, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP); // Tombol dihubungkan dengan pull-up resistor
}
void loop() {
if (digitalRead(buttonPin) == LOW && !isPlaying) {
// Tombol ditekan dan lagu belum dimainkan
isPlaying = true; // Setel status memainkan lagu
playsong(); // Mainkan lagu
isPlaying = false; // Setel status selesai memainkan lagu
}
}
void playsong(){
// Ibu Kita Kartini
noTone(Speaker); delay(5000);
tone(Speaker, NOTE1); delay(1500); //1
tone(Speaker, NOTE2); delay(500); //2
tone(Speaker, NOTE3); delay(1000); //3
tone(Speaker, NOTE4); delay(1000); //4
tone(Speaker, 395); delay(1500); //5
tone(Speaker, 330); delay(500); //3
tone(Speaker, 262); delay(2000); //1
tone(Speaker, 440); delay(1500); //6
tone(Speaker, 523); delay(500); //1'
tone(Speaker, 494); delay(1000); //7
tone(Speaker, 440); delay(1000); //6
tone(Speaker, 395); delay(4000); //5
tone(Speaker, 349); delay(1500); //4
tone(Speaker, 440); delay(500); //6
tone(Speaker, 395); delay(1000); //5
tone(Speaker, 349); delay(1000); //4
tone(Speaker, 330); delay(2000); //3
tone(Speaker, 262); delay(2000); //1
tone(Speaker, 294); delay(1500); //2
tone(Speaker, 349); delay(500); //4
tone(Speaker, 330); delay(1000); //3
tone(Speaker, 294); delay(1000); //2
tone(Speaker, 262); delay(4000); //1
noTone(Speaker); delay(5000);
}