Talaan ng mga Nilalaman:
- Hakbang 1: Hardware
- Hakbang 2: Pagkakalibrate
- Hakbang 3: Assembly
- Hakbang 4: Blynk
- Hakbang 5: Software
- Hakbang 6: Mga Hakbang sa Hinaharap
Video: PlotClock, WeMos at Blynk Nagpe-play ng Vintage AMI Jukebox: 6 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Apat na mga teknikal na pagbabago na ginawang posible ang proyektong ito: Ang 1977 Rowe AMI Jukebox, PlotClock robot arm kit, WeMos / ESP 8266 microcontroller at Blynk App / Cloud service.
TANDAAN: Kung wala ka ng Jukebox sa kamay - huwag ihinto ang pagbabasa! Ang proyektong ito ay madaling gamitin upang makontrol ang iba't ibang mga bagay na kinokontrol ng mga daliri ng tao. Ang isang halimbawa ay maaaring isang daliri ng robot na naglalaro ng tradisyonal na Xylophone - marahil ang itinuturo na iyon ay nagmula sa iyo!
Ang aking 40 taong gulang na Rowe AMI R-81 Jukebox ay gumagana pa rin ng mahusay na paglalaro ng mga vintage vinyl single mula 60, 70 'at 80's. Tumitimbang ng higit sa 160 kg (360 lbs) ang manlalaro na ito ay hindi gaanong portable tulad ng modernong mp-player, ngunit nakatira sa panahon ng internet, posible na dalhin ang jukebox at 200 vinyl record sa iyong bulsa - halos syempre! At maaari mo ring gamitin ang iyong sariling mga playlist na nakaimbak sa microcontroller!
Ang kamangha-manghang robot ng PlotClock ay orihinal na idinisenyo upang ipakita ang kasalukuyang oras sa pamamagitan ng pagguhit ng mga digit ng oras sa nabura na board. Ang aking pagbagay para sa PlotClock ay upang gamitin ito bilang isang daliri ng robot para sa pagpindot sa mga pindutan ng pagpili ng kanta ng Jukebox.
Ang "daliri" ng Plotclock ay hinihimok ng 3 servos na kinokontrol ng WeMos microcontroller. Ang piraso ng pagtataka na ito ay (halos) Arduino Uno na katugma at may mga kakayahan sa WiFi, kaya posible na kontrolin ang jukebox nang wireless mula sa kahit saan sa mundo.
Ang cream sa cake ay nagmula sa hindi kapani-paniwalang madaling gamitin Blynk App at ang kanilang Blynk Cloud Server na nagbibigay ng isang magandang interface ng gumagamit ng mobile phone / tablet na may buong kadaliang kumilos.
Hakbang 1: Hardware
Jukebox
Ang proyekto jukebox ay 1977 Rowe AMI R-81. Anumang matandang jukebox na may mga pindutan ng pagpili ay magagawa - pagpansin ng ilang mga limitasyon ng PlotClock: Ang orihinal na disenyo ng armas ng PlotClock ay maaaring masakop ang isang lugar tungkol sa 5 x 12 cm kaya ang layout ng pindutan ng jukebox (lugar kabilang ang lahat ng mga pindutan ng pagpili) ay dapat na may sukat na sukat. Ang mga pindutan ng mas matatandang jukeboxes ay maaaring mangailangan ng higit na lakas sa pagtulak kaysa sa maibigay ng mga PlotClock servos.
Ang AMI R-81 ay may memorya kung saan maaari nitong maiimbak ang lahat ng 200 mga pagpipilian. Pinatugtog ang mga pagpipilian batay sa pagkakasunud-sunod na nakaimbak sa record magazine (uri ng carousel), hindi sa pagkakasunud-sunod na napili. Ang maramihang mga pagpipilian para sa isang rekord ay nilalaro nang isang beses lamang.
PlotClock
Ang Plotclock ay magagamit sa komersyo ng DIY kit kabilang ang mga piyesa sa makina, 3 servos, Arduino Uno R3, Arduino Extension board at USB cable. Para sa humigit-kumulang na 30 USD ito ay isang mabuting pagbili (hal. Banggood.com). Ang Arduino, extension board at USB cable ay hindi ginagamit para sa proyektong ito.
Mayroong maraming magagandang mga tutorial sa internet / YouTube para sa pagbuo ng Plotclock - hal. ito: Mga tagubilin sa PlotClock
static1.squarespace.com/static/52cb189ee4b012ff9269fa8e/t/5526946be4b0ed8e0b3cd296/1428591723698/plotclock_final_instructions.pdf
Mga WeMos
Ang WeMos D1 R2 ay batay sa ESP8266 microcontroller. Maaari itong mai-program gamit ang Arduino IDE at may mga kakayahan sa WiFi kaya't ito ay isang perpektong piraso ng hardware para sa proyektong ito.
Hakbang 2: Pagkakalibrate
Ang pagkakalibrate ay ang gawain para sa paghahanap ng tumpak na mga halaga ng anggulo para sa mga anggulo ng servo (sa pagitan ng 0 hanggang 180 degree) upang tumutugma sa mga pisikal na posisyon para sa mga pindutan ng pagpili. Ang mga halaga ng anggulo ay maaaring matagpuan ng mga trigonometry arithemitics o paggamit ng isang CAD software. Nakuha ko ang tinatayang mga halaga mula sa aking kaibigan na alam kung paano gamitin ang AutoCad.
Gayunpaman, ang pangwakas na pagkakalibrate ay kailangang gawin ng trial at error. Gamit ang layout ng pindutan na iginuhit sa piraso ng papel Posibleng gawin ang "pagsubok sa desktop" upang mahanap ang tamang mga halaga ng anggulo.
Hakbang 3: Assembly
Kable
Ang koneksyon mula sa Plotclock servos patungong Wemos ay tapos na sa 5 wires: +5, GND, D4, D5 at D6. Tingnan ang mga detalye sa mga larawan at code.
Pag-install sa Jukebox
Ayokong gumawa ng anumang butas ng tornilyo sa 40 taong gulang na jukebox na matagal nang nabuhay nang walang mga pangunahing pinsala. Gamit ang malambot na rubber sealant ay naayos ko ang isang piraso ng listahan ng anggulo ng aluminyo sa ilalim ng jukebox console. Ang rubberantantant ay gumagawa ng masikip na paghawak at maaaring alisin nang hindi nag-iiwan ng anumang mga marka. Ang katawan ng PlotClock ay nangangailangan ng dalawang maliliit na anggulo ng aluminyo upang matulungan ang paglalagay nito sa acrylic plate. Pagkatapos ay nilagyan ang plate ng acrylic sa listahan ng anggulo na may dalawang clip na puno ng spring na umaalis sa posibilidad na gumawa ng pangwakas na pag-aayos at patayo.
Hakbang 4: Blynk
Ang Blynk ay isang libreng app para sa pagkontrol ng maraming uri ng mga microcontroller mula sa malayo. Sa Blynk madali mong mabuo ang isang magandang interface ng gumagamit gamit ang maraming uri ng mga widget. Mayroon lamang isang widget na kinakailangan para sa proyektong ito: ang widget ng Talahanayan.
Hakbang 5: Software
Blynk App
Walang pag-coding sa panig ng app. Ang "pag-uusap" sa pagitan ng app (Blynk) at ng microcontroller (WeMos) ay pinangangasiwaan ng "Virtual pin" na mahalagang mga channel para sa pagpapadala at pagtanggap ng impormasyon sa pagitan ng dalawang iyon. Halimbawa ang virtual pin ay ginagamit upang ipadala ang hilera na bilang ng napiling kanta mula sa Blynk app sa WeMos, at hinahawakan ni Wemos ang natitira, ibig sabihin. pagpapadala ng mga utos sa mga servo ng Plotclock.
WeMos code
/**************************************************************
Talahanayan ng widget sa V2 ***** ***** ***** ***** // Jukebox project char ssid = "--Your SSID--"; pass pass = "--Your WIFI PASSWORD--"; int c [50]; // Array para sa mga posisyon ng record ng Jukebox (100-299) Servo MyServo1; // nakakataas Servo MyServo2; // left arm Servo myservo3; // kanang braso int pos1 = 0; int pos2 = 0; int pos3 = 0; int btn = 0; void setup () {myservo1.attach (2); // pin D4, iangat ang myservo2.attach (14); // pin D5, left myservo3.attach (12); // pin D6, kanang myservo1.write (140); myservo2.write (90); myservo3.write (90); Serial.begin (115200); Blynk.begin (auth, ssid, pass); // Abisuhan kaagad sa pagsisimula // String msg = "Jukebox WeMos na konektado sa:"; //Blynk.notify(msg + ssid); // clear table at start Blynk.virtualWrite (V2, "clr"); populateTable (); } BLYNK_WRITE (V2) // Tumanggap ng mga utos mula sa Table widget V2 {String cmd = param [0].asStr (); // param [0] = "select" or "deselect", param [1] = row Serial.print ("\ nTable: BLYNK_WRITE (V2) cmd:"); Serial.print (cmd); int pagpili = c [param [1].asInt ()]; // Ang napiling numero ng hilera ay nasa param [1] Serial.println ("\ nSelection:"); Serial.println (pagpili); proseso_seleksyon (pagpili); } void populateTable () {int i = 0; Serial.println ("Populate table …"); Blynk.virtualWrite (V2, "add", 0, "Be My Baby - The Supremes", 112); c = 112; Blynk.virtualWrite (V2, "add", 1, "Number One - Jerry Williams", 176); ako ++; c = 176; Blynk.virtualWrite (V2, "add", 2, "All My Loving - The Beatles", 184); ako ++; c = 184; Blynk.virtualWrite (V2, "add", 3, "Sa Panahon ng Tag-init - Mungo Jerry", 236); ako ++; c = 236; Blynk.virtualWrite (V2, "add", 4, "Black Cloud - Chubby Checker", 155); ako ++; c = 155; Blynk.virtualWrite (V2, "add", 5, "Mamy Blue - Pop-Tops", 260); ako ++; c = 260; Blynk.virtualWrite (V2, "add", 6, "It's Gonna Be Alright - Gerry & Pacemakers", 145); ako ++; c = 145; Blynk.virtualWrite (V2, "add", 7, "My Way - Tom Jones", 193); ako ++; c = 193; Blynk.virtualWrite (V2, "add", 8, "San Bernadino - Christie", 149); ako ++; c = 149; Blynk.virtualWrite (V2, "add", 9, "The Twist - Chubby Checker", 169); ako ++; c = 169;
pagkaantala (1000);
} walang bisa proseso_seleksyon (int pagpili) {// parse 3-digit na pagpipilian (hal. 178) hanggang 3 mga pindutan: int btn1 = int (pagpili / 100); // first button Serial.println ("\ nBtn1:"); Serial.println (btn1); kung (btn1 == 1 || btn1 == 2) // unang pindutan ay dapat na 1 o 2 - kung hindi man ay i-reset ang {push_button (btn1); pagpili = pagpili - (btn1 * 100); int btn2 = int (pagpili / 10); // pangalawang pindutan Serial.println ("\ nBtn2:"); Serial.println (btn2); push_button (btn2); pagpili = pagpili - (btn2 * 10); int btn3 = int (pagpili); // third button Serial.println ("\ nBtn3:"); Serial.println (btn3); push_button (btn3); } iba pa {push_button (11); // button reset} // reset ang mga posisyon ng servo kapag tapos na ang lahat (2000); myservo1.write (140); myservo2.write (90); myservo3.write (90);} void push_button (int btn) {// tinatawag itong 3 beses para sa bawat pagpili // aktwal na pindutan ang pindutan ay tapos na matapos ang bawat pindutan (hanapin ang 'aktwal na pindutan ng push') switch (btn) {case 1: set_servo_angles (134, 136); // 1 break; kaso 2: set_servo_angles (128, 110); // 2 break; kaso 3: set_servo_angles (112, 88); // 3 break; kaso 4: set_servo_angles (89, 68); // 4 break; kaso 5: set_servo_angles (62, 55); // 5 break; kaso 6: set_servo_angles (172, 131); // 6 break; kaso 7: set_servo_angles (163, 106); // 7 break; kaso 8: set_servo_angles (140, 83); // 8 break; kaso 9: set_servo_angles (104, 58); // 9 break; kaso 0: set_servo_angles (75, 36); // 0 break; case 11: set_servo_angles (36, 30); // 11 break; } // end switch} void set_servo_angles (int pos2, int pos3) {myservo2.write (pos2); myservo3.write (pos3); // Mga posisyon ng Servo handa na - gampanan ang aktwal na pindutan ng pindutan: antala (500); myservo1.write (60); // down delay (500); myservo1.write (140); // up delay (500); } void loop () {Blynk.run (); }
Hakbang 6: Mga Hakbang sa Hinaharap
Video widget - live na video at audio stream sa Blynk App (nasubukan na - gumagana)
Webhook widget - pag-download ng on-demand na playlist mula sa cloud (nasubukan na - gumagana)
Ang widget ng talahanayan - ang ilang maliliit na pagpapabuti sa widget ay malugod (mga mungkahi na ipinadala sa mga developer ng Blynk)
Inirerekumendang:
Modernong Pagre-record ng Mga Vintage Cassette Tapes Na May Mga MP3 File: 8 Hakbang (na may Mga Larawan)
Modernong Pagre-record ng Mga Tape ng Cassette na May Mga MP3 File: Sa mga vintage cassette tape na lumalabas sa pop-culture ngayon higit pa sa dati, maraming tao ang nagnanais na lumikha ng kanilang sariling mga bersyon. Sa tutorial na ito, gagabay ako sa kung paano (kung mayroon kang isang tape recorder) na i-record ang iyong sariling mga teyp ng cassette gamit ang modernong teknolohiya
Kontroladong Wi-Fi Robot Gamit ang Wemos D1 ESP8266, Arduino IDE at Blynk App: 11 Mga Hakbang (na may Mga Larawan)
Kontroladong Wi-Fi Robot Gamit ang Wemos D1 ESP8266, Arduino IDE at Blynk App: Sa tutorial na ito ipinapakita ko sa iyo kung paano gumawa ng isang Wi-Fi na kinokontrol na robotic tank na kinokontrol mula sa isang smartphone gamit ang Blynk App. Sa proyektong ito isang ESP8266 Wemos D1 board ang ginamit, ngunit ang ibang mga modelo ng plate ay maaari ding magamit (NodeMCU, Firebeetle, atbp.), At ang pr
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: 7 Mga Hakbang (na may Mga Larawan)
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: Mayroong maraming mga satellite sa itaas ng aming mga ulo. Alam mo ba, na ang paggamit lamang ng Iyong computer, TV Tuner at simpleng DIY antena Maaari mong matanggap ang mga pagpapadala mula sa kanila? Halimbawa ng mga real time na larawan ng mundo. Ipapakita ko sa iyo kung paano. Kakailanganin mo ang: - 2 w
Mga Tagapagsalita ng Vintage IPod (na may mga LED!): 7 Mga Hakbang (na may Mga Larawan)
Mga Tagapagsalita ng Vintage IPod (na may mga LED!): Gamit ang tamang mga supply, madaling gumawa ng iyong sariling de-kalidad na iPod o mp3 player dock. Gamit ang ilang mga scrap ng circuit board, mga sample na nagsasalita, at kahoy na aking inilatag sa paligid ng shop, nagawa ko ang isang pares ng disenteng tunog at maayos na hitsura
Motion Detector Sa Mga Abiso sa Blynk (WeMos D1 Mini + HC-SR04): 4 na Hakbang (na may Mga Larawan)
Motion Detector Sa Mga Abiso sa Blynk (WeMos D1 Mini + HC-SR04): Mangyaring VOTE para sa proyektong ito sa Wireless Contest. Salamat! I-update ang no.2 - Ilang pag-aayos (bersyon 2.2), maaari kang mag-setup ng sensor (saklaw at pangalan) mismo sa kahulugan. Gayundin, minsan nangyari na ang sensor ay nagbabasa ng mga maling halaga at nagpadala ng kapansin-pansin