#include <Wire.h>
#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
//caracteres:
byte caracter[8] = {
B00100,
B00110,
B00111,
B00101,
B00100,
B11100,
B11100,
B01000
};
byte enie[] = {
B00000,
B01111,
B00000,
B01110,
B01001,
B01001,
B01001,
B00000
};
int altavoz = 11;
int Si2 =1975;
int LaS2=1864;
int La2= 1760;
int SolS2=1661;
int Sol2=1567;
int FaS2=1479;
int Fa2= 1396;
int Mi2= 1318;
int ReS2=1244;
int Re2= 1174;
int DoS2=1108;
int Do2= 1046;
//octava baja
int Si = 987;
int LaS= 932;
int La = 880;
int SolS=830;
int Sol= 783;
int FaS= 739;
int Fa= 698;
int Mi= 659;
int ReS= 622;
int Re = 587;
int DoS =554;
int Do = 523;
//definimos las notas
int redonda=0;
int redondap=0;
int blanca= 0;
int blancap=0;
int negra=0;
int negrap=0;
int corchea=0;
int corcheap =0;
int semicorchea=0;
int semicorcheap=0;
int bpm= 120;
void setup(){
lcd.init();
lcd.begin(16,2);
lcd.backlight();
//lcd.clear();
lcd.createChar(0,caracter);
lcd.createChar(1,enie);
pinMode(altavoz,OUTPUT);
negra= 60000/bpm;
negrap=negra*1.5;
blanca= negra*2;
blancap=blanca*1.5;
redonda= negra*4;
redondap= redonda*1.5;
corchea= negra/2;
corcheap=corchea*1.5;
semicorchea= negra/4;
semicorcheap=semicorchea*1.5;
}
void loop(){
lcd.clear();
lcd.setCursor(5,0);
lcd.write(0);
delay(500);
delay(250);
lcd.setCursor(7,0);
lcd.write(0);
delay(500);
delay(250);
lcd.setCursor(9,0);
lcd.write(0);
delay(500);
lcd.clear();
lcd.setCursor(0,0);
lcd.write(0);
lcd.setCursor(2,0);
lcd.print("Cum");
tone(altavoz,Do,corchea);
delay(corchea+50);
lcd.setCursor(2,0);
lcd.print("Cumple");
tone(altavoz,Do,corchea);
delay(corchea+50);
lcd.setCursor(2,0);
lcd.print("Cumplea");
tone(altavoz,Re,negra);
delay(negra+50);
lcd.setCursor(9,0);
lcd.write(1);
lcd.setCursor(10,0);
lcd.print("os");
tone(altavoz,Do,negra);
delay(negra+50);
lcd.setCursor(9,1);
lcd.print("fe");
tone(altavoz,Fa,negra);
delay(negra+50);
lcd.setCursor(9,1);
lcd.print("feliz");
lcd.setCursor(15,1);
lcd.write(0);
tone(altavoz,Mi,blanca);
delay(blanca+50);
lcd.clear();
lcd.setCursor(0,0);
lcd.write(0);
lcd.setCursor(2,0);
lcd.print("Te");
tone(altavoz,Do,corchea);
delay(corchea+50);
lcd.setCursor(2,0);
lcd.print("Te de");
tone(altavoz,Do,corchea);
delay(corchea+50);
lcd.setCursor(2,0);
lcd.print("Te desea");
tone(altavoz,Re,negra);
delay(negra+50);
lcd.setCursor(2,0);
lcd.print("Te deseamos");
tone(altavoz,Do,negra);
delay(negra+50);
lcd.setCursor(2,1);
lcd.print("a");
tone(altavoz,Sol,negra);
delay(negra+50);
lcd.setCursor(2,1);
lcd.print("a tii ");
lcd.setCursor(15,1);
lcd.write(0);
tone(altavoz,Fa,blanca);
delay(blanca+50);
lcd.clear();
lcd.setCursor(0,0);
lcd.write(0);
lcd.setCursor(2,0);
lcd.print("Fe");
lcd.setCursor(4,0);
tone(altavoz,Do,corchea);
delay((corchea+100)/2);
noTone(11);
delay(80);
lcd.print("liz");
tone(altavoz,Do,corchea);
delay(corchea+50);
lcd.setCursor(3,1);
lcd.print("cum");
tone(altavoz,Do,corchea);
delay(corchea+50);
lcd.setCursor(3,1);
lcd.print("cumpleA");
tone(altavoz,Do2,negra);
delay(negra+50);
lcd.setCursor(10,1);
lcd.write(1);
lcd.setCursor(11,1);
lcd.print("os");
tone(altavoz,La,negra);
delay(negra+50);
lcd.clear();
lcd.setCursor(0,0);
lcd.write(0);
lcd.setCursor(15,0);
lcd.write(0);
lcd.setCursor(5,0);
lcd.print("YE");
tone(altavoz,Fa,negra);
delay(negra+50);
lcd.setCursor(4,0);
lcd.print("YESSE");
tone(altavoz,Mi,negra);
delay(negra+50);
lcd.setCursor(3,0);
lcd.print("YESSENIAAA");
tone(altavoz,Re,blanca);
delay(blanca+200);
lcd.clear();
lcd.setCursor(0,0);
lcd.write(0);
lcd.setCursor(2,0);
lcd.print("Jaa");
tone(altavoz,LaS,corchea);
delay(corchea+50);
lcd.setCursor(2,0);
lcd.print("Jaapy");
tone(altavoz,LaS,corchea);
delay(corchea+50);
lcd.setCursor(2,0);
lcd.print("Jaapy");
lcd.setCursor(3,1);
lcd.print("Beerts");
tone(altavoz,La,negra);
delay(negra+50);
lcd.setCursor(2,1);
lcd.print("Beertsdeey");
tone(altavoz,Fa,negra);
delay(negra+50);
lcd.clear();
lcd.setCursor(0,0);
lcd.write(0);
lcd.setCursor(15,0);
lcd.write(0);
lcd.setCursor(2,0);
lcd.print("Tuu");
tone(altavoz,Sol,negra);
delay(negra+50);
lcd.setCursor(2,0);
lcd.print("Tuu yuuuuuu");
tone(altavoz,Fa,blanca);
delay(blanca+100);
lcd.setCursor(0,0);
lcd.print("Feliz Cumplea");
lcd.setCursor(13,0);
lcd.write(1);
lcd.setCursor(14,0);
lcd.print("os");
lcd.setCursor(6,1);
lcd.print("YESSI");
delay(5000);
}