0% found this document useful (0 votes)
7 views1 page

Happy Birthday Music Arduino Code

This document contains an Arduino sketch for playing a melody using a buzzer. It defines the notes, their durations, and the tempo for the song, and includes functions to play tones and notes. The setup and loop functions manage the buzzer output to produce the desired sound sequence.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views1 page

Happy Birthday Music Arduino Code

This document contains an Arduino sketch for playing a melody using a buzzer. It defines the notes, their durations, and the tempo for the song, and includes functions to play tones and notes. The setup and loop functions manage the buzzer output to produce the desired sound sequence.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 1

int speakerPin = 7; // Buzzer pin

int length = 28; // the number of notes


char notes[] = "GGAGcB GGAGdc GGxecBA yyecdc";
int beats[] = {2,2,8,8,8,16,1,2,2,8,8,8,16,1,2,2,8,8,8,8,16,1,2,2,8,8,8,16};
int tempo = 200;// time delay between notes

void playTone(int tone, int duration) {


for (long i = 0; i < duration * 1000L; i += tone * 2) {
digitalWrite(speakerPin, HIGH);
delayMicroseconds(tone);
digitalWrite(speakerPin, LOW);
delayMicroseconds(tone);
}
}

void playNote(char note, int duration) {


char names[] = {'C', 'D', 'E', 'F', 'G', 'A', 'B',

'c', 'd', 'e', 'f', 'g', 'a', 'b',

'x', 'y' };

int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014,

956, 834, 765, 593, 468, 346, 224,

655 , 715 };

int SPEE = 5;

// play the tone corresponding to the note name

for (int i = 0; i < 17; i++) {

if (names[i] == note) {
int newduration = duration/SPEE;
playTone(tones[i], newduration);
}
}
}

void setup() {
pinMode(speakerPin, OUTPUT);
}

void loop() {
for (int i = 0; i < length; i++) {
if (notes[i] == ' ') {
delay(beats[i] * tempo); // delay between notes
} else {
playNote(notes[i], beats[i] * tempo);
}
// time delay between notes
delay(tempo);
}
}

You might also like