#include "variabel.h"
const uint8_t tombolNot[] = {13, 12, 11, 10, 9, 8, 7, 6};
const int notDasar[] = {
NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4,
NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5
};
const int notLagu[] = {
REST,
NOTE_C4, NOTE_E4,
NOTE_C4, NOTE_E4, NOTE_F4,
NOTE_G4, REST, NOTE_G4, REST, REST,
NOTE_B5, NOTE_C5,
NOTE_B5, NOTE_C5, NOTE_B5,
NOTE_G4, REST, REST,
NOTE_C4, NOTE_E4,
NOTE_C4, NOTE_E4, NOTE_F4,
NOTE_G4, REST, NOTE_G4, REST, REST,
NOTE_B5, NOTE_C5,
NOTE_B5, NOTE_C5, NOTE_B5,
NOTE_G4, REST, REST,
NOTE_C4, NOTE_E4,
NOTE_G4, NOTE_F4, REST, NOTE_F4,
NOTE_G4, NOTE_F4,
NOTE_E4, NOTE_C4,
NOTE_F4, NOTE_E4, NOTE_C4,
REST, REST,
NOTE_C4, NOTE_E4,
NOTE_G4, NOTE_F4, REST, NOTE_F4,
NOTE_G4, NOTE_F4,
NOTE_E4, NOTE_C4,
NOTE_F4, NOTE_E4, NOTE_C4,
REST, REST
};
const int durations[] = {
400,
300, 300,
300, 300, 300,
200, 125, 200, 200, 200,
300, 300, 300,
200, 400,
300, 150, 150,
300, 300,
300, 300, 300,
200, 125, 200, 200, 200,
300, 300, 300,
200, 400,
300, 150, 150,
275, 325,
300, 200, 125, 200,
300, 300,
300, 300,
300, 300, 175,
200, 200,
275, 325,
300, 200, 125, 200,
300, 300,
300, 300,
300, 300, 150,
400, 400
};
void setup() {
for (uint8_t i = 0; i < sizeof(tombolNot) / sizeof(tombolNot[0]); i++) {
pinMode(tombolNot[i], INPUT_PULLUP);
}
pinMode(buzzer, OUTPUT);
pinMode(tombolLagu, INPUT_PULLUP);
}
void loop() {
// Check if the song button is pressed
if (digitalRead(tombolLagu) == LOW) {
playSong();
} else {
int pitch = 0;
for (uint8_t i = 0; i < sizeof(tombolNot) / sizeof(tombolNot[0]); i++) {
if (digitalRead(tombolNot[i]) == LOW) {
pitch = notDasar[i];
break;
}
}
if (pitch) {
tone(buzzer, pitch);
} else {
noTone(buzzer);
}
}
delay(90);
}
void playSong() {
for (int i = 0; i < sizeof(notLagu) / sizeof(notLagu[0]); i++) {
if (notLagu[i] != 0) {
tone(buzzer, notLagu[i]);
delay(durations[i]);
} else {
noTone(buzzer);
delay(140);
}
}
noTone(buzzer);
}