// Program Mainin Lagu
// ======================================================
// ===================== Pin
#define PIN 8
// =====================
// // Do Re Mi Fa Sol La Si Do
// int N[8] = {262, 294, 330, 349, 392, 440, 494, 523};
// // Lagu Halo-Halo Bandung karya Ismail Marzuki {{{
// int melody[] = {
// N[5], N[3], N[2], N[7], N[2], N[1],
// N[5], N[6], N[7], N[1], N[7], N[6], N[5], N[7],
// N[5], N[4], N[3], N[2], N[3], N[2],
// N[2], N[1], N[7], N[2], N[5], N[6], N[3],
// N[5], N[3], N[2], N[7], N[2], N[1],
// N[5], N[6], N[7], N[1], N[3], N[4], N[3], N[3], N[6],
// N[6], N[7], N[1], N[7], N[2], N[1], N[7], N[6], N[5], N[3], N[5], N[1], N[3],
// N[3], N[2], N[3], N[2], N[2], N[6], N[7], N[1],
// };
// // Durasi nada: 2 untuk setengah, 4 untuk seperempat, 8 untuk seperdelapan
// int durations[] = {
// 468, 156, 624, 624, 468, 156,
// 468, 156, 624, 624, 624, 468, 156, 624,
// 624, 624, 624, 1248, 624, 468,
// 156, 624, 624, 468, 156, 468, 156,
// 624, 624, 624, 468, 156, 624,
// 624, 624, 624, 1248, 624, 468, 156, 624, 624,
// 468, 156, 468, 156, 624, 624, 624, 468, 156, 624, 624, 624, 624,
// 1248, 624, 468, 156, 624,624, 624, 0
// };
// // }}}
// Indonesia Raya akarya W.R. Supratman {{{
int melody[] = {
262, 277, 311, 523, 0, 523, 466, 466, 415, 311, 0, 311, 311, 349, 311, 277, 262, 233, 0, 233, 262, 277, 466, 0, 466, 415, 415, 392, 349, 0, 311, 311, 392, 349, 311, 277, 262, 0, 262, 277, 311, 523, 0, 523, 466, 466, 415, 311, 0, 311, 311, 349, 311, 415, 466, 392, 349, 349, 349, 554, 554, 523, 466, 622, 415, 392, 349, 311, 554, 523, 466, 415, 0, 311, 311, 349, 554, 554, 554, 554, 554, 523, 415, 415, 415, 392, 415, 466, 622, 622, 622, 554, 554, 523, 415, 311, 311, 349, 554, 554, 554, 554, 554, 523, 415, 415, 415, 392, 415, 466, 622, 622, 523, 466, 415, 0, 415, 415, 554, 698, 698, 698, 698, 698, 622, 523, 523, 523, 622, 622, 554, 466, 466, 466, 622, 554, 523, 415, 415, 415, 554, 698, 698, 698, 698, 698, 622, 523, 523, 523, 622, 622, 622, 554, 523, 466, 523, 466, 415, 0, 415, 415, 622, 554, 523, 466, 523, 466, 415, 0, 0
};
int durations[] = {
468, 156, 624, 624, 468, 156, 468, 156, 624, 624, 624, 468, 156, 624, 624, 624, 624, 1248, 624, 468, 156, 624, 624, 468, 156, 468, 156, 624, 624, 624, 468, 156, 624, 624, 624, 624, 1248, 624, 468, 156, 624, 624, 468, 156, 468, 156, 624, 624, 624, 468, 156, 624, 624, 624, 624, 1248, 624, 468, 156, 624, 624, 624, 624, 1248, 624, 468, 156, 624, 624, 624, 624, 1248, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 1248, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 624, 624, 468, 156, 1248, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 1248, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 624, 468, 156, 1248, 624, 468, 156, 624, 468, 156, 624, 468, 156, 1248, 1248, 0
};
// }}}
int totalNote = sizeof(melody)/sizeof(int);
// =====================================
void setup() {
pinMode(PIN, OUTPUT);
}
void loop() {
// Iterasi setiap nada
for (int note = 0; note < totalNote; note++) {
// Memainkan nada
tone(PIN, melody[note], durations[note] * 0.4);
// Tahan note
delay(durations[note]);
// Matikan nada sebelum nada berikutnya dimainkan
noTone(PIN);
}
}