ዝርዝር ሁኔታ:

Jukebox + Arduino: 5 ደረጃዎች
Jukebox + Arduino: 5 ደረጃዎች

ቪዲዮ: Jukebox + Arduino: 5 ደረጃዎች

ቪዲዮ: Jukebox + Arduino: 5 ደረጃዎች
ቪዲዮ: It Became Unliveable! ~ Abandoned Home Of The Spenser's In The USA 2024, ህዳር
Anonim
Jukebox + Arduino
Jukebox + Arduino

Este proyecto consistió en crear una Rocola Digital a través de una programación de Arduino. Su función es muy simple y no es muy difícil de crear. ላ ሮኮላ tiene muchas funciones interesantes, y una de ellas es que a través de una pantalla LCD se muestra el nombre de la canción que se esta reproduciendo, y que para cada canción se muestra un color differento a través de un led RGB. Así mismo ፣ አንድ través de dos pulsadores puedes cambiar de canción (de izquierda a derecha o viceversa)። Aquí te mostraré paso a paso en como crear uno de una forma sencilla y creativa.

ደረጃ 1: ¿ኮሞ Funciona?

ደረጃ 2 - የወረዳ አርማዶ Y ሱስ ማትሪያልስ

ሰርኩቶ አርማዶ Y ሱስ ማትሪያልስ
ሰርኩቶ አርማዶ Y ሱስ ማትሪያልስ

Es necesario que tengas estos materiales para hacer que tu Rocola funcione!

- አርዱዲኖ UNO

- ፓንታላ ኤልሲዲ 16x2 + Interfaz I2C

- ፕሮቶቦርድ + ሚኒ ፕሮቶቦርድ

- መሪ አርጂቢ

- ተገብሮ Buzzer

- ዝላይዎች ፓራ ፕሮቶቦርድ

- 2 Pulsadores Eléctricos

- Caja para el Circuito

ደረጃ 3 Diagrama Esquemático Del Circuito Electrónico

Diagrama Esquemático Del Circuito Electrónico
Diagrama Esquemático Del Circuito Electrónico

ደረጃ 4 - ቴክኒካስ ፓራ ላ ኮንስትራክሺዮን ዴ ላ ላምፓራ

Como te comentaba, el crear una Rocola no es tan difícil como aparenta. Aquí te dare unas técnicas que te serán útiles para poder hacer que tu Rocola funcione.

- Es necesario que consigas cada material que se muestra en "ደረጃ 2"

- Es necesario que tengas un "Arduino UNO", al igual que la aplicación para poder hacer que la programación funcione.

- "ደረጃ 2" ውስጥ ክሬያ ኤል ወረዳ።

- ሉጎጎ ዴ ቴነር አርማዶ ኮፒያ ላ ፕሮግራሚዮን ኤል cual te mostraré en el ultimo paso.

- ፖር ኡልቲሞ ፣ ዩአ ቱ ፍሪቪዲዳድ እና ኮንሴሲንግ አልጎ እስከ ቴንጋስ ኢን ቱ ካሳ ፓራ ፖደር ሄርስ ላ ሜጀር ሮኮላ ዴ ቱ ቪዳ ኢ ኖ ቴ ኦልቪድስ እና ዲኮራራላ በቱ መስፈርት።

ደረጃ 5 - ኮዲጎ ዴ ላ ሮኮላ

// ክሬዶ ፖር: ጆርጅ አራጎን

// ለሊ ላ ፓንታላ ኤልሲዲ ኢንፍራፋዝ I2C #ጨምሮ #LiquidCrystal_I2C lcd (0x27 ፣ 16 ፣ 2) ጨምሮ። const int buzzer = 11; int contador = 0; int R = 6; int G = 9; int B = 10; int subir; int bajar; ////////////////////////////// ሜሎዲያስ/ /////////// #መለየት ማስታወሻ_B0 31 #መለየት ማስታወሻ_C1 33 #መለየት ማስታወሻ_ሲኤስኤስ 35 #ጥርት ያለ ማስታወሻ_D1 37 #ጥርት ያለ ማስታወሻ_DS1 39 #ጥርት ያለ ማስታወሻ_E1 41 #ጥርት ያለ ማስታወሻ_ኤፍ 1 44 52 #ገላጭ ማስታወሻ_አ 1 55 #ገላጭ ማስታወሻ_ኤስ 1 58 #ገላጭ ማስታወሻ_B1 62 #ጥርት ያለ ማስታወሻ_C2 65 #ጥርት ያለ ማስታወሻ_ሲ.ኤስ 69 69 #ጥርት ያለ ማስታወሻ_D2 73 #ጥርት ያለ ማስታወሻ_DS2 78 #መግለፅ_ኢ 2 NOTE_A2 110 #define NOTE_AS2 117 #define NOTE_B2 123 #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_A3 ለመበየን 220 #መለየት NOTE_AS3 233 #መግለፅ ማስታወሻ_B3 247 #መግለፅ ማስታወሻ_C4 262 #መለየት NOTE_CS4 277 #ጥርት ያለ ማስታወሻ_D4 294 #ጥርት ያለ ማስታወሻ_DS4 311 #ጥርት ያለ ማስታወሻ_E4 330 #መግለፅን ማሳወቅ_ኤፍ 4 349 #ጥቂቱን_እኔ_እኔ_እኔ_እኔ_እኔ_እኔ_እ 39_እውቀቱን #39_እውቀትን A4 440 #ጥርት ያለ ማስታወሻ_AS4 466 #ገላጭ ማስታወሻ_B4 494 #ገላጭ ማስታወሻ_C5 523 #ጥርት ያለ ማስታወሻ_CS5 554 #ጥርት ያለ ማስታወሻ_D5 587 #ጥርት ያለ ማስታወሻ_DS5 622 #ጥርት ያለ ማስታወሻ_E5 659 #ጥፋተኛ አለመሆኑን #ጥርት ያለ ማስታወሻ_AS5 932 #ጥርት ማስታወሻ_B5 988 #ገላጭ ማስታወሻ_C6 1047 #ጥርት ያለ ማስታወሻ_CS6 1109 #ጥርት ያለ ማስታወሻ_D6 1175 #ጥርት ያለ ማስታወሻ_DS6 1245 #ጥርት ያለ ማስታወሻ_E6 1319 #መግለፅን አይገባን_ፍ 6 1397 #ጥፋቱን #ጥፋቱን #ጥፋቱን #ጥፋቱን #156_እውነቱን NOTE_AS6 1865 #ተገለፀ ማስታወሻ_B6 1976 #ጥርት ያለ ማስታወሻ_C7 2093 #ጥርት ያለ ማስታወሻ_CS7 2217 #ጥርት ያለ ማስታወሻ_D7 2349 #ጥርት ያለ ማስታወሻ_DS7 2489 #ጥርት ያለ ማስታወሻ_E7 2637 #ፍፁም አይደለም #37_EFE_EFE_EFE_EEBE_EEBE_Efine_Efine_Efine_Efine_Efine_Efine_Efine_Efine_Efine_Efine_Efine_Efine_Efine_Efine_EFE #ገላጭ ማስታወሻ_B7 3951 #ገላጭ ማስታወሻ_C8 4186 #ገላጭ ማስታወሻ_ሲኤስ8 4435 #ጥርት ያለ ማስታወሻ_D8 4699 #ጥርት ያለ ማስታወሻ_DS8 4978 #ገላጭ እረፍት 0 ///////////////////// ዋከር ጭብጥ ///////////////////////////// int WindWaker_melody1 = {NOTE_A5 ፣ 4 ፣ NOTE_A5 ፣ 8 ፣ NOTE_A5 ፣ 4 ፣ NOTE_D6 ፣ 8 ፣ NOTE_F6 ፣ 4 ፣ NOTE_E6 ፣ 8 ፣ NOTE_D6 ፣ 4 ፣ NOTE_C6 ፣ 8 ፣ NOTE_D6 ፣ 4 ፣ NOTE_B5 ፣ 8 ፣ NOTE_G5 ፣ 4 ፣ NOTE_C6 ፣ 8 NOTE_A5 ፣ 8 ፣ NOTE_D6 ፣ 8 ፣ NOTE_B5 ፣ 8 ፣ NOTE_C6 ፣ 4 ፣ NOTE_A5 ፣ 8 ፣ NOTE_G5 ፣ 4 ፣ NOTE_D6 ፣ 8 ፣ NOTE_B5 ፣ 4 ፣ NOTE_C6 ፣ 8 ፣ NOTE_D6 ፣ 4 ፣ NOTE_E6 ፣ 8 ፣ NOTE_F6 ፣ 8 ፣ NOTE_F6 ፣ 8 ፣ 8 ፣ NOTE_E6 ፣ 8 ፣ NOTE_A5 ፣ 4 ፣ NOTE_A5 ፣ 8 ፣ NOTE_A5 ፣ 4 ፣ NOTE_D6 ፣ 8 ፣ NOTE_F6 ፣ 4 ፣ NOTE_E6 ፣ 8 ፣ NOTE_D6 ፣ 4 ፣ NOTE_C6 ፣ 8 ፣ NOTE_D6 ፣ 4 ፣ NOTE_B5 ፣ 8 ፣ NOTE_G5 ፣ 4 NOTE_C6 ፣ 8 ፣ NOTE_A5 ፣ 8 ፣ NOTE_D6 ፣ 8 ፣ NOTE_B5 ፣ 8 ፣ NOTE_C6 ፣ 4 ፣ NOTE_D6 ፣ 8 ፣ NOTE_F6 ፣ 4 ፣ NOTE_A6 ፣ 8 ፣ NOTE_B6 ፣ 8 ፣ NOTE_F6 ፣ 8 ፣ NOTE_C6 ፣ 8 ፣ NOTE_D6 ፣ 2}; ///////////////////////// /////// int int SongOfStorms_melody2 PROGMEM = {NOTE_D5 ፣ 12 ፣ NOTE_F5 ፣ 12 ፣ NOTE_D6 ፣ 3 ፣ NOTE_D5 ፣ 12 ፣ NOTE_F5 ፣ 12 ፣ NOTE_D6 ፣ 3 ፣ NOTE_E6 ፣ 5 ፣ NOTE_F6 ፣ 10 ፣ NOTE_E6 ፣ 12 ፣ NOTE_F6 ፣ 12 ፣ NOTE_E6 ፣ 12 ፣ NOTE_C6 ፣ 12 ፣ NOTE_A5 ፣ 3 ፣ NOTE_A5 ፣ 6 ፣ NOTE_D5 ፣ 6 ፣ NOTE_F5 ፣ 12 ፣ NOTE_G5 ፣ 12 ፣ NOTE_A5 ፣ 2 ፣ NOTE_A5 ፣ 6 ፣ NOTE_D5 ፣ 6 ፣ NOTE_F5 ፣ 12 ፣ ፣ 12 ፣ NOTE_E5 ፣ 2 ፣ NOTE_D5 ፣ 12 ፣ NOTE_F5 ፣ 12 ፣ NOTE_D6 ፣ 3 ፣ NOTE_D5 ፣ 12 ፣ NOTE_F5 ፣ 12 ፣ NOTE_D6 ፣ 3 ፣ NOTE_E6 ፣ 5 ፣ NOTE_F6 ፣ 10 ፣ NOTE_E6 ፣ 12 ፣ NOTE_F6 ፣ 12 ፣ NOTE_E6 ፣ 6 ፣ NOTE_C6 ፣ 12 ፣ NOTE_A5 ፣ 3 ፣ NOTE_A5 ፣ 6 ፣ NOTE_D5 ፣ 6 ፣ NOTE_F5 ፣ 12 ፣ NOTE_G5 ፣ 12 ፣ NOTE_A5 ፣ 2 ፣ NOTE_A5 ፣ 6 ፣ NOTE_D5 ፣ 6 ፣ NOTE_F5 ፣ 12 ፣ NOTE_G5 ፣ 12 ፣ NOTE_E5 ፣ 2; ////////////////////////// ሚነውት በ G Petzold //////////////// // int Minuet_melody3 = {NOTE_D5 ፣ 4 ፣ NOTE_G4 ፣ 8 ፣ NOTE_A4 ፣ 8 ፣ NOTE_B4 ፣ 8 ፣ NOTE_C5 ፣ 8 ፣ NOTE_D5 ፣ 4 ፣ NOTE_G4 ፣ 4 ፣ NOTE_G4 ፣ 4 ፣ NOTE_E5 ፣ 4 ፣ NOTE_C5 ፣ 8 ፣ NOTE_ 8 ፣ NOTE_E5 ፣ 8 ፣ NOTE_FS5 ፣ 8 ፣ NOTE_G5 ፣ 4 ፣ NOTE_G4 ፣ 4 ፣ NOTE_G4 ፣ 4 ፣ NOTE_C5 ፣ 4 ፣ NOTE_D5 ፣ 8 ፣ NOTE_C5 ፣ 8 ፣ NOTE_B4 ፣ 8 ፣ NOTE_A4 ፣ 8 ፣ NOTE_B4 ፣ 4 ፣ NOTE_C5 ፣ 8 NOTE_B4 ፣ 8 ፣ NOTE_A4 ፣ 8 ፣ NOTE_G4 ፣ 8 ፣ NOTE_FS4 ፣ 4 ፣ NOTE_G4 ፣ 8 ፣ NOTE_A4 ፣ 8 ፣ NOTE_B4 ፣ 8 ፣ NOTE_G4 ፣ 8 ፣ NOTE_A4 ፣ -2 ፣ NOTE_D5 ፣ 4 ፣ NOTE_G4 ፣ 8 ፣ NOTE_A4 ፣ 8 ፣ ፣ 8 ፣ NOTE_C5 ፣ 8 ፣ NOTE_D5 ፣ 4 ፣ NOTE_G4 ፣ 4 ፣ NOTE_G4 ፣ 4 ፣ NOTE_E5 ፣ 4 ፣ NOTE_C5 ፣ 8 ፣ NOTE_D5 ፣ 8 ፣ NOTE_E5 ፣ 8 ፣ NOTE_FS5 ፣ 8 ፣ NOTE_G5 ፣ 4 ፣ NOTE_G4 ፣ 4 ፣ NOTE_G4 ፣ 4 ፣ NOTE_C5 ፣ 4 ፣ NOTE_D5 ፣ 8 ፣ NOTE_C5 ፣ 8 ፣ NOTE_B4 ፣ 8 ፣ NOTE_A4 ፣ 8 ፣ NOTE_B4 ፣ 4 ፣ NOTE_C5 ፣ 8 ፣ NOTE_B4 ፣ 8 ፣ NOTE_A4 ፣ 8 ፣ NOTE_G4 ፣ 8 ፣ NOTE_A4 ፣ 4 ፣ NOTE_B4 ፣ 8 ፣ ፣ 8 ፣ NOTE_G4 ፣ 8 ፣ NOTE_FS4 ፣ 8 ፣ NOTE_G4 ፣ -2 ፣ NOTE_B5 ፣ 4 ፣ NOTE_G5 ፣ 8 ፣ NOTE_A5 ፣ 8 ፣ NOTE_B5 ፣ 8 ፣ NOTE_G5 ፣ 8 ፣ NOTE_A5 ፣ 4 ፣ NOTE_D5 ፣ 8 ፣ NOTE_E5 ፣ 8 ፣ NOTE_FS 8 ፣ NOTE_D5 ፣ 8 ፣ NOTE_G5 ፣ 4 ፣ NOTE_E5 ፣ 8 ፣ NOTE_FS5 ፣ 8 ፣ NOTE_G5 ፣ 8 ፣ NOTE_D5 ፣ 8 ፣ NOTE_CS5 ፣ 4 ፣ NOTE_B4 ፣ 8 ፣ NOTE_CS5 ፣ 8 ፣ NOTE_A4 ፣ 4 ፣ NOTE_A4 ፣ 8 ፣ NOTE_B4 ፣ 8 ፣ NOTE_CS5 ፣ 8 ፣ NOTE_D5 ፣ 8 ፣ NOTE_D5 8 ፣ NOTE_FS5 ፣ 8 ፣ NOTE_G5 ፣ 4 ፣ NOTE_FS5 ፣ 4 ፣ NOTE_E5 ፣ 4 ፣ NOTE_FS5 ፣ 4 ፣ NOTE_A4 ፣ 4 ፣ NOTE_CS5 ፣ 4 ፣ NOTE_D5 ፣ -2 ፣ NOTE_D5 ፣ 4 ፣ NOTE_G4 ፣ 8 ፣ NOTE_FS5 ፣ 8 ፣ NOTE_G4 ፣ NOTE_E5 ፣ 4 ፣ NOTE_G4 ፣ 8 ፣ NOTE_FS4 ፣ 8 ፣ NOTE_G4 ፣ 4 ፣ NOTE_D5 ፣ 4 ፣ NOTE_C5 ፣ 4 ፣ NOTE_B4 ፣ 4 ፣ NOTE_A4 ፣ 8 ፣ NOTE_G4 ፣ 8 ፣ NOTE_FS4 ፣ 8 ፣ NOTE_G4 ፣ 8 ፣ NOTE_A4 ፣ 4 ፣ 4 ፣ 8 ፣ NOTE_E4 ፣ 8 ፣ NOTE_FS4 ፣ 8 ፣ NOTE_G4 ፣ 8 ፣ NOTE_A4 ፣ 8 ፣ NOTE_B4 ፣ 8 ፣ NOTE_C5 ፣ 4 ፣ NOTE_B4 ፣ 4 ፣ NOTE_A4 ፣ 4 ፣ NOTE_B4 ፣ 8 ፣ NOTE_D5 ፣ 8 ፣ NOTE_G4 ፣ 4 ፣ NOTE_FS4 ፣ 4 ፣ NOTE_G4 ፣ -2 ፣}; // Tempo de las canciones int notes = sizeof (WindWaker_melody1)/sizeof (WindWaker_melody1 [0])/2; int notes2 = sizeof (SongOfStorms_melody2)/sizeof (SongOfStorms_melody2 [0])/2; int notes3 = sizeof (Minuet_melody3) / sizeof (Minuet_melody3 [0]) / 2; int tempo = 120; int tempo2 = 160; int tempo3 = 140; int wholenote = (60000 * 4) / ቴምፕ; int wholenote2 = (60000 * 4) / tempo2; int wholenote3 = (60000 * 4) / tempo3; int divider = 0 ፣ noteDuration = 0; // Inicializacion del boton ፣ pantalla LCD ፣ y led RGB ባዶነት ማዋቀር () {Wire.begin (); lcd.begin (16, 2); lcd.clear (); lcd.backlight (); pinMode (buzzer, OUTPUT); pinMode (4 ፣ INPUT_PULLUP); pinMode (7 ፣ INPUT_PULLUP); pinMode (አር ፣ ውፅዓት); pinMode (ጂ ፣ ውፅዓት); pinMode (ቢ ፣ ውፅዓት); } ባዶ ክፍተት () {ከሆነ (contador == 0) {// Definir el color con el que se verá wind maker analogWrite (R, 0); analogWrite (G, 255); አናሎግ ፃፍ (ቢ ፣ 255); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("WIND MAKER"); ለ (int thisNote = 0; thisNote 0) {noteDuration = (wholenote) / divider; } ሌላ ከሆነ (ከፋፋይ <0) {// የነጥብ ማስታወሻዎች በአሉታዊ ቆይታዎች ከተወከሉ !! noteDuration = (ሙሉ መረጃ) / abs (ከፋይ); noteDuration *= 1.5; // ለነጥብ ማስታወሻዎች} ቆይታውን በግማሽ ይጨምራል} ቃና (buzzer ፣ WindWaker_melody1 [thisNote] ፣ noteDuration*0.9); // የሚቀጥለውን ማስታወሻ ከመጫወትዎ በፊት የልዩ ባለሙያውን ቆይታ ይጠብቁ። subir = digitalRead (4); bajar = digitalRead (7); መዘግየት (noteDuration); noTone (buzzer); ከሆነ (subir == LOW) {contador = 1; } ከሆነ (bajar == LOW) {contador = 2; } ከሆነ (contador! = 0) {break; }}} ሌላ ከሆነ (contador == 1) {// Definir el color con el que se verá of storges analogWrite (R, 255); analogWrite (G, 0); አናሎግ ፃፍ (ቢ ፣ 255); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("አውሎ ነፋሶች መዝሙር"); ለ (int thisNote = 0; thisNote 0) {// መደበኛ ማስታወሻ ፣ ልክ noteDuration = (wholenote2) / divider ን ይቀጥሉ ፤ } ሌላ ከሆነ (ከፋይ <0) {noteDuration = (wholenote2) / abs (ከፋይ); noteDuration *= 1.5; // በነጥብ ማስታወሻዎች} ቆይታውን በግማሽ ይጨምራል/ ቃና (buzzer ፣ pgm_read_word_near (SongOfStorms_melody2+thisNote) ፣ noteDuration * 0.9); subir = digitalRead (4); bajar = digitalRead (7); መዘግየት (noteDuration); noTone (buzzer); ከሆነ (subir == LOW) {contador = 2; } ከሆነ (bajar == LOW) {contador = 0; } ከሆነ (contador! = 1) {break; }}} ሌላ ከሆነ (contador == 2) {// Definir el color con el que se verá Minuet analogWrite (R, 255); analogWrite (G, 255); አናሎግ ፃፍ (ቢ ፣ 0); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("MINUET IN G"); lcd.setCursor (0, 1); lcd.print ("PETZOLD"); ለ (int thisNote = 0; thisNote 0) {noteDuration = (wholenote3) / divider; } ሌላ ከሆነ (ከፋይ <0) {noteDuration = (wholenote3) / abs (ከፋይ); noteDuration *= 1.5; // ለነጥብ ማስታወሻዎች} ቆይታውን በግማሽ ይጨምራል} ቃና (buzzer, Minuet_melody3 [thisNote], noteDuration * 0.9); subir = digitalRead (4); bajar = digitalRead (7); መዘግየት (noteDuration); noTone (buzzer); ከሆነ (subir == LOW) {contador = 0; } subir = digitalRead (4); bajar = digitalRead (7); ከሆነ (bajar == LOW) {contador = 1; } ከሆነ (contador! = 2) {break; }}}}

የሚመከር: