#include "pitches.h"
#define BUZZER_PIN 7
#define led_merah 13
#define led_kuning 12
int melody[] = {
NOTE_E5, NOTE_D5, NOTE_FS4, NOTE_GS4,
NOTE_CS5, NOTE_B4, NOTE_D4, NOTE_E4,
NOTE_B4, NOTE_A4, NOTE_CS4, NOTE_E4,
NOTE_A4
};
int durations[] = {
8, 8, 4, 4,
8, 8, 4, 4,
8, 8, 4, 4,
2
};
void setup() {
pinMode(BUZZER_PIN, OUTPUT);
pinMode(led_merah, OUTPUT);
pinMode(led_kuning, OUTPUT);
}
void loop() {
int size = sizeof(durations) / sizeof(int);
for (int note = 0; note < size; note++) {
int duration = 1000 / durations[note];
tone(BUZZER_PIN, melody[note], duration);
// Mengatur LED berdasarkan nada yang dimainkan
if (melody[note] == NOTE_E5 || melody[note] == NOTE_B4 || melody[note] == NOTE_A4 || melody[note] == NOTE_FS4 || melody[note] == NOTE_D4 || melody[note] == NOTE_CS4 || melody[note] == NOTE_E4) {
digitalWrite(led_merah, HIGH);
digitalWrite(led_kuning, LOW);
} else {
digitalWrite(led_merah, LOW);
digitalWrite(led_kuning, HIGH);
}
int pauseBetweenNotes = duration * 1.30;
delay(pauseBetweenNotes);
noTone(BUZZER_PIN);
}
}