Агуулгын хүснэгт:

Jukebox + Arduino: 5 алхам
Jukebox + Arduino: 5 алхам

Видео: Jukebox + Arduino: 5 алхам

Видео: Jukebox + Arduino: 5 алхам
Видео: Using a Raspberry Pi to upgrade a broken jukebox! 2024, Долдугаар сарын
Anonim
Jukebox + Arduino
Jukebox + Arduino

Rocola Digital програмыг Arduino програмаар дамжуулан үзэх боломжтой болно. Энэ нь маш энгийн бөгөөд ямар ч асуудалгүй юм. Тайлбарыг буцааж англи (Америкийн Нэгдсэн Улс) руу орчуулах Орчуулах La Rocola tiene muchas funciones interesantes, a una de ellas es que a través de una pantalla LCD дэлгэц di la canción que se esta reproduciendo, y que para cada canción se muestra un color distinto a través de un led RGB. Нөгөөтэйгүүр, энэ нь камерын зураг авалт юм. Энэ тохиолдолд хамгийн сайн шийдлийг олж авах боломжтой.

Алхам 1: Комо Фунциона уу?

Алхам 2: Circuito Armado Y Sus Materiales

Circuito Armado Y Sus Materiales
Circuito Armado Y Sus Materiales

Тайлбарыг буцааж англи (Их Британи) руу орчуулах Орчуулах!

- Arduino UNO

- Pantalla LCD 16x2 + Interfaz I2C

- Protoboard + Mini Protoboard

- RGB удирдсан

- Идэвхгүй дуугаралт

- Пара протобоард үсрэгчид

- 2 Pulsadores Eléctricos

- Caja para el Circuito

Алхам 3: Esquemático Del Circuito Electrónico диаграмм

Диаграмма Esquemático Del Circuito Electrónico
Диаграмма Esquemático Del Circuito Electrónico

Алхам 4: Técnicas Para La Construcción De La Lámpara

Como te comentaba, el crear una una Rocola no es tan difícil como aparenta. Та үүнийг хийхээс өөр аргагүй болно.

- "2 -р алхам" дахь хамгийн чухал материалууд.

- Энэ нь "Arduino UNO", өөрөөр хэлбэл програм хангамжийн функцуудын аль алинд нь шаардлагатай болно.

- Crea el circuito físico el cual te muestro "2 -р алхам".

- Хөтөлбөр нь програм хангамжийн програм хангамжийн програм хангамжийн програм хангамж юм.

- Мэдээжийн хэрэг, АНУ -ын бүтээлүүд нь ямар ч шалгуур үзүүлэлттэй байдаг.

Алхам 5: Кодиго Де Ла Рокола

// Creado пор: Хорхе Арагон

// I2C LCD интерфазын номын сангийн жагсаалтыг багтаасан #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 //////////////////// /////////// #тодорхойлох NOTE_B0 31 #тодорхойлох NOTE_C1 33 #тодорхойлох NOTE_CS1 35 #тодорхойлох NOTE_D1 37 #Тодорхойлох NOTE_DS1 39 #тодорхойлох NOTE_E1 41 #тодорхойлох NOTE_F1 44 #тодорхойлох NOTE_FS1 46 #Тодорхойлох NOTEGG1 49 #тодорхойлох 52 #тодорхойлох NOTE_A1 55 #тодорхойлох NOTE_AS1 58 #тодорхойлох NOTE_B1 62 #тодорхойлох NOTE_C2 65 #тодорхойлох NOTE_CS2 69 #тодорхойлох NOTE_D2 73 #тодорхойлох NOTE_DS2 78 #тодорхойлох NOTE_E2 82 #тодорхойлох NOTE_F2 87 #Тодорхойлох NOTFEFF2 NOTE_A2 тодорхойлох 220 #тодорхойлох NOTE_AS3 233 #тодорхойлох NOTE_B3 247 #тодорхойлох NOTE_C4 262 #тодорхойлох NOTE_CS4 277 #тодорхойлох NOTE_D4 294 #тодорхойлох NOTE_DS4 311 #тодорхойлох NOTE_E4 330 #тодорхойлох NOTE_F4 349 #Тодорхойлох NOTEFFF4444 A4 440 #Тодорхойлох NOTE_AS4 466 #Тодорхойлох NOTE_B4 494 #Тодорхойлох NOTE_C5 523 #Тодорхойлох NOTE_CS5 554 #Тодорхойлох NOTE_D5 587 #Тодорхойлох NOTE_DS5 622 #Тодорхойлох NOTE_E5 659 #Тодорхойлох NOTE_F5 698 #Тодорхойлох88 #тодорхойлох NOTE_AS5 932 #тодорхойлох NOTE_B5 988 #тодорхойлох NOTE_C6 1047 #тодорхойлох NOTE_CS6 1109 #Тодорхойлох NOTE_D6 1175 #тодорхойлох NOTE_DS6 1245 #Тодорхойлох NOTE_E6 1319 #тодорхойлох NOTE_F6 1397 #Тодорхойлох NOTEFEF6666666 NOTE_AS6 1865 #тодорхойлох NOTE_B6 1976 #Тодорхойлох NOTE_C7 2093 #Тодорхойлох NOTE_CS7 2217 #Тодорхойлох NOTE_D7 2349 #Тодорхойлох NOTE_DS7 2489 #Тодорхойлох NOTE_E7 2637 #Тодорхойлох NOTE_F7 2794 #Тодорхойлох NOTE_FS7 297 Тодорхойлох777777 #тодорхойлох NOTE_B7 3951 #тодорхойлох NOTE_C8 4186 #тодорхойлох NOTE_CS8 4435 #тодорхойлох NOTE_D8 4699 #Тодорхойлох NOTE_DS8 4978 #амрахыг тодорхойлох 0 //////////////////////////////////////// Салхи Waker Theme ////////////////////////////// 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}; //////////////////////////// Шуурганы дуу ///////////////////// /////// 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}; /////////////////////////// Minuet in 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, 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_ES, 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, 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 temp = 120; int temp22 = 160; int tempo3 = 140; int wholenote = (60000 * 4) / хэмнэл; int wholenote2 = (60000 * 4) / temp22; int wholenote3 = (60000 * 4) / temp3; int хуваагч = 0, noteDuration = 0; // Дэлгэрэнгүй мэдээлэл, LCD дэлгэц, RGB -ийн хүчингүй тохиргоог () {Wire.begin (); lcd.begin (16, 2); lcd.clear (); lcd.backlight (); pinMode (дуугаралт, гаралт); pinMode (4, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); pinMode (R, OUTPUT); pinMode (G, OUTPUT); pinMode (B, OUTPUT); } void loop () {if (contador == 0) {// Definir el color con el que se se verá wind maker analogWrite (R, 0); analogWrite (G, 255); analogWrite (B, 255); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("САЛХИН МАСКЕР"); for (int thisNote = 0; thisNote 0) {noteDuration = (wholenote) / хуваагч; } else if (хуваагч <0) {// тасархай тэмдэглэлийг сөрөг хугацаатай илэрхийлнэ !! noteDuration = (бүхэл бүтэн тайлбар) / abs (хуваагч); noteDuration *= 1.5; // тасархай тэмдэглэлийн үргэлжлэх хугацааг хоёр дахин нэмэгдүүлнэ} ая (дуугаралт, WindWaker_melody1 [thisNote], noteDuration*0.9); // Дараагийн тэмдэглэлийг тоглуулахын өмнө тухайн зүйлийн үргэлжлэх хугацааг хүлээнэ үү. subir = digitalRead (4); гүйцэтгэсэн = digitalRead (7); саатал (noteDuration); noTone (дуугаралт); if (subir == LOW) {contador = 1; } if (bajar == LOW) {contador = 2; } if (contador! = 0) {break; }}} else if (contador == 1) {// Шуурганы analogWrite дууны өнгийг тодорхойлно уу (R, 255); analogWrite (G, 0); analogWrite (B, 255); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("ШУУРГИЙН ДУУ"); for (int thisNote = 0; thisNote 0) {// ердийн тэмдэглэл, зүгээр л noteDuration = (wholenote2) / divider -ийг үргэлжлүүлээрэй; } өөр бол (хуваагч <0) {noteDuration = (wholenote2) / abs (хуваагч); noteDuration *= 1.5; // тасархай тэмдэглэлийн үргэлжлэх хугацааг хоёр дахин нэмэгдүүлнэ} ая (дуугаралт, pgm_read_word_near (SongOfStorms_melody2+thisNote), noteDuration * 0.9); subir = digitalRead (4); гүйцэтгэсэн = digitalRead (7); саатал (noteDuration); noTone (дуугаралт); if (subir == LOW) {contador = 2; } if (bajar == LOW) {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 ("MINUET IN G"); lcd.setCursor (0, 1); lcd.print ("PETZOLD"); for (int thisNote = 0; thisNote 0) {noteDuration = (wholenote3) / хуваагч; } else if (хуваагч <0) {noteDuration = (wholenote3) / abs (хуваагч); noteDuration *= 1.5; // тасархай тэмдэглэлийн үргэлжлэх хугацааг хоёр дахин нэмэгдүүлнэ} ая (дуугаралт, Minuet_melody3 [thisNote], noteDuration * 0.9); subir = digitalRead (4); гүйцэтгэсэн = digitalRead (7); саатал (noteDuration); noTone (дуугаралт); if (subir == LOW) {contador = 0; } subir = digitalRead (4); гүйцэтгэсэн = digitalRead (7); if (гүйцэтгэсэн == LOW) {contador = 1; } if (contador! = 2) {break; }}}}

Зөвлөмж болгож буй: