İçindekiler:

Müzik Kutusu + Arduino: 5 Adım
Müzik Kutusu + Arduino: 5 Adım

Video: Müzik Kutusu + Arduino: 5 Adım

Video: Müzik Kutusu + Arduino: 5 Adım
Video: Arduino ile Akıllı Çöp Kutusu! #shorts 2024, Temmuz
Anonim
Müzik Kutusu + Arduino
Müzik Kutusu + Arduino

Rocola Digital ve Arduino'nun programlanması için en iyi proyecto en crear. En basit ve en kolay şey, en zor şey. RGB'nin renklerini ayrı ayrı kontrol etmek için birçok işleve sahiptir. Así mismo, bir través de dos pulsadores puedes cambiar de canción (de izquierda a derecha o viceversa). Aqui te Mostraré paso bir paso en como crear uno de uno forma sencilla y creativa.

Adım 1: ¿Como Funciona?

Adım 2: Circuito Armado Y Sus Malzemeleri

Circuito Armado Y Sus Malzemeleri
Circuito Armado Y Sus Malzemeleri

¡Rocola funcione için gerekli olan malzemeler!

-Arduino UNO

- Pantalla LCD 16x2 + Interfaz I2C

- Protoboard + Mini Protoboard

- Led RGB

- Pasif Zil

- Jumper Para Protoboard

- 2 Pulsadores Elektrik

- Caja para el Circuito

Adım 3: Şema Esquemático Del Circuito Electrónico

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

Adım 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. Aquí te te técnicas que te serán útiles para poder hacer que tu Rocola funcione.

- "2. Adım" ile ilgili temel bilgiler

- "Arduino UNO" için gerekli olan en önemli şey, program işlevinin yerine getirilmesi için temel gereksinimler.

- "2. Adım"da Yaratmak ve Gerçekleştirmek.

- En son yapılacaklar için en iyi güncellemeler.

- Por último, Amerika Birleşik Devletleri'ndeki tüm kriterlerin değerlendirilmesi ve değerlendirilmesi.

Adım 5: Código De La Rocola

//Creado por: Jorge Aragon

//Librerias para la pantalla LCD con interfaz I2C'yi içerir #include #Include LiquidCrystal_I2C lcd(0x27, 16, 2); const int buzzer = 11; int contador = 0; int R = 6; int G = 9; int B = 10; int alt; int bajar; //////////////////////////MELODIAS////////////////// /////////// #define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 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 #105 NOTE_GS 98 define 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 2def_G3 NOTEGS 196 220 #define NOTE_AS3 233 #define NOTE_B3 247 #define NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_ 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 7GS5 NOTE_define 880 #define NOTE_AS5 932 #define NOTE_B5 988 #define NOTE_C6 1047 #define NOTE_CS6 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 16#61 #define NOTE_GS6 NOTE_AS6 1865 #define NOTE_B6 1976 #define NOTE_C7 2093 #define NOTE_CS7 2217 #define NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define 320 #define NOTE_GS7 NOT_ 3322 #define 320 #define NOTE_B7 3951 #define NOTE_C8 4186 #define NOTE_CS8 4435 #define NOTE_D8 4699 #define NOTE_DS8 4978 #define REST 0 //////////////////////////////// Waker Tema///////////////////////// 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 }; ////////////////////////Fırtınaların Şarkısı/////////////////// /////// const 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, 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 }; //////////////////////G Petzold'da Minuet ///////////////////// // 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, 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_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, NOT_G4, -2, }; //Tempo de las canciones int notlar=sizeof(WindWaker_melody1)/sizeof(WindWaker_melody1[0])/2; int note2=sizeof(SongOfStorms_melody2)/sizeof(SongOfStorms_melody2[0])/2; int notlar3 = sizeof(Minuet_melody3) / sizeof(Minuet_melody3[0]) / 2; int tempo = 120; int tempo2 = 160; int tempo3 = 140; int tam not = (60000 * 4) / tempo; int tam not2 = (60000 * 4) / tempo2; int tam not3 = (60000 * 4) / tempo3; int bölücü = 0, notDuration = 0; //Inicializacion del boton, pantalla LCD, y ledli RGB void setup(){ Wire.begin(); lcd.başla(16, 2); lcd.clear(); lcd.backlight(); pinMode(buzzer, OUTPUT); pinMode(4, INPUT_PULLUP); pinMode(7, INPUT_PULLUP); pinMode(R, ÇIKIŞ); pinMode(G, ÇIKIŞ); pinMode(B, ÇIKIŞ); } void loop(){ if (contador == 0){ //wind maker analogWrite(R, 0); analogWrite(G, 255); analogWrite(B, 255); lcd.clear(); lcd.setCursor(0, 0); lcd.print("RÜZGAR YAPICI"); for (int thisNote = 0; thisNote 0) { noteDuration = (bütün not) / bölücü; } else if (divider < 0) { // noktalı notlar negatif sürelerle temsil edilir!! noteDuration = (bütün not) / abs(bölücü); noteSüre *= 1.5; // noktalı notalar için süreyi yarı yarıya artırır } tone(buzzer, WindWaker_melody1[thisNote], noteDuration*0.9); // Bir sonraki notayı çalmadan önce belirli süreyi bekleyin. alt=digitalRead(4); bajar = digitalRead(7); gecikme(notSüre); noTone(sesli uyarı); if (sübir == DÜŞÜK){ contador = 1; } if (bajar == LOW){ contador = 2; } if (contador != 0){ break; } } } else if (contador == 1){ // fırtınaların şarkısını tanımlayın analogWrite(R, 255); analogWrite(G, 0); analogWrite(B, 255); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Fırtınaların Şarkısı"); for (int thisNote = 0; thisNote 0) { // normal not, sadece devam edin noteDuration = (wholenote2) / bölücü; } else if (bölücü < 0) { notDuration = (tüm not2) / abs(bölücü); noteSüre *= 1.5; // noktalı notalar için süreyi yarı yarıya artırır } tone(buzzer, pgm_read_word_near(SongOfStorms_melody2+thisNote), noteDuration * 0.9); alt=digitalRead(4); bajar = digitalRead(7); gecikme(notSüre); noTone(sesli uyarı); if (sübir == DÜŞÜK){ contador = 2; } if (bajar == DÜŞÜK){ contador = 0; } if (contador != 1){ break; } } } else if (contador == 2){ //Minuet analogWrite(R, 255); analogWrite(G, 255); analogWrite(B, 0); lcd.clear(); lcd.setCursor(0, 0); lcd.print("G'DE DAKİKA"); lcd.setCursor(0, 1); lcd.print("PETZOLD"); for (int thisNote = 0; thisNote 0) { noteDuration = (wholenote3) / bölücü; } else if (bölücü < 0) { notDuration = (wholenote3) / abs(bölücü); noteSüre *= 1.5; // noktalı notalar için süreyi yarı yarıya artırır } tone(buzzer, Minuet_melody3[thisNote], noteDuration * 0.9); alt=digitalRead(4); bajar = digitalRead(7); gecikme(notSüre); noTone(sesli uyarı); if (subir == DÜŞÜK){ contador = 0; } alt=digitalRead(4); bajar = digitalRead(7); if (bajar == LOW){ contador = 1; } if (contador != 2){ break; } } } }

Önerilen: