Components and supplies
Arduino UNO
Resistor 10k ohm
Through Hole Resistor, 680 kohm
IR receiver (generic)
LED (generic)
Alphanumeric LCD, 16 x 2
Resistor 220 ohm
Buzzer
Jumper wires (generic)
Breadboard (generic)
Project description
Code
Code
arduino
1#include "IRremote.h" 2#include <LiquidCrystal.h> 3#define LED_ON 10 4#define LED_OFF 8 5int receiver = 13; 6int pointer; 7LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 8IRrecv irrecv(receiver); 9decode_results results; 10String waiting[] = { 11"1-Pirati Caraibi", 12"2-Super Mario", 13"3-Harry Potter", 14}; 15//-------------------------------------------------------------------------------- 16//PIRATI DEI CARAIBI 17const int buzzer = 6; 18const int songspeed = 1.5; 19#define NOTE_C4 262 20#define NOTE_D4 294 21#define NOTE_E4 330 22#define NOTE_F4 349 23#define NOTE_G4 392 24#define NOTE_A4 440 25#define NOTE_B4 494 26#define NOTE_C5 523 27#define NOTE_D5 587 28#define NOTE_E5 659 29#define NOTE_F5 698 30#define NOTE_G5 784 31#define NOTE_A5 880 32#define NOTE_B5 988 33 34int notes_song_1[] = { 35 36 NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, 37 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 38 NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, 39 NOTE_A4, NOTE_G4, NOTE_A4, 0, 40 41 NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, 42 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 43 NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, 44 NOTE_A4, NOTE_G4, NOTE_A4, 0, 45 46 NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, 47 NOTE_A4, NOTE_C5, NOTE_D5, NOTE_D5, 0, 48 NOTE_D5, NOTE_E5, NOTE_F5, NOTE_F5, 0, 49 NOTE_E5, NOTE_D5, NOTE_E5, NOTE_A4, 0, 50 51 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 52 NOTE_D5, NOTE_E5, NOTE_A4, 0, 53 NOTE_A4, NOTE_C5, NOTE_B4, NOTE_B4, 0, 54 NOTE_C5, NOTE_A4, NOTE_B4, 0, 55 56 NOTE_A4, NOTE_A4, /* 57 58 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 59 NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, 60 NOTE_A4, NOTE_G4, NOTE_A4, 0, 61 62 NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, 63 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 64 NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, 65 NOTE_A4, NOTE_G4, NOTE_A4, 0, 66 67 NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, 68 NOTE_A4, NOTE_C5, NOTE_D5, NOTE_D5, 0, 69 NOTE_D5, NOTE_E5, NOTE_F5, NOTE_F5, 0, 70 NOTE_E5, NOTE_D5, NOTE_E5, NOTE_A4, 0, 71 72 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 73 NOTE_D5, NOTE_E5, NOTE_A4, 0, 74 NOTE_A4, NOTE_C5, NOTE_B4, NOTE_B4, 0, 75 NOTE_C5, NOTE_A4, NOTE_B4, 0,*/ 76}; 77 78int duration_song_1[] = { 79 80 125, 125, 250, 125, 125, 81 125, 125, 250, 125, 125, 82 125, 125, 250, 125, 125, 83 125, 125, 375, 125, 84 85 125, 125, 250, 125, 125, 86 125, 125, 250, 125, 125, 87 125, 125, 250, 125, 125, 88 125, 125, 375, 125, 89 90 125, 125, 250, 125, 125, 91 125, 125, 250, 125, 125, 92 125, 125, 250, 125, 125, 93 125, 125, 125, 250, 125, 94 95 125, 125, 250, 125, 125, 96 250, 125, 250, 125, 97 125, 125, 250, 125, 125, 98 125, 125, 375, 375, 99 100 250, 125, 101 102 125, 125, 250, 125, 125, 103 125, 125, 250, 125, 125, 104 125, 125, 375, 125, 105 106 125, 125, 250, 125, 125, 107 125, 125, 250, 125, 125, 108 125, 125, 250, 125, 125, 109 125, 125, 375, 125, 110 111 125, 125, 250, 125, 125, 112 125, 125, 250, 125, 125, 113 125, 125, 250, 125, 125, 114 125, 125, 125, 250, 125, 115 116 125, 125, 250, 125, 125, 117 250, 125, 250, 125, 118 125, 125, 250, 125, 125, 119 125, 125, 375, 375, 120 }; 121//FINE 122//-------------------------------------------------------------------------------- 123//-------------------------------------------------------------------------------- 124//HARRY POTTER 125struct MusicStruct { 126 int A = 550; 127 int As = 582; 128 int B = 617; 129 int C = 654; 130 int Cs = 693; 131 int D = 734; 132 int Ds = 777; 133 int E = 824; 134 int F = 873; 135 int Fs = 925; 136 int G = 980; 137 int Gs = 1003; 138 int A2 = 1100; 139 int A2s = 1165; 140 int B2 = 1234; 141 int C3 = 1308; 142 int C3s = 1385; 143 int D3 = 1555; 144}Music; 145 146struct LengthStruct { 147 float half = 0.5; 148 float one = 1.0; 149 float one_half = 1.5; 150 float two = 2.0; 151 float two_half = 2.5; 152}Length; 153 154int tempo = 400; 155void setTone(int pin, int note, int duration) { 156 tone(pin, note, duration); 157 delay(duration); 158 noTone(pin); 159} 160//FINE 161 162void setup(){ 163 lcd.begin(16, 2); 164 lcd.setCursor(0, 0); 165 lcd.print("Stato"); 166 lcd.setCursor(0, 1); 167 lcd.print("Spento"); 168 pinMode(LED_ON, OUTPUT); 169 pinMode(LED_OFF, OUTPUT); 170 Serial.begin(9600); 171 Serial.println("IR Receiver Button Decode"); 172 irrecv.enableIRIn(); // Start the receiver 173 digitalWrite(LED_OFF,HIGH); 174} 175 176 177void loop(){ 178 if (irrecv.decode(&results)) 179 180 { 181 translateIR(); 182 irrecv.resume(); 183 } 184} 185 186 187void translateIR() { 188 189 switch(results.value) 190 191 { 192 193 case 0xFFA25D:{ 194 Serial.println("SPEGNI/ACCENDI"); 195 if(digitalRead(LED_OFF) == HIGH){ 196 digitalWrite(LED_ON, HIGH); 197 digitalWrite(LED_OFF,LOW); 198 lcd.setCursor(0,1); 199 lcd.print("Acceso"); 200 delay(1500); 201 break; 202 }else{ 203 digitalWrite(LED_ON, LOW); 204 digitalWrite(LED_OFF,HIGH); 205 lcd.setCursor(0,1); 206 lcd.print("Spento"); 207 break; 208 } 209 } 210 case 0xFF629D:Serial.println("VOLUME+"); break; 211 case 0xFF22DD:{ 212 if(pointer == 1){ 213 pointer == 3; 214 HarryPotter(); 215 break; 216 } 217 if(pointer == 2){ 218 pointer == 1; 219 PiratiDeiCaraibi(); 220 break; 221 } 222 if(pointer == 3){ 223 pointer == 2; 224 SuperMarioTheme(); 225 break; 226 } 227 Serial.println("LEFT"); 228 break; 229 } 230 case 0xFF02FD:{ 231 if(digitalRead(LED_ON)==HIGH){ 232 for(int i = 0; i<3; i++) 233 { 234 lcd.clear(); 235 lcd.setCursor(0,0); 236 lcd.print("Canzoni:"); 237 lcd.setCursor(0,1); 238 lcd.print(waiting[i]); 239 delay(2500); 240 } 241 lcd.clear(); 242 lcd.setCursor(0,0); 243 lcd.print("Stato"); 244 lcd.setCursor(0,1); 245 lcd.print("Acceso"); 246 247 } 248 Serial.println("PLAY"); 249 250 break;} 251 case 0xFFC23D:{ 252 if(pointer == 1){ 253 pointer == 2; 254 SuperMarioTheme(); 255 break; 256 } 257 if(pointer == 2){ 258 pointer == 3; 259 HarryPotter(); 260 break; 261 } 262 if(pointer == 3){ 263 pointer == 1; 264 PiratiDeiCaraibi(); 265 break; 266 } 267 268 Serial.println("RIGHT"); 269 break; 270 } 271 case 0xFFE01F: Serial.println("DOWN"); break; 272 case 0xFFA857: Serial.println("VOL- "); break; 273 case 0xFF906F: Serial.println("UP"); break; 274 case 0xFF6897: Serial.println("0"); break; 275 case 0xFF9867: Serial.println("EQ"); break; 276 case 0xFFB04F: Serial.println("ST/REPT"); break; 277 case 0xFF30CF:{ 278 if(digitalRead(LED_OFF) == LOW){ 279 PiratiDeiCaraibi(); 280 break; 281 } 282 else{ 283 break; 284 } 285 } 286 case 0xFF18E7:{ 287 if(digitalRead(LED_OFF) == LOW){ 288 SuperMarioTheme(); 289 break; 290 } 291 else{ 292 break; 293 } 294 } 295 case 0xFF7A85:{ 296 if(digitalRead(LED_OFF) == LOW){ 297 HarryPotter(); 298 break; 299 } 300 else{ 301 break; 302 } 303 } 304 case 0xFF10EF: Serial.println("4"); break; 305 case 0xFF38C7: Serial.println("5"); break; 306 case 0xFF5AA5: Serial.println("6");break; 307 case 0xFF42BD: Serial.println("7"); break; 308 case 0xFF4AB5: Serial.println("8"); break; 309 case 0xFF52AD: Serial.println("9");break; 310 311 default: 312 Serial.println(" other button "); 313 314 } 315 316 delay(500); 317 318 319} 320 321 322void PiratiDeiCaraibi(){ 323 pointer = 1; 324 lcd.clear(); 325 Serial.println("Suonando.. Pirati dei Caraibi"); 326 lcd.setCursor(0, 0); 327 lcd.print("Musica"); 328 lcd.setCursor(0, 1); 329 lcd.print("Pirati Caraibi"); 330 for (int i=0;i<70;i++){ 331 int wait = duration_song_1[i] * songspeed; 332 tone(buzzer,notes_song_1[i],wait); 333 delay(wait);} 334 335} 336void SuperMarioTheme(){ 337 pointer = 2; 338 lcd.clear(); 339 Serial.println("Suonando.. Super Mario Theme"); 340 lcd.setCursor(0, 0); 341 lcd.print("Musica"); 342 lcd.setCursor(0, 1); 343 lcd.print("Super Mario"); 344tone(buzzer, 660 ,100); 345delay ( 150); 346tone(buzzer, 660 ,100); 347delay ( 300); 348tone(buzzer, 660 ,100); 349delay ( 300); 350tone(buzzer, 510 ,100); 351delay ( 100); 352tone(buzzer, 660 ,100); 353delay ( 300); 354tone(buzzer, 770 ,100); 355delay ( 550); 356tone(buzzer, 380 ,100); 357delay ( 575); 358 359tone(buzzer, 510 ,100); 360delay ( 450); 361tone(buzzer, 380 ,100); 362delay ( 400); 363tone(buzzer, 320 ,100); 364delay ( 500); 365tone(buzzer, 440 ,100); 366delay ( 300); 367tone(buzzer, 480 ,80); 368delay ( 330); 369tone(buzzer, 450 ,100); 370delay ( 150); 371tone(buzzer, 430 ,100); 372delay ( 300); 373tone(buzzer, 380 ,100); 374delay ( 200); 375tone(buzzer, 660 ,80); 376delay ( 200); 377tone(buzzer, 760 ,50); 378delay ( 150); 379tone(buzzer, 860 ,100); 380delay ( 300); 381tone(buzzer, 700 ,80); 382delay ( 150); 383tone(buzzer, 760 ,50); 384delay ( 350); 385tone(buzzer, 660 ,80); 386delay ( 300); 387tone(buzzer, 520 ,80); 388delay ( 150); 389tone(buzzer, 580 ,80); 390delay ( 150); 391tone(buzzer, 480 ,80); 392delay ( 500); 393 394tone(buzzer, 510 ,100); 395delay ( 450); 396tone(buzzer, 380 ,100); 397delay ( 400); 398tone(buzzer, 320 ,100); 399delay ( 500); 400tone(buzzer, 440 ,100); 401delay ( 300); 402tone(buzzer, 480 ,80); 403delay ( 330); 404tone(buzzer, 450 ,100); 405delay ( 150); 406tone(buzzer, 430 ,100); 407delay ( 300); 408tone(buzzer, 380 ,100); 409delay ( 200); 410tone(buzzer, 660 ,80); 411delay ( 200); 412tone(buzzer, 760 ,50); 413delay ( 150); 414tone(buzzer, 860 ,100); 415delay ( 300); 416tone(buzzer, 700 ,80); 417delay ( 150); 418tone(buzzer, 760 ,50); 419delay ( 350); 420tone(buzzer, 660 ,80); 421delay ( 300); 422tone(buzzer, 520 ,80); 423delay ( 150); 424tone(buzzer, 580 ,80); 425delay ( 150); 426tone(buzzer, 480 ,80); 427delay ( 500); 428 429tone(buzzer, 500 ,100); 430delay ( 300); 431 432tone(buzzer, 760 ,100); 433delay ( 100); 434tone(buzzer, 720 ,100); 435delay ( 150); 436tone(buzzer, 680 ,100); 437delay ( 150); 438tone(buzzer, 620 ,150); 439delay ( 300); 440 441tone(buzzer, 650 ,150); 442delay ( 300); 443tone(buzzer, 380 ,100); 444delay ( 150); 445tone(buzzer, 430 ,100); 446delay ( 150); 447 448tone(buzzer, 500 ,100); 449delay ( 300); 450tone(buzzer, 430 ,100); 451delay ( 150); 452tone(buzzer, 500 ,100); 453delay ( 100); 454tone(buzzer, 570 ,100); 455delay ( 220); 456 457tone(buzzer, 500 ,100); 458delay ( 300); 459 460tone(buzzer, 760 ,100); 461delay ( 100); 462tone(buzzer, 720 ,100); 463delay ( 150); 464tone(buzzer, 680 ,100); 465delay ( 150); 466tone(buzzer, 620 ,150); 467delay ( 300); 468 469tone(buzzer, 650 ,200); 470delay ( 300); 471 472tone(buzzer, 1020 ,80); 473delay ( 300); 474tone(buzzer, 1020 ,80); 475delay ( 150); 476tone(buzzer, 1020 ,80); 477delay ( 300); 478 479tone(buzzer, 380 ,100); 480delay ( 300); 481tone(buzzer, 500 ,100); 482delay ( 300); 483 484tone(buzzer, 760 ,100); 485delay ( 100); 486tone(buzzer, 720 ,100); 487delay ( 150); 488tone(buzzer, 680 ,100); 489delay ( 150); 490tone(buzzer, 620 ,150); 491delay ( 300); 492 493tone(buzzer, 650 ,150); 494delay ( 300); 495tone(buzzer, 380 ,100); 496delay ( 150); 497tone(buzzer, 430 ,100); 498delay ( 150); 499 500tone(buzzer, 500 ,100); 501delay ( 300); 502tone(buzzer, 430 ,100); 503delay ( 150); 504tone(buzzer, 500 ,100); 505delay ( 100); 506tone(buzzer, 570 ,100); 507delay ( 420); 508 509tone(buzzer, 585 ,100); 510delay ( 450); 511 512tone(buzzer, 550 ,100); 513delay ( 420); 514 515tone(buzzer, 500 ,100); 516delay ( 360); 517/* 518tone(buzzer, 380 ,100); 519delay ( 300); 520tone(buzzer, 500 ,100); 521delay ( 300); 522tone(buzzer, 500 ,100); 523delay ( 150); 524tone(buzzer, 500 ,100); 525delay ( 300); 526 527tone(buzzer, 500 ,100); 528delay ( 300); 529 530tone(buzzer, 760 ,100); 531delay ( 100); 532tone(buzzer, 720 ,100); 533delay ( 150); 534tone(buzzer, 680 ,100); 535delay ( 150); 536tone(buzzer, 620 ,150); 537delay ( 300); 538 539tone(buzzer, 650 ,150); 540delay ( 300); 541tone(buzzer, 380 ,100); 542delay ( 150); 543tone(buzzer, 430 ,100); 544delay ( 150); 545 546tone(buzzer, 500 ,100); 547delay ( 300); 548tone(buzzer, 430 ,100); 549delay ( 150); 550tone(buzzer, 500 ,100); 551delay ( 100); 552tone(buzzer, 570 ,100); 553delay ( 220); 554 555tone(buzzer, 500 ,100); 556delay ( 300); 557 558tone(buzzer, 760 ,100); 559delay ( 100); 560tone(buzzer, 720 ,100); 561delay ( 150); 562tone(buzzer, 680 ,100); 563delay ( 150); 564tone(buzzer, 620 ,150); 565delay ( 300); 566 567tone(buzzer, 650 ,200); 568delay ( 300); 569 570tone(buzzer, 1020 ,80); 571delay ( 300); 572tone(buzzer, 1020 ,80); 573delay ( 150); 574tone(buzzer, 1020 ,80); 575delay ( 300); 576 577tone(buzzer, 380 ,100); 578delay ( 300); 579tone(buzzer, 500 ,100); 580delay ( 300); 581 582tone(buzzer, 760 ,100); 583delay ( 100); 584tone(buzzer, 720 ,100); 585delay ( 150); 586tone(buzzer, 680 ,100); 587delay ( 150); 588tone(buzzer, 620 ,150); 589delay ( 300); 590 591tone(buzzer, 650 ,150); 592delay ( 300); 593tone(buzzer, 380 ,100); 594delay ( 150); 595tone(buzzer, 430 ,100); 596delay ( 150); 597 598tone(buzzer, 500 ,100); 599delay ( 300); 600tone(buzzer, 430 ,100); 601delay ( 150); 602tone(buzzer, 500 ,100); 603delay ( 100); 604tone(buzzer, 570 ,100); 605delay ( 420); 606 607tone(buzzer, 585 ,100); 608delay ( 450); 609 610tone(buzzer, 550 ,100); 611delay ( 420); 612 613tone(buzzer, 500 ,100); 614delay ( 360); 615 616tone(buzzer, 380 ,100); 617delay ( 300); 618tone(buzzer, 500 ,100); 619delay ( 300); 620tone(buzzer, 500 ,100); 621delay ( 150); 622tone(buzzer, 500 ,100); 623delay ( 300); 624 625tone(buzzer, 500 ,60); 626delay ( 150); 627tone(buzzer, 500 ,80); 628delay ( 300); 629tone(buzzer, 500 ,60); 630delay ( 350); 631tone(buzzer, 500 ,80); 632delay ( 150); 633tone(buzzer, 580 ,80); 634delay ( 350); 635tone(buzzer, 660 ,80); 636delay ( 150); 637tone(buzzer, 500 ,80); 638delay ( 300); 639tone(buzzer, 430 ,80); 640delay ( 150); 641tone(buzzer, 380 ,80); 642delay ( 600); 643 644tone(buzzer, 500 ,60); 645delay ( 150); 646tone(buzzer, 500 ,80); 647delay ( 300); 648tone(buzzer, 500 ,60); 649delay ( 350); 650tone(buzzer, 500 ,80); 651delay ( 150); 652tone(buzzer, 580 ,80); 653delay ( 150); 654tone(buzzer, 660 ,80); 655delay ( 550); 656 657tone(buzzer, 870 ,80); 658delay ( 325); 659tone(buzzer, 760 ,80); 660delay ( 600); 661 662tone(buzzer, 500 ,60); 663delay ( 150); 664tone(buzzer, 500 ,80); 665delay ( 300); 666tone(buzzer, 500 ,60); 667delay ( 350); 668tone(buzzer, 500 ,80); 669delay ( 150); 670tone(buzzer, 580 ,80); 671delay ( 350); 672tone(buzzer, 660 ,80); 673delay ( 150); 674tone(buzzer, 500 ,80); 675delay ( 300); 676tone(buzzer, 430 ,80); 677delay ( 150); 678tone(buzzer, 380 ,80); 679delay ( 600); 680 681tone(buzzer, 660 ,100); 682delay ( 150); 683tone(buzzer, 660 ,100); 684delay ( 300); 685tone(buzzer, 660 ,100); 686delay ( 300); 687tone(buzzer, 510 ,100); 688delay ( 100); 689tone(buzzer, 660 ,100); 690delay ( 300); 691tone(buzzer, 770 ,100); 692delay ( 550); 693tone(buzzer, 380 ,100); 694delay ( 575); 695*/ 696} 697 698void HarryPotter(){ 699 pointer = 3; 700 lcd.clear(); 701 Serial.println("Suonando..Harry Potter Theme"); 702 lcd.setCursor(0, 0); 703 lcd.print("Musica"); 704 lcd.setCursor(0, 1); 705 lcd.print("Harry Potter"); 706 setTone(buzzer, Music.B, tempo * Length.one); 707 setTone(buzzer, Music.E, tempo * Length.one_half); 708 setTone(buzzer, Music.G, tempo * Length.half); 709 setTone(buzzer, Music.F, tempo * Length.one); 710 setTone(buzzer, Music.E, tempo * Length.two); 711 setTone(buzzer, Music.B2, tempo * Length.one); 712 setTone(buzzer, Music.A2, tempo * Length.two_half); 713 setTone(buzzer, Music.Fs, tempo * Length.two_half); 714 715 setTone(buzzer, Music.E, tempo * Length.one_half); 716 setTone(buzzer, Music.G, tempo * Length.half); 717 setTone(buzzer, Music.F, tempo * Length.one); 718 setTone(buzzer, Music.Ds, tempo * Length.two); 719 setTone(buzzer, Music.F, tempo * Length.one); 720 setTone(buzzer, Music.B, tempo * Length.two_half); 721}
Code
arduino
1#include "IRremote.h" 2#include <LiquidCrystal.h> 3#define LED_ON 10 4#define LED_OFF 8 5int receiver = 13; 6int pointer; 7LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 8IRrecv irrecv(receiver); 9decode_results results; 10String waiting[] = { 11"1-Pirati Caraibi", 12"2-Super Mario", 13"3-Harry Potter", 14}; 15//-------------------------------------------------------------------------------- 16//PIRATI DEI CARAIBI 17const int buzzer = 6; 18const int songspeed = 1.5; 19#define NOTE_C4 262 20#define NOTE_D4 294 21#define NOTE_E4 330 22#define NOTE_F4 349 23#define NOTE_G4 392 24#define NOTE_A4 440 25#define NOTE_B4 494 26#define NOTE_C5 523 27#define NOTE_D5 587 28#define NOTE_E5 659 29#define NOTE_F5 698 30#define NOTE_G5 784 31#define NOTE_A5 880 32#define NOTE_B5 988 33 34int notes_song_1[] = { 35 36 NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, 37 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 38 NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, 39 NOTE_A4, NOTE_G4, NOTE_A4, 0, 40 41 NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, 42 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 43 NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, 44 NOTE_A4, NOTE_G4, NOTE_A4, 0, 45 46 NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, 47 NOTE_A4, NOTE_C5, NOTE_D5, NOTE_D5, 0, 48 NOTE_D5, NOTE_E5, NOTE_F5, NOTE_F5, 0, 49 NOTE_E5, NOTE_D5, NOTE_E5, NOTE_A4, 0, 50 51 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 52 NOTE_D5, NOTE_E5, NOTE_A4, 0, 53 NOTE_A4, NOTE_C5, NOTE_B4, NOTE_B4, 0, 54 NOTE_C5, NOTE_A4, NOTE_B4, 0, 55 56 NOTE_A4, NOTE_A4, /* 57 58 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 59 NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, 60 NOTE_A4, NOTE_G4, NOTE_A4, 0, 61 62 NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, 63 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 64 NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, 65 NOTE_A4, NOTE_G4, NOTE_A4, 0, 66 67 NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, 68 NOTE_A4, NOTE_C5, NOTE_D5, NOTE_D5, 0, 69 NOTE_D5, NOTE_E5, NOTE_F5, NOTE_F5, 0, 70 NOTE_E5, NOTE_D5, NOTE_E5, NOTE_A4, 0, 71 72 NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, 73 NOTE_D5, NOTE_E5, NOTE_A4, 0, 74 NOTE_A4, NOTE_C5, NOTE_B4, NOTE_B4, 0, 75 NOTE_C5, NOTE_A4, NOTE_B4, 0,*/ 76}; 77 78int duration_song_1[] = { 79 80 125, 125, 250, 125, 125, 81 125, 125, 250, 125, 125, 82 125, 125, 250, 125, 125, 83 125, 125, 375, 125, 84 85 125, 125, 250, 125, 125, 86 125, 125, 250, 125, 125, 87 125, 125, 250, 125, 125, 88 125, 125, 375, 125, 89 90 125, 125, 250, 125, 125, 91 125, 125, 250, 125, 125, 92 125, 125, 250, 125, 125, 93 125, 125, 125, 250, 125, 94 95 125, 125, 250, 125, 125, 96 250, 125, 250, 125, 97 125, 125, 250, 125, 125, 98 125, 125, 375, 375, 99 100 250, 125, 101 102 125, 125, 250, 125, 125, 103 125, 125, 250, 125, 125, 104 125, 125, 375, 125, 105 106 125, 125, 250, 125, 125, 107 125, 125, 250, 125, 125, 108 125, 125, 250, 125, 125, 109 125, 125, 375, 125, 110 111 125, 125, 250, 125, 125, 112 125, 125, 250, 125, 125, 113 125, 125, 250, 125, 125, 114 125, 125, 125, 250, 125, 115 116 125, 125, 250, 125, 125, 117 250, 125, 250, 125, 118 125, 125, 250, 125, 125, 119 125, 125, 375, 375, 120 }; 121//FINE 122//-------------------------------------------------------------------------------- 123//-------------------------------------------------------------------------------- 124//HARRY POTTER 125struct MusicStruct { 126 int A = 550; 127 int As = 582; 128 int B = 617; 129 int C = 654; 130 int Cs = 693; 131 int D = 734; 132 int Ds = 777; 133 int E = 824; 134 int F = 873; 135 int Fs = 925; 136 int G = 980; 137 int Gs = 1003; 138 int A2 = 1100; 139 int A2s = 1165; 140 int B2 = 1234; 141 int C3 = 1308; 142 int C3s = 1385; 143 int D3 = 1555; 144}Music; 145 146struct LengthStruct { 147 float half = 0.5; 148 float one = 1.0; 149 float one_half = 1.5; 150 float two = 2.0; 151 float two_half = 2.5; 152}Length; 153 154int tempo = 400; 155void setTone(int pin, int note, int duration) { 156 tone(pin, note, duration); 157 delay(duration); 158 noTone(pin); 159} 160//FINE 161 162void setup(){ 163 lcd.begin(16, 2); 164 lcd.setCursor(0, 0); 165 lcd.print("Stato"); 166 lcd.setCursor(0, 1); 167 lcd.print("Spento"); 168 pinMode(LED_ON, OUTPUT); 169 pinMode(LED_OFF, OUTPUT); 170 Serial.begin(9600); 171 Serial.println("IR Receiver Button Decode"); 172 irrecv.enableIRIn(); // Start the receiver 173 digitalWrite(LED_OFF,HIGH); 174} 175 176 177void loop(){ 178 if (irrecv.decode(&results)) 179 180 { 181 translateIR(); 182 irrecv.resume(); 183 } 184} 185 186 187void translateIR() { 188 189 switch(results.value) 190 191 { 192 193 case 0xFFA25D:{ 194 Serial.println("SPEGNI/ACCENDI"); 195 if(digitalRead(LED_OFF) == HIGH){ 196 digitalWrite(LED_ON, HIGH); 197 digitalWrite(LED_OFF,LOW); 198 lcd.setCursor(0,1); 199 lcd.print("Acceso"); 200 delay(1500); 201 break; 202 }else{ 203 digitalWrite(LED_ON, LOW); 204 digitalWrite(LED_OFF,HIGH); 205 lcd.setCursor(0,1); 206 lcd.print("Spento"); 207 break; 208 } 209 } 210 case 0xFF629D:Serial.println("VOLUME+"); break; 211 case 0xFF22DD:{ 212 if(pointer == 1){ 213 pointer == 3; 214 HarryPotter(); 215 break; 216 } 217 if(pointer == 2){ 218 pointer == 1; 219 PiratiDeiCaraibi(); 220 break; 221 } 222 if(pointer == 3){ 223 pointer == 2; 224 SuperMarioTheme(); 225 break; 226 } 227 Serial.println("LEFT"); 228 break; 229 } 230 case 0xFF02FD:{ 231 if(digitalRead(LED_ON)==HIGH){ 232 for(int i = 0; i<3; i++) 233 { 234 lcd.clear(); 235 lcd.setCursor(0,0); 236 lcd.print("Canzoni:"); 237 lcd.setCursor(0,1); 238 lcd.print(waiting[i]); 239 delay(2500); 240 } 241 lcd.clear(); 242 lcd.setCursor(0,0); 243 lcd.print("Stato"); 244 lcd.setCursor(0,1); 245 lcd.print("Acceso"); 246 247 } 248 Serial.println("PLAY"); 249 250 break;} 251 case 0xFFC23D:{ 252 if(pointer == 1){ 253 pointer == 2; 254 SuperMarioTheme(); 255 break; 256 } 257 if(pointer == 2){ 258 pointer == 3; 259 HarryPotter(); 260 break; 261 } 262 if(pointer == 3){ 263 pointer == 1; 264 PiratiDeiCaraibi(); 265 break; 266 } 267 268 Serial.println("RIGHT"); 269 break; 270 } 271 case 0xFFE01F: Serial.println("DOWN"); break; 272 case 0xFFA857: Serial.println("VOL- "); break; 273 case 0xFF906F: Serial.println("UP"); break; 274 case 0xFF6897: Serial.println("0"); break; 275 case 0xFF9867: Serial.println("EQ"); break; 276 case 0xFFB04F: Serial.println("ST/REPT"); break; 277 case 0xFF30CF:{ 278 if(digitalRead(LED_OFF) == LOW){ 279 PiratiDeiCaraibi(); 280 break; 281 } 282 else{ 283 break; 284 } 285 } 286 case 0xFF18E7:{ 287 if(digitalRead(LED_OFF) == LOW){ 288 SuperMarioTheme(); 289 break; 290 } 291 else{ 292 break; 293 } 294 } 295 case 0xFF7A85:{ 296 if(digitalRead(LED_OFF) == LOW){ 297 HarryPotter(); 298 break; 299 } 300 else{ 301 break; 302 } 303 } 304 case 0xFF10EF: Serial.println("4"); break; 305 case 0xFF38C7: Serial.println("5"); break; 306 case 0xFF5AA5: Serial.println("6");break; 307 case 0xFF42BD: Serial.println("7"); break; 308 case 0xFF4AB5: Serial.println("8"); break; 309 case 0xFF52AD: Serial.println("9");break; 310 311 default: 312 Serial.println(" other button "); 313 314 } 315 316 delay(500); 317 318 319} 320 321 322void PiratiDeiCaraibi(){ 323 pointer = 1; 324 lcd.clear(); 325 Serial.println("Suonando.. Pirati dei Caraibi"); 326 lcd.setCursor(0, 0); 327 lcd.print("Musica"); 328 lcd.setCursor(0, 1); 329 lcd.print("Pirati Caraibi"); 330 for (int i=0;i<70;i++){ 331 int wait = duration_song_1[i] * songspeed; 332 tone(buzzer,notes_song_1[i],wait); 333 delay(wait);} 334 335} 336void SuperMarioTheme(){ 337 pointer = 2; 338 lcd.clear(); 339 Serial.println("Suonando.. Super Mario Theme"); 340 lcd.setCursor(0, 0); 341 lcd.print("Musica"); 342 lcd.setCursor(0, 1); 343 lcd.print("Super Mario"); 344tone(buzzer, 660 ,100); 345delay ( 150); 346tone(buzzer, 660 ,100); 347delay ( 300); 348tone(buzzer, 660 ,100); 349delay ( 300); 350tone(buzzer, 510 ,100); 351delay ( 100); 352tone(buzzer, 660 ,100); 353delay ( 300); 354tone(buzzer, 770 ,100); 355delay ( 550); 356tone(buzzer, 380 ,100); 357delay ( 575); 358 359tone(buzzer, 510 ,100); 360delay ( 450); 361tone(buzzer, 380 ,100); 362delay ( 400); 363tone(buzzer, 320 ,100); 364delay ( 500); 365tone(buzzer, 440 ,100); 366delay ( 300); 367tone(buzzer, 480 ,80); 368delay ( 330); 369tone(buzzer, 450 ,100); 370delay ( 150); 371tone(buzzer, 430 ,100); 372delay ( 300); 373tone(buzzer, 380 ,100); 374delay ( 200); 375tone(buzzer, 660 ,80); 376delay ( 200); 377tone(buzzer, 760 ,50); 378delay ( 150); 379tone(buzzer, 860 ,100); 380delay ( 300); 381tone(buzzer, 700 ,80); 382delay ( 150); 383tone(buzzer, 760 ,50); 384delay ( 350); 385tone(buzzer, 660 ,80); 386delay ( 300); 387tone(buzzer, 520 ,80); 388delay ( 150); 389tone(buzzer, 580 ,80); 390delay ( 150); 391tone(buzzer, 480 ,80); 392delay ( 500); 393 394tone(buzzer, 510 ,100); 395delay ( 450); 396tone(buzzer, 380 ,100); 397delay ( 400); 398tone(buzzer, 320 ,100); 399delay ( 500); 400tone(buzzer, 440 ,100); 401delay ( 300); 402tone(buzzer, 480 ,80); 403delay ( 330); 404tone(buzzer, 450 ,100); 405delay ( 150); 406tone(buzzer, 430 ,100); 407delay ( 300); 408tone(buzzer, 380 ,100); 409delay ( 200); 410tone(buzzer, 660 ,80); 411delay ( 200); 412tone(buzzer, 760 ,50); 413delay ( 150); 414tone(buzzer, 860 ,100); 415delay ( 300); 416tone(buzzer, 700 ,80); 417delay ( 150); 418tone(buzzer, 760 ,50); 419delay ( 350); 420tone(buzzer, 660 ,80); 421delay ( 300); 422tone(buzzer, 520 ,80); 423delay ( 150); 424tone(buzzer, 580 ,80); 425delay ( 150); 426tone(buzzer, 480 ,80); 427delay ( 500); 428 429tone(buzzer, 500 ,100); 430delay ( 300); 431 432tone(buzzer, 760 ,100); 433delay ( 100); 434tone(buzzer, 720 ,100); 435delay ( 150); 436tone(buzzer, 680 ,100); 437delay ( 150); 438tone(buzzer, 620 ,150); 439delay ( 300); 440 441tone(buzzer, 650 ,150); 442delay ( 300); 443tone(buzzer, 380 ,100); 444delay ( 150); 445tone(buzzer, 430 ,100); 446delay ( 150); 447 448tone(buzzer, 500 ,100); 449delay ( 300); 450tone(buzzer, 430 ,100); 451delay ( 150); 452tone(buzzer, 500 ,100); 453delay ( 100); 454tone(buzzer, 570 ,100); 455delay ( 220); 456 457tone(buzzer, 500 ,100); 458delay ( 300); 459 460tone(buzzer, 760 ,100); 461delay ( 100); 462tone(buzzer, 720 ,100); 463delay ( 150); 464tone(buzzer, 680 ,100); 465delay ( 150); 466tone(buzzer, 620 ,150); 467delay ( 300); 468 469tone(buzzer, 650 ,200); 470delay ( 300); 471 472tone(buzzer, 1020 ,80); 473delay ( 300); 474tone(buzzer, 1020 ,80); 475delay ( 150); 476tone(buzzer, 1020 ,80); 477delay ( 300); 478 479tone(buzzer, 380 ,100); 480delay ( 300); 481tone(buzzer, 500 ,100); 482delay ( 300); 483 484tone(buzzer, 760 ,100); 485delay ( 100); 486tone(buzzer, 720 ,100); 487delay ( 150); 488tone(buzzer, 680 ,100); 489delay ( 150); 490tone(buzzer, 620 ,150); 491delay ( 300); 492 493tone(buzzer, 650 ,150); 494delay ( 300); 495tone(buzzer, 380 ,100); 496delay ( 150); 497tone(buzzer, 430 ,100); 498delay ( 150); 499 500tone(buzzer, 500 ,100); 501delay ( 300); 502tone(buzzer, 430 ,100); 503delay ( 150); 504tone(buzzer, 500 ,100); 505delay ( 100); 506tone(buzzer, 570 ,100); 507delay ( 420); 508 509tone(buzzer, 585 ,100); 510delay ( 450); 511 512tone(buzzer, 550 ,100); 513delay ( 420); 514 515tone(buzzer, 500 ,100); 516delay ( 360); 517/* 518tone(buzzer, 380 ,100); 519delay ( 300); 520tone(buzzer, 500 ,100); 521delay ( 300); 522tone(buzzer, 500 ,100); 523delay ( 150); 524tone(buzzer, 500 ,100); 525delay ( 300); 526 527tone(buzzer, 500 ,100); 528delay ( 300); 529 530tone(buzzer, 760 ,100); 531delay ( 100); 532tone(buzzer, 720 ,100); 533delay ( 150); 534tone(buzzer, 680 ,100); 535delay ( 150); 536tone(buzzer, 620 ,150); 537delay ( 300); 538 539tone(buzzer, 650 ,150); 540delay ( 300); 541tone(buzzer, 380 ,100); 542delay ( 150); 543tone(buzzer, 430 ,100); 544delay ( 150); 545 546tone(buzzer, 500 ,100); 547delay ( 300); 548tone(buzzer, 430 ,100); 549delay ( 150); 550tone(buzzer, 500 ,100); 551delay ( 100); 552tone(buzzer, 570 ,100); 553delay ( 220); 554 555tone(buzzer, 500 ,100); 556delay ( 300); 557 558tone(buzzer, 760 ,100); 559delay ( 100); 560tone(buzzer, 720 ,100); 561delay ( 150); 562tone(buzzer, 680 ,100); 563delay ( 150); 564tone(buzzer, 620 ,150); 565delay ( 300); 566 567tone(buzzer, 650 ,200); 568delay ( 300); 569 570tone(buzzer, 1020 ,80); 571delay ( 300); 572tone(buzzer, 1020 ,80); 573delay ( 150); 574tone(buzzer, 1020 ,80); 575delay ( 300); 576 577tone(buzzer, 380 ,100); 578delay ( 300); 579tone(buzzer, 500 ,100); 580delay ( 300); 581 582tone(buzzer, 760 ,100); 583delay ( 100); 584tone(buzzer, 720 ,100); 585delay ( 150); 586tone(buzzer, 680 ,100); 587delay ( 150); 588tone(buzzer, 620 ,150); 589delay ( 300); 590 591tone(buzzer, 650 ,150); 592delay ( 300); 593tone(buzzer, 380 ,100); 594delay ( 150); 595tone(buzzer, 430 ,100); 596delay ( 150); 597 598tone(buzzer, 500 ,100); 599delay ( 300); 600tone(buzzer, 430 ,100); 601delay ( 150); 602tone(buzzer, 500 ,100); 603delay ( 100); 604tone(buzzer, 570 ,100); 605delay ( 420); 606 607tone(buzzer, 585 ,100); 608delay ( 450); 609 610tone(buzzer, 550 ,100); 611delay ( 420); 612 613tone(buzzer, 500 ,100); 614delay ( 360); 615 616tone(buzzer, 380 ,100); 617delay ( 300); 618tone(buzzer, 500 ,100); 619delay ( 300); 620tone(buzzer, 500 ,100); 621delay ( 150); 622tone(buzzer, 500 ,100); 623delay ( 300); 624 625tone(buzzer, 500 ,60); 626delay ( 150); 627tone(buzzer, 500 ,80); 628delay ( 300); 629tone(buzzer, 500 ,60); 630delay ( 350); 631tone(buzzer, 500 ,80); 632delay ( 150); 633tone(buzzer, 580 ,80); 634delay ( 350); 635tone(buzzer, 660 ,80); 636delay ( 150); 637tone(buzzer, 500 ,80); 638delay ( 300); 639tone(buzzer, 430 ,80); 640delay ( 150); 641tone(buzzer, 380 ,80); 642delay ( 600); 643 644tone(buzzer, 500 ,60); 645delay ( 150); 646tone(buzzer, 500 ,80); 647delay ( 300); 648tone(buzzer, 500 ,60); 649delay ( 350); 650tone(buzzer, 500 ,80); 651delay ( 150); 652tone(buzzer, 580 ,80); 653delay ( 150); 654tone(buzzer, 660 ,80); 655delay ( 550); 656 657tone(buzzer, 870 ,80); 658delay ( 325); 659tone(buzzer, 760 ,80); 660delay ( 600); 661 662tone(buzzer, 500 ,60); 663delay ( 150); 664tone(buzzer, 500 ,80); 665delay ( 300); 666tone(buzzer, 500 ,60); 667delay ( 350); 668tone(buzzer, 500 ,80); 669delay ( 150); 670tone(buzzer, 580 ,80); 671delay ( 350); 672tone(buzzer, 660 ,80); 673delay ( 150); 674tone(buzzer, 500 ,80); 675delay ( 300); 676tone(buzzer, 430 ,80); 677delay ( 150); 678tone(buzzer, 380 ,80); 679delay ( 600); 680 681tone(buzzer, 660 ,100); 682delay ( 150); 683tone(buzzer, 660 ,100); 684delay ( 300); 685tone(buzzer, 660 ,100); 686delay ( 300); 687tone(buzzer, 510 ,100); 688delay ( 100); 689tone(buzzer, 660 ,100); 690delay ( 300); 691tone(buzzer, 770 ,100); 692delay ( 550); 693tone(buzzer, 380 ,100); 694delay ( 575); 695*/ 696} 697 698void HarryPotter(){ 699 pointer = 3; 700 lcd.clear(); 701 Serial.println("Suonando..Harry Potter Theme"); 702 lcd.setCursor(0, 0); 703 lcd.print("Musica"); 704 lcd.setCursor(0, 1); 705 lcd.print("Harry Potter"); 706 setTone(buzzer, Music.B, tempo * Length.one); 707 setTone(buzzer, Music.E, tempo * Length.one_half); 708 setTone(buzzer, Music.G, tempo * Length.half); 709 setTone(buzzer, Music.F, tempo * Length.one); 710 setTone(buzzer, Music.E, tempo * Length.two); 711 setTone(buzzer, Music.B2, tempo * Length.one); 712 setTone(buzzer, Music.A2, tempo * Length.two_half); 713 setTone(buzzer, Music.Fs, tempo * Length.two_half); 714 715 setTone(buzzer, Music.E, tempo * Length.one_half); 716 setTone(buzzer, Music.G, tempo * Length.half); 717 setTone(buzzer, Music.F, tempo * Length.one); 718 setTone(buzzer, Music.Ds, tempo * Length.two); 719 setTone(buzzer, Music.F, tempo * Length.one); 720 setTone(buzzer, Music.B, tempo * Length.two_half); 721}
Downloadable files
Circuit
WARNING USE 3.3 V NOT 5V FOR IR RECEIVER ATTENZIONE UTILIZZARE 3.3V E NON 5V PER IL RICEVITORE IR
Circuit
Comments
Only logged in users can leave comments
xpaul
0 Followers
•0 Projects
Table of contents
Intro
2
0