#define NOTE_C4 261
#define NOTE_D4 294
#define NOTE_E4 329
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 493
#define NOTE_C5 523
const int buzzerPin = 12; // Pin buzzer
void setup() {
pinMode(buzzerPin, OUTPUT);
}
void loop() {
// Memainkan melodi palang pintu kereta api
playMelody();
}
void playTone(int frequency, int duration) {
for (long i = 0; i < duration * 1000L; i += frequency * 2) {
digitalWrite(buzzerPin, HIGH);
delayMicroseconds(frequency);
digitalWrite(buzzerPin, LOW);
delayMicroseconds(frequency);
}
}
void playMelody() {
int melody[] = {
NOTE_C5, NOTE_G4, NOTE_C5, NOTE_G4,
NOTE_C5, NOTE_G4, NOTE_C5, NOTE_G4,
NOTE_C5, NOTE_G4, NOTE_C5, NOTE_G4,
NOTE_C5, NOTE_G4, NOTE_C5, NOTE_G4
};
int noteDurations[] = {
8, 8, 8, 8,
8, 8, 8, 8,
8, 8, 8, 8,
8, 8, 8, 8
};
for (int i = 0; i < sizeof(melody) / sizeof(melody[0]); i++) {
playTone(melody[i], noteDurations[i] * 125);
delay(noteDurations[i] * 1.30);
}
}