Orodha ya maudhui:

Jukebox + Arduino: Hatua 5
Jukebox + Arduino: Hatua 5

Video: Jukebox + Arduino: Hatua 5

Video: Jukebox + Arduino: Hatua 5
Video: It Became Unliveable! ~ Abandoned Home Of The Spenser's In The USA 2024, Julai
Anonim
Jukebox + Arduino
Jukebox + Arduino

Hii ni kazi ya kuunda Rocola Digital na mpango wa Arduino. Su función es muy rahisi y no es muy difícil de crear. La Rocola tiene muchas funciones interesantes, unajua jinsi watu wengi wanavyotumiwa na LCD kwa sababu watafufuliwa, na kwa hivyo wataweza kutazama rangi kwa njia ya RGB. Así mismo, a través de dos pulsadores puedes cambiar de canción (kutoka izquierda a derecha o viceversa). Aquí te mostraré paso a paso en como crear uno de una forma sencilla y creativa.

Hatua ya 1: ¿Como Funciona?

Hatua ya 2: Circuito Armado Y Sus Materiales

Circuito Armado Y Sus Materiales
Circuito Armado Y Sus Materiales

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

- Arduino UNO

- Pantalla LCD 16x2 + Interfaz I2C

- Protoboard + Mini Protoboard

- Iliyoongozwa RGB

- Buzzer ya kupita

- Kitabu cha ulinzi cha Jumpers Para

- 2 Pulsadores Eléctricos

- Caja para el Circuito

Hatua ya 3: Diagrama Esquemático Del Circuito Electrónico

Diagrama Esquemático Del Circuito Electrononi
Diagrama Esquemático Del Circuito Electrononi

Hatua ya 4: Técnicas Para La Construcción De La Lámpara

Como te comentaba, el crear una Rocola no es tan difícil como aparenta. Je! Unastahili kutafakari zaidi juu ya huduma kwa vipindi kwa njia ya Rocola funcione.

- Es necesario que consigas cada material que se muestra en "Hatua ya 2"

- Es necesario que tengas un "Arduino UNO", ambayo ni ya kawaida kwa sababu ya maombi kwa sababu ya programu ya funcione.

- Crea el circo físico el cual te muestro en "Hatua ya 2".

- Luego de tener todo armado copia la programación el cual te mostraré en el ultimo paso.

- Kwa sasa, tunaunda tu ubunifu wa kila kitu kinachopatikana hapa tu kwa sababu ya msimamo wa Rocola de tu vida na hakuna michezo inayopendekezwa kwa maoni.

Hatua ya 5: Código De La Rocola

// Creado por: Jorge Aragón

// Ingiza bure kwa LCD ya kuingiliana na I2C # pamoja na # pamoja na 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; /////////////////////////////// MELODIAS /////////////////////////// ////////// #fasili NOTE_B0 31 #fasili NOTE_C1 33 #fasili NOTE_CS1 35 #fasili NOTE_D1 37 #fasili NOTE_DS1 39 #fafanua NOTE_E1 41 #fafanua NOTE_F1 44 #fafanua NOTE_FS1 46 #fasili NOT NOTGG 49 49 52 # define NOTE_A1 55 # define NOTE_AS1 58 # define NOTE_B1 62 # define NOTE_C2 65 # define NOTE_CS2 69 # define NOTE_D2 73 # define NOTE_DS2 78 # define NOTE_E2 82 # define NOTE_F2 87 # define NOTE_FS2 93 # define NOTE_G2 98 # define NOTE_GS2 104 # fafanua NOTE_A2 110 #fasili NOTE_AS2 117 #fasili NOTE_B2 123 #fasili NOTE_C3 131 #fasili NOTE_CS3 139 #fasili NOTE_D3 147 #fasili NOTE_DS3 156 #fasili NOTE_E3 165 #fafanua NOTE_F3 175 #fasili NOT #FS3 185 #dif 220 #fasili NOTE_AS3 233 #fasili NOTE_B3 247 #fasili NOTE_C4 262 #fasili NOTE_CS4 277 #fasili NOTE_D4 294 #fafanua NOTE_DS4 311 #fasili NOTE_E4 330 #fafanua NOTE_F4 349 #fafanua NOT #FS4 370 #define NOT #FS4 370 #dine NOT4F4 A4 440 # define NOTE_AS4 466 # define NOTE_B4 494 # define NOTE_C5 523 # define NOTE_CS5 554 # define NOTE_D5 587 # define NOTE_DS5 622 # define NOTE_E5 659 # define NOTE_F5 698 # define NOTE_FS5 740 # define NOTE_G5 784 # define NOTE_GS5 831 # define NOTE_A5 880 #fafanua NOTE_AS5 932 #fasili NOTE_B5 988 #fasili NOTE_C6 1047 #fasili NOTE_CS6 1109 #fasili NOTE_D6 1175 #fasili NOTE_DS6 1245 #fasili NOTE_E6 1319 #fasili NOTE_F6 1397 #fafanua #Fafanua61666a6a 60 NOTE_AS6 1865 #fasili NOTE_B6 1976 #fasili NOTE_C7 2093 #fasili NOTE_CS7 2217 #fasili NOTE_D7 2349 #fasili NOTE_DS7 2489 #fafanua NOTE_E7 2637 #fasili NOTE_F7 2794 #fafanua NOTFF77 2960 #Define NOT7G7 #fafanua NOTE_B7 3951 #fasili NOTE_C8 4186 #fasili NOTE_CS8 4435 #fafanua NOTE_D8 4699 #fasili NOTE_DS8 4978 #fafanua REST 0 /////////////////////////// Wind Mandhari ya Waker ///////////////////////////// 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_D6, 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}; /////////////////////////// Wimbo wa Dhoruba /////////////////////////// / /, 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, NOTE_G5, 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, 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, NOTE_G5, 12, NOTE_E5, 2}; ///////////////////////// Minuet huko 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_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_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, NOTE_B4, 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, NOTE_A4, 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_FS5, 8, NOTE_D5, 8, SIE_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_E5, 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, 4, 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, NOTE_D4, 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, SIE_G4, -2,}; // Tempo de las canciones int notes = saizi (WindWaker_melody1) / sizeof (WindWaker_melody1 [0]) / 2; maelezo ya ndani2 = saizi ya (SongOfStorms_melody2) / sizeof (SongOfStorms_melody2 [0]) / 2; maelezo ya ndani3 = saizi ya (Minuet_melody3) / sizeof (Minuet_melody3 [0]) / 2; muda = 120; muda tempo2 = 160; tempo3 = 140; maelezo yote = (60000 * 4) / tempo; maelezo kamili2 = (60000 * 4) / tempo2; maelezo kamili3 = (60000 * 4) / tempo3; mgawanyiko wa ndani = 0, kumbukaUrefu = 0; // Inicializacion del boton, pantalla LCD, y iliongoza usanidi batili wa RGB () {Wire.begin (); lcd kuanza (16, 2); lcd wazi (); lcd taa ya nyuma (); pinMode (buzzer, OUTPUT); pinMode (4, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); pinMode (R, OUTPUT); pinMode (G, OUTPUT); pinMode (B, OUTPUT); } kitanzi batili () {if (contador == 0) {// Definir el color con el que se verá wind maker analogWrite (R, 0); Analogi Andika (G, 255); Analogi Andika (B, 255); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Mtengenezaji wa Upepo"); kwa (int thisNote = 0; hiiNote 0) {noteDuration = (maelezo yote) / mgawanyiko; } vinginevyo ikiwa (mgawanyiko <0) {// doti zenye nukta zinawakilishwa na muda hasi !! kumbukaDuration = (maelezo yote) / abs (mgawanyiko); kumbukaUrefu * = 1.5; // huongeza muda katika nusu ya vidokezo vyenye nukta} toni (buzzer, WindWaker_melody1 [hii Kumbuka], kumbukaUrefu * 0.9); // Subiri muda maalum kabla ya kucheza noti inayofuata. subir = dijitiSoma (4); bajar = kusoma kwa dijiti (7); kuchelewesha (kumbukaDuration); hakuna Sauti (buzzer); ikiwa (subir == CHINI) {contador = 1; } ikiwa (bajar == CHINI) {contador = 2; } ikiwa (contador! = 0) {mapumziko; }}}} mwingine ikiwa (contador == 1) {// Definir el color con el que se verá wimbo wa dhoruba Analogi Andika (R, 255); Andika Analog (G, 0); Analogi Andika (B, 255); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("WIMBO WA VITU"); kwa (int thisNote = 0; hiiNote 0) {// dokezo la kawaida, endelea tu noteDuration = (wholenot2) / divider; } kingine ikiwa (divider <0) {noteDuration = (wholenot2) / abs (divider); kumbukaUrefu * = 1.5; // huongeza muda katika nusu ya maandishi yenye nukta subir = dijitiSoma (4); bajar = kusoma kwa dijiti (7); kuchelewesha (kumbukaDuration); hakuna Sauti (buzzer); ikiwa (subir == CHINI) {contador = 2; } ikiwa (bajar == CHINI) {contador = 0; } ikiwa (contador! = 1) {mapumziko; }}}} mwingine ikiwa (contador == 2) {// Definir el color con el que se verá Minuet analogWrite (R, 255); Analogi Andika (G, 255); AnalogWrite (B, 0); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("MINUET IN G"); lcd.setCursor (0, 1); lcd.print ("PETZOLD"); kwa (int thisNote = 0; hiiNote 0) {noteDuration = (wholenote3) / divider; } kingine ikiwa (divider <0) {noteDuration = (wholenote3) / abs (divider); kumbukaUrefu * = 1.5; // huongeza muda katika nusu ya vidokezo vyenye nukta} toni (buzzer, Minuet_melody3 [hii Kumbuka], kumbukaUrefu * 0.9); subir = dijitiSoma (4); bajar = kusoma kwa dijiti (7); kuchelewesha (kumbukaDuration); hakuna Sauti (buzzer); ikiwa (subir == CHINI) {contador = 0; } subir = dijitiSoma (4); bajar = kusoma kwa dijiti (7); ikiwa (bajar == CHINI) {contador = 1; } ikiwa (contador! = 2) {mapumziko; }}}}

Ilipendekeza: