int melody[] = {
262, 262, 294, 262, 349, 330, // Happy birthday to you
262, 262, 294, 262, 392, 349, // Happy birthday to you
262, 262, 523, 440, 349, 330, 294, // Happy birthday dear
466, 466, 440, 349, 392, 349 // Happy birthday to you
};
int duration[] = {
50, 50, 100, 100, 100, 200, // Happy birthday to you
50, 50, 100, 100, 100, 200, // Happy birthday to you
50, 50, 100, 100, 100, 100, 200, // Happy birthday dear
50, 50, 100, 100, 100, 200 // Happy birthday to you
};
int buzzerPin = 8; // Pin untuk buzzer
int ledm = 9; // Pin untuk LED merah
int ledk = 10; // Pin untuk LED kuning
int ledh = 11; // Pin untuk LED hijau
void setup() {
pinMode(buzzerPin, OUTPUT);
pinMode(ledm, OUTPUT);
pinMode(ledk, OUTPUT);
pinMode(ledh, OUTPUT);
Serial.begin(9600); // Inisialisasi komunikasi serial
}
void loop() {
// Mainkan melodi Happy Birthday
for (int i = 0; i < 25; i++) {
tone(buzzerPin, melody[i], duration[i]); // Mainkan nada
delay(duration[i] + 100); // Jeda antara nada
}
delay(1000); // Jeda setelah lagu selesai
// Atur LED bergantian
Serial.println("Merah menyala");
digitalWrite(ledm, HIGH);
digitalWrite(ledk, LOW);
digitalWrite(ledh, LOW);
delay(1000);
Serial.println("Kuning menyala");
digitalWrite(ledm, LOW);
digitalWrite(ledk, HIGH);
digitalWrite(ledh, LOW);
delay(1000);
Serial.println("Hijau menyala");
digitalWrite(ledm, LOW);
digitalWrite(ledk, LOW);
digitalWrite(ledh, HIGH);
delay(1000);
}