![PlotClock, WeMos ja Blynk Playing Vintage AMI Jukebox: 6 askelta (kuvilla) PlotClock, WeMos ja Blynk Playing Vintage AMI Jukebox: 6 askelta (kuvilla)](https://i.howwhatproduce.com/images/001/image-2400-j.webp)
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41
![PlotClock, WeMos ja Blynk pelaavat Vintage AMI -jukeboxia PlotClock, WeMos ja Blynk pelaavat Vintage AMI -jukeboxia](https://i.howwhatproduce.com/images/001/image-2400-1-j.webp)
![PlotClock, WeMos ja Blynk pelaavat Vintage AMI -jukeboxia PlotClock, WeMos ja Blynk pelaavat Vintage AMI -jukeboxia](https://i.howwhatproduce.com/images/001/image-2400-2-j.webp)
Tämän projektin mahdollisti neljä teknistä innovaatiota: vuoden 1977 Rowe AMI Jukebox, PlotClock -robotti käsisarja, WeMos/ESP 8266 -mikro -ohjain ja Blynk App/Cloud -palvelu.
HUOMAUTUS: Jos sinulla ei ole Jukeboxia käsillä - älä lopeta lukemista! Tämä projekti voidaan helposti ottaa käyttöön hallitsemaan erilaisia asioita, joita ihmisen sormet ohjaavat. Yksi esimerkki voisi olla robotin sormi, joka soittaa perinteistä ksylofonia - ehkä se opettavainen tulee sinulta!
40-vuotias Rowe AMI R-81 Jukebox toimii edelleen hienosti soittaen vintage-vinyylilevyjä 60-, 70- ja 80-luvuilta. Yli 160 kg: n painoinen soitin ei ole aivan yhtä kannettava kuin nykyaikaiset mp-soittimet, mutta internet-aikakaudella elättäessä on nyt mahdollista kantaa taskussa jukeboksia ja 200 vinyylilevyä-käytännössä tietysti! Ja voit jopa käyttää omia soittolistoja, jotka on tallennettu mikrokontrolleriin!
Amazing PlotClock -robotti on alun perin suunniteltu näyttämään nykyistä aikaa piirtämällä aikanumerot pyyhittävälle taululle. Minun mukautukseni PlotClockille on käyttää sitä robottisormena Jukebox -kappaleen valintapainikkeiden painamiseen.
Plotclock -sormella on 3 servoa, joita ohjaa WeMos -mikrokontrolleri. Tämä ihme on (melkein) Arduino Uno -yhteensopiva ja siinä on WiFi -ominaisuudet, joten jukeboksi on mahdollista ohjata langattomasti mistä päin maailmaa tahansa.
Kakun kerma tulee uskomattoman helppokäyttöisestä Blynk -sovelluksesta ja niiden Blynk -pilvipalvelimesta, joka tarjoaa mukavan matkapuhelimen/tabletin käyttöliittymän täydellä liikkuvuudella.
Vaihe 1: Laitteisto
![Laitteisto Laitteisto](https://i.howwhatproduce.com/images/001/image-2400-3-j.webp)
![Laitteisto Laitteisto](https://i.howwhatproduce.com/images/001/image-2400-4-j.webp)
Jukeboksi
Projektin jukeboksi on 1977 Rowe AMI R-81. Kaikki valintanäppäimillä varustetut vanhat jukebootit sopivat - huomioiden muutamat PlotClockin rajoitukset: PlotClockin alkuperäinen käsivarsimalli voi peittää noin 5 x 12 cm: n alueen, joten jukeboksi -painikkeen asettelun (kaikki valintanapit mukaan lukien) on oltava suunnilleen sama. Vanhempien jukeboksien painikkeet saattavat tarvita enemmän työntövoimaa kuin PlotClock -servot.
AMI R-81: ssä on muisti, johon se voi tallentaa kaikki 200 valintaa. Valinnat toistetaan sen mukaan, missä järjestyksessä ne tallennetaan levylehtiin (karusellityyppi), ei niiden järjestyksen perusteella. Useita valintoja yhdelle levylle toistetaan vain kerran.
PlotClock
Plotclock on kaupallisesti saatavilla oleva DIY -sarja, joka sisältää mekaanisia osia, 3 servoa, Arduino Uno R3: n, Arduino -laajennuskortin ja USB -kaapelin. Noin 30 USD: n kohdalla tämä on hyvä ostos (esim. Banggood.com). Arduinoa, laajennuskorttia ja USB -kaapelia ei käytetä tähän projektiin.
Plotclockin luomiseen on olemassa useita hyviä Internet/YouTube -opetusohjelmia - esim. tämä: PlotClock -ohjeet
static1.squarespace.com/static/52cb189ee4b012ff9269fa8e/t/5526946be4b0ed8e0b3cd296/1428591723698/plotclock_final_instructions.pdf
WeMos
WeMos D1 R2 on ESP8266 -pohjainen mikro -ohjain. Se voidaan ohjelmoida Arduino IDE: n avulla ja siinä on WiFi -ominaisuudet, joten se on täydellinen laitteisto tähän projektiin.
Vaihe 2: Kalibrointi
![Kalibrointi Kalibrointi](https://i.howwhatproduce.com/images/001/image-2400-5-j.webp)
Kalibroinnin tarkoituksena on löytää tarkat kulma -arvot servokulmille (0-180 astetta), jotka vastaavat valintapainikkeiden fyysisiä asemia. Kulma -arvot voidaan löytää trigonometria -arithemitiikalla tai käyttämällä CAD -ohjelmistoa. Sain likimääräiset arvot ystävältäni, joka tiesi AutoCadin käytön.
Lopullinen kalibrointi piti kuitenkin tehdä kokeilemalla ja erehtymällä. Paperille piirretyn painikkeen asettelun käyttäminen On mahdollista tehdä”työpöydän testaus” löytääksesi oikeat kulma -arvot.
Vaihe 3: Kokoonpano
![Kokoonpano Kokoonpano](https://i.howwhatproduce.com/images/001/image-2400-6-j.webp)
![Kokoonpano Kokoonpano](https://i.howwhatproduce.com/images/001/image-2400-7-j.webp)
![Kokoonpano Kokoonpano](https://i.howwhatproduce.com/images/001/image-2400-8-j.webp)
![Kokoonpano Kokoonpano](https://i.howwhatproduce.com/images/001/image-2400-9-j.webp)
Johdotus
Liitäntä Plotclock -servoista Wemosiin tehdään viidellä johdolla: +5, GND, D4, D5 ja D6. Katso yksityiskohdat kuvista ja koodista.
Asentaminen Jukeboxiin
En halunnut tehdä ruuvinreikiä 40 vuotta vanhaan jukeboksiin, joka oli niin kauan säilynyt ilman suuria vaurioita. Pehmeän kumitiivisteen avulla kiinnitin pala alumiinikulmaluetteloa jukeboksi -konsolin alle. Kumitiiviste pitää tiukasti kiinni ja voidaan poistaa jättämättä jälkiä. PlotClock -runko tarvitsi kaksi pientä alumiinikulmaa sen kiinnittämiseksi akryylilevyyn. Tämän jälkeen akryylilevy kiinnitetään kulmaluetteloon kahdella jousikuormitteisella pidikkeellä, jolloin lopulliset säädöt voidaan tehdä pystysuoraan ja vaakasuoraan.
Vaihe 4: Blynk
![Blynk Blynk](https://i.howwhatproduce.com/images/001/image-2400-10-j.webp)
Blynk on ilmainen sovellus monenlaisten mikro -ohjaimien etähallintaan. Blynkin avulla voit helposti rakentaa mukavan käyttöliittymän käyttämällä useita widgetejä. Tässä projektissa tarvitaan vain yksi widget: Taulukko -widget.
Vaihe 5: Ohjelmisto
Blynk -sovellus
Sovelluksen puolella ei ole koodausta. Sovelluksen (Blynk) ja mikrokontrollerin (WeMos) välistä”keskustelua” hoitavat”virtuaaliset nastat”, jotka ovat pääasiassa kanavia tietojen lähettämiseen ja vastaanottamiseen näiden kahden välillä. Virtuaalista pinia käytetään esimerkiksi valitun kappaleen rivinumeron lähettämiseen Blynk -sovelluksesta WeMosille, ja Wemos hoitaa loput, ts. lähettää komentoja Plotclock -servoille.
WeMos -koodi
/**************************************************************
Taulukko -widget osoitteessa V2 ********************************************** ****************/ #define BLYNK_PRINT Serial #include #include #include char auth = "-SINUN AUTH CODE--"; // Jukebox-projektin char ssid = "-OMA SSID--"; char pass = "-WIFI-SALASANASI--"; int c [50]; // Array Jukeboxin ennätyspaikoille (100-299) Servo myservo1; // nosto Servo myservo2; // vasen käsi Servo myservo3; // oikea käsi int pos1 = 0; int pos2 = 0; int pos3 = 0; int btn = 0; void setup () {myservo1.attach (2); // nasta D4, nosta myservo2.attach (14); // nasta D5, vasen myservo3.attach (12); // nasta D6, oikea myservo1.write (140); myservo2.write (90); myservo3.write (90); Sarja.alku (115200); Blynk.begin (auth, ssid, pass); // Ilmoita heti käynnistyksen yhteydessä // String msg = "Jukebox WeMos yhdistetty:"; //Blynk.notify(msg + ssid); // tyhjennä taulukko alussa Blynk.virtualWrite (V2, "clr"); populateTable (); } BLYNK_WRITE (V2) // Vastaanota komentoja taulukko -widgetistä V2 {String cmd = param [0].asStr (); // param [0] = "valitse" tai "poista valinta", param [1] = rivi Serial.print ("\ nTable: BLYNK_WRITE (V2) cmd:"); Sarjajälki (cmd); int valinta = c [param [1].asInt ()]; // Valitun rivin numero on parametrissa [1] Serial.println ("\ nValinta:"); Serial.println (valinta); prosessin valinta (valinta); } void populateTable () {int i = 0; Serial.println ("Täytetaulukko…"); Blynk.virtualWrite (V2, "lisää", 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, "lisää", 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, "lisää", 7, "My Way - Tom Jones", 193); i ++; c = 193; Blynk.virtualWrite (V2, "lisää", 8, "San Bernadino - Christie", 149); i ++; c = 149; Blynk.virtualWrite (V2, "add", 9, "The Twist - Chubby Checker", 169); i ++; c = 169;
viive (1000);
} void process_selection (int valinta) {// jäsennä 3-numeroinen valinta (esim. 178)-3 painiketta: int btn1 = int (valinta/100); // ensimmäinen painike Serial.println ("\ nBtn1:"); Sarja.println (btn1); jos (btn1 == 1 || btn1 == 2) // ensimmäisen painikkeen on oltava 1 tai 2 - tee muuten nollaus {push_button (btn1); valinta = valinta - (btn1 * 100); int btn2 = int (valinta/10); // toinen painike Serial.println ("\ nBtn2:"); Sarja.println (btn2); push_button (btn2); valinta = valinta - (btn2 * 10); int btn3 = int (valinta); // kolmas painike Serial.println ("\ nBtn3:"); Sarja.println (btn3); push_button (btn3); } else {push_button (11); // nollauspainike} // nollaa servoasennot, kun kaikki on viivästynyt (2000); myservo1.write (140); myservo2.write (90); myservo3.write (90);} void push_button (int btn) {// tätä kutsutaan 3 kertaa jokaiselle valinnalle // todellinen painallus suoritetaan jokaisen painikkeen jälkeen (etsi 'todellinen painikkeen painallus') -kytkin (btn) {tapaus 1: set_servo_angles (134, 136); // 1 tauko; tapaus 2: set_servo_angles (128, 110); // 2 tauko; tapaus 3: set_servo_angles (112, 88); // 3 tauko; tapaus 4: set_servo_angles (89, 68); // 4 tauko; tapaus 5: set_servo_angles (62, 55); // 5 tauko; tapaus 6: set_servo_angles (172, 131); // 6 tauko; tapaus 7: set_servo_angles (163, 106); // 7 tauko; tapaus 8: set_servo_angles (140, 83); // 8 tauko; tapaus 9: set_servo_angles (104, 58); // 9 tauko; tapaus 0: set_servo_angles (75, 36); // 0 tauko; tapaus 11: set_servo_angles (36, 30); // 11 tauko; } // lopetuskytkin} void set_servo_angles (int pos2, int pos3) {myservo2.write (pos2); myservo3.write (pos3); // Servoasennot valmiina - suorita varsinainen painikkeen painallus: delay (500); myservo1.write (60); // alasviive (500); myservo1.write (140); // ylös viive (500); } void loop () {Blynk.run (); }
Vaihe 6: Tulevat vaiheet
Video -widget - suora video- ja äänivirta Blynk -sovellukseen (jo testattu - toimii)
Webhook -widget - soittolistan lataus pyynnöstä pilvestä (jo testattu - toimii)
Taulukko -widget - pienet parannukset widgettiin ovat tervetulleita (ehdotuksia lähetetty Blynk -kehittäjille)
Suositeltava:
Helposti asennettava valokytkin välkkyy: älypuhelimella ohjattu BLYNK: 10 askelta
![Helposti asennettava valokytkin välkkyy: älypuhelimella ohjattu BLYNK: 10 askelta Helposti asennettava valokytkin välkkyy: älypuhelimella ohjattu BLYNK: 10 askelta](https://i.howwhatproduce.com/images/009/image-24199-j.webp)
Helposti asennettava valokytkin välkkyy: älypuhelimella ohjattu BLYNK: IoT-laitteista tulee nopeasti yhä suositumpia, joten miksi et opiskele ja luo omia IoT-laitteitasi halvoista materiaaleista ja kovasta työstä tehdäksesi asioita, joita et aiemmin voinut Nimeni Szehuai ja minä huomaamme aina olevani nukahtamassa, mutta
Wi-Fi-ohjattu robotti Wemos D1 ESP8266: n, Arduino IDE: n ja Blynk-sovelluksen avulla: 11 vaihetta (kuvilla)
![Wi-Fi-ohjattu robotti Wemos D1 ESP8266: n, Arduino IDE: n ja Blynk-sovelluksen avulla: 11 vaihetta (kuvilla) Wi-Fi-ohjattu robotti Wemos D1 ESP8266: n, Arduino IDE: n ja Blynk-sovelluksen avulla: 11 vaihetta (kuvilla)](https://i.howwhatproduce.com/images/004/image-11224-2-j.webp)
Wi-Fi-ohjattu robotti käyttämällä Wemos D1 ESP8266-, Arduino IDE- ja Blynk-sovellusta: Tässä opetusohjelmassa näytän sinulle, kuinka voit tehdä Wi-Fi-ohjatun robottisäiliön, jota ohjataan älypuhelimesta Blynk-sovelluksen avulla. Tässä projektissa käytettiin ESP8266 Wemos D1 -levyä, mutta voidaan käyttää myös muita levymalleja (NodeMCU, Firebeetle jne.), Ja
Blynk ESP8266: 4 askelta
![Blynk ESP8266: 4 askelta Blynk ESP8266: 4 askelta](https://i.howwhatproduce.com/images/005/image-14024-40-j.webp)
Blynk ESP8266: Blynk on esineiden internet -alusta, jonka avulla laitteiston etähallinta ja tietojen visualisointi on erittäin helppoa. Voit luoda omia käyttöliittymiä ilmaisella Blynk -sovelluksella. Jokainen WiFi, Bluetooth/BLE, Ethernet ja sarjalaite pystyvät liittämään
Lämpötilan ja kosteuden lähettäminen Blynk -sovellukseen (Wemos D1 Mini Pro): 15 vaihetta (kuvilla)
![Lämpötilan ja kosteuden lähettäminen Blynk -sovellukseen (Wemos D1 Mini Pro): 15 vaihetta (kuvilla) Lämpötilan ja kosteuden lähettäminen Blynk -sovellukseen (Wemos D1 Mini Pro): 15 vaihetta (kuvilla)](https://i.howwhatproduce.com/images/003/image-8033-55-j.webp)
Lämpötilan ja kosteuden lähettäminen Blynk -sovellukseen (Wemos D1 Mini Pro).: Tässä ohjeessa tarkastellaan Wemos D1 Mini Pron käyttöä datan (lämpötila ja kosteus) lähettämiseen Blynk -sovellukseen
Liiketunnistin, jossa on Blynk-ilmoitukset (WeMos D1 Mini + HC-SR04): 4 vaihetta (kuvilla)
![Liiketunnistin, jossa on Blynk-ilmoitukset (WeMos D1 Mini + HC-SR04): 4 vaihetta (kuvilla) Liiketunnistin, jossa on Blynk-ilmoitukset (WeMos D1 Mini + HC-SR04): 4 vaihetta (kuvilla)](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11131044-motion-detector-with-blynk-notifications-wemos-d1-mini-hc-sr04-4-steps-with-pictures-j.webp)
Liikeilmaisin, jossa on Blynk-ilmoitukset (WeMos D1 Mini + HC-SR04): Äänestä tätä projektia langattomassa kilpailussa. Kiitos! Päivitys nro 2 - Muutamia parannuksia (versio 2.2), voit määrittää anturin (alueen ja nimen) suoraan määritelmässä. Lisäksi sattui joskus, että anturi luki väärät arvot ja lähetti ilmoituksen