#define buzzer 10
void setup() {
pinMode(buzzer, OUTPUT);
}
void loop() {
IndonesiaRayaMelody();
delay(2000); // Delay 2 detik sebelum memutar ulang melodi
}
void IndonesiaRayaMelody() {
int melody[] = { 392, 440, 494, 523, 587, 659, 523, 587, 659, 698, 784, 880, 988, 1047, 1175, 1319, 1397, 1568, 1760, 1976, 2093, 1976, 1760, 1568, 1319, 1175, 1047, 988, 880, 784, 698, 659, 587, 523, 587, 659, 523, 587, 659, 698, 784, 880, 988, 1047, 1175, 1319, 1397, 1568, 1760, 1976, 2093, 1976, 1760, 1568, 1319, 1175, 1047, 988, 880, 784, 698, 659, 587, 523 };
int noteDurations[] = { 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 };
for (int i = 0; i < 68; i++) { // Jumlah not pada melodi Indonesia Raya
int noteDuration = 1000 / noteDurations[i];
tone(buzzer, melody[i], noteDuration);
delay(noteDuration * 1.3); // Delay untuk mendapatkan durasi yang tepat
noTone(buzzer);
delay(50); // Delay antar not
}
}