#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 6);
#define R 2
#define G 1
#define B 0
//music tones
int tones[7]={523,587,659,698,784,880,988};
//Do ,Re ,Me ,Fa ,So ,La ,Si
int DO=tones[0];
int RE=tones[1];
int ME=tones[2];
int FA=tones[3];
int SO=tones[4];
int LA=tones[5];
int SI=tones[6];
//mario tones
//song 1
int yamaha[2][34]={{DO,RE,ME,FA,SO,LA,FA,ME,RE,DO,SO,FA,ME,SO
,FA,ME,RE,SO,FA,ME,SO,FA,ME,RE,DO,RE,ME,FA,
SO,LA,FA,ME,RE,DO},{500,500,500,500,500,500
,500,500,500,500,250,250,250,250,250,250,250
,250,250,250,250,250,250,250,500,500,500,500
,500,500,500,500,500,500}};
//song 2
int littleStar[2][42]={{DO,DO,SO,SO,LA,LA,SO,FA,FA,ME,ME,RE,RE,DO
,SO,SO,FA,FA,ME,ME,RE,SO,SO,FA,FA,ME,ME,RE
,DO,DO,SO,SO,LA,LA,SO,FA,FA,ME,ME,RE,RE,DO
},{500,500,500,500,500,500,1000,500,500,500,
500,500,500,1000,500,500,500,500,500,500,
1000,500,500,500,500,500,500,1000,500,500
,500,500,500,500,1000,500,500,500,500,
500,500,1000}};
//song 3
int sheep[2][25]={{SI,LA,SO,LA,SI,SI,SI,LA,LA,LA,SI,SI,SI,SI,LA,
SO,LA,SI,SI,SI,LA,LA,SI,LA,SO},{240,240,240,240,
240,240,480,240,240,480,240,240,480,240,240
,240,240,240,240,480,240,240,240,240,480}};
//Buttons value
int first=10;
int second=9;
int third=8;
//starting
void setup()
{
noTone(A5);
pinMode(first,INPUT);
pinMode(second,INPUT);
pinMode(third,INPUT);
pinMode(R, OUTPUT);
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Choose music");
}
//Choosing a song
void loop()
{
if(digitalRead(first)==1){
digitalWrite(R, HIGH);
song(1);
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Choose music");
}
else if(digitalRead(second)==1){
digitalWrite(G, HIGH);
song(2);
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Choose music");
}
else if(digitalRead(third)==1){
digitalWrite(B, HIGH);
song(3);
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Choose music");
}
}
//playing song 1 (Yamaha Class)
void song(int i){
lcd.clear();
switch(i){
case 1:
lcd.setCursor(0,0);
lcd.print("1.Yamaha Class");
lcd.setCursor(2,1);
lcd.print("/14 sec");
for(int j=0;j<=33;j++){
tone(A5,yamaha[0][j]);
lcd.setCursor(0,1);
delay(yamaha[1][j]);
noTone(A5);
delay(20);
}
noTone(A5);
break;
//playing song 2 (Little Star)
case 2:
lcd.setCursor(0,0);
lcd.print("2.Little Star");
lcd.setCursor(2,1);
lcd.print("/24 sec");
for(int j=0;j<=41;j++){
tone(A5,littleStar[0][j]);
lcd.setCursor(0,1);
delay(littleStar[1][j]);
noTone(A5);
delay(20);
}
noTone(A5);
break;
//playing song 3 (Mary's Lamb)
case 3:
lcd.setCursor(0,0);
lcd.print("3.Mary's Lamb");
lcd.setCursor(1,1);
lcd.print("/7 sec");
for(int j=0;j<=24;j++){
tone(A5,sheep[0][j]);
lcd.setCursor(0,1);
delay(sheep[1][j]);
noTone(A5);
delay(20);
}
noTone(A5);
break;
default:
break;
}
}