You can play music with Buzzer. This article explain how to do that.
CODE
int buzz = 7;
int button = 5;
void setup() {
pinMode(buzz,OUTPUT);
pinMode(button,INPUT_PULLUP);
}
void loop() {
if(digitalRead(button)==LOW){
unsigned char i;
double mi4 = 329.628;
double do4 = 261.626;
double so4 = 391.995;
double so3 = 195.998;
double ra3 = 220;
double si3 = 246.942;
double ra3s = 233.082;
double mi3 = 164.814;
double ra4 = 440;
double fa4 = 349.228;
double re4 = 293.665;
double re3s = 155.563;
double do3 = 130.813;
double re3 = 146.832;
double ra4s = 466.164;
double do4s = 277.183;
double do5s = 554.365;
double fa3 = 174.614;
double do5 = 523.251;
double re5 = 587.330;
double fa4s =369.994;
double si4=493.883;
double fa5=698.456;
double mi5=659.255;
double re4s=311.127;
double rest = 1.277;
double rest2 = 0.638;
double rest4 = 0.319;
double rest8 = 0.160;
double rest16 = 0.080;
cal(re4,rest8);
cal(re4,rest8);
cal(ra4,rest4);
cal(re4,rest8);
cal(re4,rest8);
cal(ra4s,rest4);
cal(re4,rest8);
cal(re4,rest8);
cal(ra4,rest4);
cal(re4,rest8);
cal(re4,rest8);
cal(do4s,rest4);
cal(re4,rest8);
cal(re4,rest8);
cal(ra4,rest4);
cal(re4,rest8);
cal(re4,rest8);
cal(do5s,rest4);
cal(ra4,rest2);
cal(ra3,rest2);
cal(fa4,rest2);
cal(fa3,rest2);
cal(re4,rest8);
cal(re4,rest8);
cal(ra4,rest4);
cal(re4,rest8);
cal(re4,rest8);
cal(ra4s,rest4);
cal(re4,rest8);
cal(re4,rest8);
cal(ra4,rest4);
cal(re4,rest8);
cal(re4,rest8);
cal(do5s,rest4);
cal(re5,rest);
rest8 = 0.15;
cal(re5,rest8);
delay(rest8*1000+rest2*1000);
rest = 1.805;
rest2 = 0.902;
rest4 = 0.451;
rest8 = 0.226;
rest16 = 0.113;
cal(so3,rest16);
cal(si3,rest16);
cal(re4,rest16);
cal(fa4s,rest16);
cal(so4,rest8);
delay(rest8*1000);
cal(so4,rest8);
delay(rest8*1000);
delay(rest8*1000);
cal(so4,rest16);
cal(so4,rest16);
cal(so4,rest8);
delay(rest8*1000);
cal(so4,rest8);
delay(rest8*1000);
cal(so4,rest8);
delay(rest8*1000);
cal(so4,0.150);
cal(so4,0.150);
cal(so4,0.150);
cal(so4,0.150);
cal(so4,0.150);
cal(so4,0.150);
cal(so4,rest4);
cal(si4,rest8);
cal(re5,rest2);
cal(do4,rest4);
cal(fa4,rest8);
cal(fa5,rest4);
cal(do4,rest4);
cal(mi5,rest16);
cal(re5,rest16);
cal(re5,rest2);
cal(fa4,rest4);
cal(mi4,rest16);
cal(re4s,rest16);
cal((re4s+si3)/2,rest2);
}
}
int cal(double frec,double length){
double T = 1/frec/2*1000000;
double loopnum = length*1000000/T/2;
int loop = loopnum;
for(int i=0;i<loop;i++){
digitalWrite(buzz,HIGH);
delayMicroseconds(T);
digitalWrite(buzz,LOW);
delayMicroseconds(T);
}
}
Explanation For The Code
The function "cal" make a interval. The first argument is frequency of sound(Hz). The second argument is length of sound. They decide the pitch and length of sound. Once you push button, these function are colled, then buzzer plays music!
Wiring
pin7 - buzzer - GND
pin5 - button - GND
Used Tools
Arduino
amazon Link
buzzer
amazon Link
button
amazon Link
Or, all of the above is included in Arduino Starter Kit!
amazon Link