const int buzzerPin = 8;
const int buttonPin = 2;
#include "notasi.h"
int melody [] = {
NOTE_E4, NOTE_D4, NOTE_C4, NOTE_E4, NOTE_D4, NOTE_C4, NOTE_B4, NOTE_D4, // aku punya anjing kecil
NOTE_F4, NOTE_E4, NOTE_D4, NOTE_F4, NOTE_E4, NOTE_D4, NOTE_C4, // kuberi nama heli
NOTE_E4, NOTE_D4, NOTE_C4, NOTE_E4, NOTE_D4, NOTE_C4, NOTE_B4, NOTE_D4, NOTE_D4, // dia suka bermain-main
NOTE_F4, NOTE_E4, NOTE_D4, NOTE_F4, NOTE_E4, NOTE_D4, NOTE_C4, // sambil berlari-lari
NOTE_C4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_C4, NOTE_D4, NOTE_E4, // heli gukgukguk kemari
NOTE_E4, NOTE_E4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_D4, NOTE_C4, NOTE_D4, NOTE_E4, // gukgukguk ayo lari-lari
NOTE_C4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_C4, NOTE_D4, NOTE_E4, // heli gukgukguk kemari
NOTE_E4, NOTE_E4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_D4, NOTE_C4, NOTE_D4, NOTE_E4 // gukgukguk ayo lari-lari
};
int noteDurations[] = {
8, 8, 8, 8, 8, 8, 12, 4,
8, 8, 8, 8, 8, 8, 6,
8, 8, 8, 8, 8, 8, 10, 8, 6,
8, 8, 8, 8, 8, 8, 4,
8, 4, 12, 10, 12, 8, 8, 4,
8, 10, 8, 8, 8, 8, 8, 8, 4,
8, 4, 12, 10, 12, 8, 8, 4,
8, 10, 8, 8, 8, 8, 6, 8, 2,
};
void setup() {
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
int buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
// Mainkan lagu
for (int thisNote = 0; thisNote < 70; thisNote++) {
int noteDuration = 1000 / noteDurations[thisNote];
tone(buzzerPin, melody[thisNote], noteDuration);
// Tunggu sampai nada selesai
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
// Matikan nada
noTone(buzzerPin);
// Jeda lebih panjang untuk transisi yang lebih halus
if (thisNote < 59) {
delay(100); // Jeda tambahan sebelum nada berikutnya
}
}
// Tunggu beberapa saat sebelum lagu dimainkan lagi
delay(1000);
}
}