// Pin configuration
const int buzzerPin = 9; // Connect your buzzer to pin 9
// Note frequencies (in Hz)
#define NOTE_MI 330
#define NOTE_RE 294
#define NOTE_DO 262
#define NOTE_SOL 392 // Frequency for Sol
// Note durations (in milliseconds)
#define DURATION 450
void setup() {
// Set buzzer pin as output
pinMode(buzzerPin, OUTPUT);
}
// Function to play a note
void playNote(int note, int duration) {
tone(buzzerPin, note, duration); // Play the note
delay(duration); // Pause for the note's duration
noTone(buzzerPin); // Stop the tone
delay(50); // Short pause between notes
}
void loop() {
// Play the melody: mi re do re mi mi mi mi re re mi re do
playNote(NOTE_MI, DURATION); // mi
playNote(NOTE_RE, DURATION); // re
playNote(NOTE_DO, DURATION); // do
playNote(NOTE_RE, DURATION); // re
playNote(NOTE_MI, DURATION); // mi
playNote(NOTE_MI, DURATION); // mi
playNote(NOTE_MI, DURATION); // mi
// Add a 1-second pause after the last "mi mi mi"
delay(400); // Wait 2 seconds
// Play "re re re"
playNote(NOTE_RE, DURATION); // re
playNote(NOTE_RE, DURATION); // re
playNote(NOTE_RE, DURATION); // re
// Add a 1-second pause after "re re re"
delay(400); // Wait 1 second
// Play "mi sol sol"
playNote(NOTE_MI, DURATION); // mi
playNote(NOTE_SOL, DURATION); // sol
playNote(NOTE_SOL, DURATION); // sol
delay(400);
// Play the melody: mi re do re mi mi mi mi re re mi re do
playNote(NOTE_MI, DURATION); // mi
playNote(NOTE_RE, DURATION); // re
playNote(NOTE_DO, DURATION); // do
playNote(NOTE_RE, DURATION); // re
playNote(NOTE_MI, DURATION); // mi
playNote(NOTE_MI, DURATION); // mi
playNote(NOTE_MI, DURATION); // mi
playNote(NOTE_RE, DURATION); // re
playNote(NOTE_RE, DURATION); // re
playNote(NOTE_MI, DURATION); // mi
playNote(NOTE_RE, DURATION); // re
playNote(NOTE_DO, DURATION); // do
// Add a delay before repeating the melody
delay(1500); // Wait 1.5 seconds before repeating
}