Tartalomjegyzék:
- 1. lépés: Hardver
- 2. lépés: Kalibrálás
- 3. lépés: Összeszerelés
- 4. lépés: Blynk
- 5. lépés: Szoftver
- 6. lépés: Jövőbeni lépések
Videó: PlotClock, WeMos és Blynk Vintage AMI Jukebox lejátszása: 6 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Négy technikai újítás tette lehetővé ezt a projektet: az 1977 -es Rowe AMI Jukebox, a PlotClock robotkar készlet, a WeMos/ESP 8266 mikrokontroller és a Blynk App/Cloud szolgáltatás.
MEGJEGYZÉS: Ha nincs kéznél a Jukebox - ne hagyja abba az olvasást! Ez a projekt könnyen alkalmazható az emberi ujjak által vezérelt különféle dolgok irányítására. Egy példa lehet egy hagyományos ujjlenyomatot játszó robotujj - talán ez az utasítás tőled származik!
A 40 éves Rowe AMI R-81 Jukeboxom még mindig jól működik, ha a 60-as, 70-es és 80-as évekből származó vintage bakelitlemezeket játszik le. A 160 kg-nál (360 font) nagyobb súlyú ez a lejátszó nem annyira hordozható, mint a modern mp-lejátszók, de az internet korában élve mostantól lehetőség van zsebében hordani a zenegépet és a 200 bakelit lemezt-gyakorlatilag természetesen! És akár saját lejátszási listáit is használhatja a mikrokontrollerben!
Az Amazing PlotClock robotot eredetileg úgy tervezték, hogy az aktuális időt jelenítse meg úgy, hogy időszámjegyeket rajzol a törölhető táblára. A PlotClock alkalmazkodásom az, hogy robotujjaként használom a Jukebox dalválasztó gombjainak megnyomására.
A Plotclock ujját 3 szervó hajtja, amelyeket a WeMos mikrokontroller vezérel. Ez a csoda (majdnem) Arduino Uno kompatibilis és WiFi képességekkel rendelkezik, így lehetőség van a jukebox vezeték nélküli vezérlésére a világ bármely pontjáról.
A krém a tortán a hihetetlenül könnyen használható Blynk App -ből és a Blynk Cloud Server -ből származik, amely szép mobiltelefon/tablet felhasználói felületet biztosít, teljes mobilitással.
1. lépés: Hardver
Jukebox
A projekt zenegép az 1977-es Rowe AMI R-81. Bármely régi, választógombokkal ellátott jukebox megteszi - a PlotClock néhány korlátozását figyelembe véve: A PlotClock eredeti karja körülbelül 5 x 12 cm -es területet fedhet le, így a zenegép -gomb elrendezésének (az összes választógombot tartalmazó területnek) körülbelül ekkoranek kell lennie. A régebbi zenegépek gombjai több nyomóerőt igényelhetnek, mint a PlotClock szervók.
Az AMI R-81 rendelkezik egy memóriával, amelyben mind a 200 kiválasztást tárolhatja. A kiválasztásokat a lemezmagazinban tárolt sorrend alapján játsszák le (körhinta típusú), nem pedig a kiválasztás sorrendjében. Egy lemez több kiválasztását csak egyszer játssza le.
PlotClock
A Plotclock a kereskedelemben kapható barkácskészlet, amely mechanikus alkatrészeket, 3 szervót, Arduino Uno R3, Arduino bővítőlapot és USB -kábelt tartalmaz. 30 USD körül ez jó vétel (pl. Banggood.com). Az Arduino, a hosszabbító kártya és az USB -kábel nem használható ehhez a projekthez.
Számos jó internetes/YouTube oktatóanyag létezik a Plotclock összeállításához - pl. ez: PlotClock utasítások
static1.squarespace.com/static/52cb189ee4b012ff9269fa8e/t/5526946be4b0ed8e0b3cd296/1428591723698/plotclock_final_instructions.pdf
WeMos
A WeMos D1 R2 egy ESP8266 alapú mikrovezérlő. Az Arduino IDE segítségével programozható, és WiFi képességekkel rendelkezik, így tökéletes hardver ehhez a projekthez.
2. lépés: Kalibrálás
A kalibrálás az a feladat, amellyel pontos szögértékeket találhat a szervo szögekhez (0 és 180 fok között), amelyek megfelelnek a kiválasztó gombok fizikai pozícióinak. A szögértékeket trigonometria arithemitics vagy CAD szoftver segítségével lehet megtalálni. Hozzávetőleges értékeket kaptam a barátomtól, aki tudta, hogyan kell használni az AutoCad -ot.
A végső kalibrálást azonban próba és hiba útján kellett elvégezni. A papírlapra rajzolt gombkiosztás használata Lehetséges az „asztali tesztelés” a helyes szögértékek megtalálásához.
3. lépés: Összeszerelés
Vezeték
A Plotclock szervókról a Wemosra való csatlakozás 5 vezetékkel történik: +5, GND, D4, D5 és D6. Részletek a képeken és a kódban.
Telepítés a Jukeboxra
Nem akartam csavarokat csinálni a 40 éves, nagy sérülések nélkül túlélő zenegéphez. Lágy gumi tömítőanyaggal rögzítettem egy darab alumínium szöglistát a zenegép konzol alatt. A gumi tömítőanyag szorosan tart, és eltávolítható nyomok nélkül. A PlotClock testének két kis alumínium szögre volt szüksége, hogy segítsen rögzíteni az akrillemezre. Az akrillemez ezután két rugós kapcsokkal illeszkedik a szöglistához, így lehetőség van a függőleges és vízszintes végső beállításokra.
4. lépés: Blynk
A Blynk egy ingyenes alkalmazás többféle mikrokontroller távoli vezérléséhez. A Blynk segítségével könnyen létrehozhat egy szép felhasználói felületet többféle kütyü használatával. Ehhez a projekthez csak egy widgetre van szükség: a Table widgetre.
5. lépés: Szoftver
Blynk App
Az alkalmazás oldalán nincs kódolás. Az alkalmazás (Blynk) és a mikrokontroller (WeMos) közötti „beszélgetést” a „Virtuális csapok” kezelik, amelyek lényegében a kettő közötti információ küldésének és fogadásának csatornái. A virtuális tű például a Blynk alkalmazásból a kiválasztott dal sorszámának elküldésére szolgál a WeMos -ra, a többit pedig a Wemos kezeli, pl. parancsokat küld a Plotclock szervóknak.
WeMos kód
/**************************************************************
Táblázat widget itt: V2 ********************************************** ****************/ #define BLYNK_PRINT Serial #include #include #include char auth = "-SAJÁT KÓDJA" "; // Jukebox projekt char ssid = "-SSOID SSID--"; char pass = "-WIFI-JELSZAVA-"; int c [50]; // Tömb Jukebox rekord pozíciókhoz (100-299) Servo myservo1; // lift Servo myservo2; // bal kar Servo myservo3; // jobb kar int pos1 = 0; int pos2 = 0; int pos3 = 0; int btn = 0; void setup () {myservo1.attach (2); // D4 pin, lift myservo2.attach (14); // D5 pin, bal myservo3.attach (12); // pin D6, jobbra myservo1.write (140); myservo2.write (90); myservo3.write (90); Sorozat.kezdet (115200); Blynk.begin (auth, ssid, pass); // Értesítés azonnal indításkor // String msg = "Jukebox WeMos csatlakoztatva:"; //Blynk.notify(msg + ssid); // táblázat törlése az elején Blynk.virtualWrite (V2, "clr"); populateTable (); } BLYNK_WRITE (V2) // Parancsok fogadása a V2 táblázat widgetből {String cmd = param [0].asStr (); // param [0] = "select" vagy "deselect", param [1] = sor Serial.print ("\ nTáblázat: BLYNK_WRITE (V2) cmd:"); Soros.nyomtatás (cmd); int kiválasztás = c [param [1].asInt ()]; // A kiválasztott sorszám paraméterben van [1] Serial.println ("\ nSelection:"); Serial.println (kiválasztás); process_selection (kiválasztás); } void populateTable () {int i = 0; Serial.println ("Kitöltő táblázat …"); Blynk.virtualWrite (V2, "add", 0, "Be My Baby - The Supremes", 112); c = 112; Blynk.virtualWrite (V2, "add", 1, "Number One - Jerry Williams", 176); i ++; c = 176; Blynk.virtualWrite (V2, "add", 2, "All My Loving - The Beatles", 184); i ++; c = 184; Blynk.virtualWrite (V2, "add", 3, "In the Summertime - Mungo Jerry", 236); i ++; c = 236; Blynk.virtualWrite (V2, "add", 4, "Black Cloud - Chubby Checker", 155); i ++; c = 155; Blynk.virtualWrite (V2, "add", 5, "Mamy Blue - Pop -Tops", 260); i ++; c = 260; Blynk.virtualWrite (V2, "add", 6, "It's Gonna Be Alright - Gerry & Pacemakers", 145); i ++; c = 145; Blynk.virtualWrite (V2, "add", 7, "My Way - Tom Jones", 193); i ++; c = 193; Blynk.virtualWrite (V2, "add", 8, "San Bernadino - Christie", 149); i ++; c = 149; Blynk.virtualWrite (V2, "add", 9, "The Twist - Chubby Checker", 169); i ++; c = 169;
késleltetés (1000);
} void process_selection (int kiválasztás) {// 3 számjegyű kiválasztás elemzése (pl. 178)-3 gomb: int btn1 = int (kiválasztás/100); // első gomb Serial.println ("\ nBtn1:"); Soros.println (btn1); if (btn1 == 1 || btn1 == 2) // az első gombnak 1 -nek vagy 2 -nek kell lennie - ellenkező esetben hajtsa végre a visszaállítást {push_button (btn1); kiválasztás = kiválasztás - (btn1 * 100); int btn2 = int (kiválasztás/10); // második gomb Serial.println ("\ nBtn2:"); Soros.println (btn2); nyomógomb (btn2); kiválasztás = kiválasztás - (btn2 * 10); int btn3 = int (kiválasztás); // harmadik gomb Serial.println ("\ nBtn3:"); Soros.println (btn3); nyomógomb (btn3); } else {push_button (11); // reset gomb} // szervo pozíciók visszaállítása, ha minden kész késleltetés (2000); myservo1.write (140); myservo2.write (90); myservo3.write (90);} void push_button (int btn) {// ezt háromszor hívják meg minden kiválasztásnál // a tényleges gombnyomás minden gomb után történik (keresse meg a „tényleges gombnyomást”) kapcsoló (btn) {1. eset: set_servo_angles (134, 136); // 1 szünet; 2. eset: set_servo_angles (128, 110); // 2 szünet; 3. eset: set_servo_angles (112, 88); // 3 szünet; 4. eset: set_servo_angles (89, 68); // 4 szünet; 5. eset: set_servo_angles (62, 55); // 5 szünet; 6. eset: set_servo_angles (172, 131); // 6 szünet; 7. eset: set_servo_angles (163, 106); // 7 szünet; 8. eset: set_servo_angles (140, 83); // 8 szünet; 9. eset: set_servo_angles (104, 58); // 9 szünet; 0. eset: set_servo_angles (75, 36); // 0 szünet; 11. eset: set_servo_angles (36, 30); // 11 szünet; } // végkapcsoló} void set_servo_angles (int pos2, int pos3) {myservo2.write (pos2); myservo3.write (pos3); // Szervo pozíciók kész - hajtsa végre a tényleges gombnyomást: delay (500); myservo1.write (60); // le késleltetés (500); myservo1.write (140); // késleltetés (500); } void loop () {Blynk.run (); }
6. lépés: Jövőbeni lépések
Videó widget - élő video- és hangfolyam a Blynk App alkalmazásba (már tesztelt - működik)
Webhook widget - lejátszási lista igény szerinti letöltése a felhőből (már tesztelt - működik)
Táblázat widget - néhány apró fejlesztést szívesen fogadunk (a javaslatokat elküldtük a Blynk fejlesztőknek)
Ajánlott:
Videó lejátszása az ESP32 segítségével: 10 lépés (képekkel)
Videó lejátszása ESP32 -vel: Ez az utasítás bemutat valamit a videó és audió lejátszásáról az ESP32 segítségével
Beszélő Arduino - MP3 lejátszása Arduino -val modul nélkül - MP3 fájl lejátszása Arduino -ból PCM használatával: 6 lépés
Beszélő Arduino | MP3 lejátszása Arduino -val modul nélkül | Mp3 fájl lejátszása az Arduino -ból PCM használatával: Ebben az utasításban megtanuljuk, hogyan kell lejátszani egy mp3 fájlt arduino -val audio modul használata nélkül, itt a PCM könyvtárat fogjuk használni az Arduino számára, amely 16 bites 8 kHz -es PCM -et játszik le
Zeneszámok lejátszása (MP3) Arduino segítségével PWM használatával hangszórón vagy Flyback Transformeren: 6 lépés (képekkel)
Zeneszámok lejátszása (MP3) Arduino segítségével PWM használata hangszórón vagy Flyback Transformeren: Hello Srácok, Ez az első tanítható, remélem tetszeni fog! Alapvetően ebben a projektben az Arduino és a laptopom közötti soros kommunikációt használtam, hogy zenei adatokat továbbítsak a laptopomról az Arduino -hoz. És az Arduino TIMERS t használatával
CD -k lejátszása CD -lejátszó nélkül, AI és YouTube használatával: 10 lépés (képekkel)
CD -k lejátszása CD -lejátszó nélkül, AI és YouTube használatával: Szeretné lejátszani a CD -ket, de nincs több CD -lejátszója? Nem volt ideje kitépni a CD -ket? Kitépte őket, de a fájlok nem érhetők el, ha szükséges? Nincs probléma. Hagyja, hogy az AI (mesterséges intelligencia) azonosítsa a CD -t, és a YouTube játssza le! Írtam egy Android -alkalmazást
Zene lejátszása Arduino segítségével!: 5 lépés (képekkel)
Zene lejátszása Arduino -val!: Ebben az oktatóanyagban megmutatom, hogyan játszok zenét egy Arduino UNO és egy SD kártya modul segítségével. Az SPI kommunikációt fogjuk használni. Kezdjük