Orodha ya maudhui:

PlotClock, WeMos na Blynk Kucheza Vintage AMI Jukebox: 6 Hatua (na Picha)
PlotClock, WeMos na Blynk Kucheza Vintage AMI Jukebox: 6 Hatua (na Picha)

Video: PlotClock, WeMos na Blynk Kucheza Vintage AMI Jukebox: 6 Hatua (na Picha)

Video: PlotClock, WeMos na Blynk Kucheza Vintage AMI Jukebox: 6 Hatua (na Picha)
Video: Новая плата Nixie Clock на esp8266 2024, Julai
Anonim
PlotClock, WeMos na Blynk Wakicheza Vintage AMI Jukebox
PlotClock, WeMos na Blynk Wakicheza Vintage AMI Jukebox
PlotClock, WeMos na Blynk Wakicheza Vintage AMI Jukebox
PlotClock, WeMos na Blynk Wakicheza Vintage AMI Jukebox

Ubunifu wanne wa kiufundi uliwezesha mradi huu: 1977 Rowe AMI Jukebox, kitanda cha mkono wa robot ya PlotClock, WeMos / ESP 8266 microcontroller na Blynk App / Cloud service.

KUMBUKA: Ikiwa huna Jukebox karibu - usiache kusoma! Mradi huu unaweza kupitishwa kwa urahisi kudhibiti vitu anuwai vinavyodhibitiwa na vidole vya binadamu. Mfano mmoja inaweza kuwa kidole cha roboti ikicheza Xylophone ya jadi - labda hiyo inayoweza kufundishwa inatoka kwako!

Miaka yangu 40 Rowe AMI R-81 Jukebox bado inafanya kazi vizuri ikicheza single za vinyl za zabibu kutoka 60's, 70 'na 80's. Uzito wa zaidi ya kilo 160 (lbs 360) mchezaji huyu sio rahisi sana kama wachezaji wa kisasa wa mp, lakini akiishi katika enzi ya mtandao, sasa inawezekana kubeba sanduku la jukebox na rekodi 200 za vinyl mfukoni mwako - kwa kweli! Na unaweza hata kutumia orodha zako za kucheza zilizohifadhiwa kwenye microcontroller!

Roboti ya kushangaza ya PlotClock asili imeundwa kuonyesha wakati wa sasa kwa kuchora nambari za wakati kwenye ubao unaoweza kufutwa. Marekebisho yangu kwa PlotClock ni kuitumia kama kidole cha roboti kwa kubonyeza vifungo vya uteuzi wa wimbo wa Jukebox.

"Kidole" cha Plotclock "inaendeshwa na servos 3 zinazodhibitiwa na microcontroller ya WeMos. Sehemu hii ya kushangaza ni (karibu) Arduino Uno inaendana na ina uwezo wa WiFi, kwa hivyo inawezekana kudhibiti sanduku la juksi bila waya kutoka mahali popote ulimwenguni.

Cream kwenye keki hutoka kwa programu rahisi ya kutumia Blynk na Seva yao ya Wingu ya Blynk kutoa kiolesura kizuri cha mtumiaji wa simu / kibao na uhamaji kamili.

Hatua ya 1: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa

Jukebox

Jokebox ya mradi ni 1977 Rowe AMI R-81. Jokebox yoyote ya zamani iliyo na vifungo vya uteuzi itafanya - ikibaini mapungufu machache na PlotClock: muundo wa mikono ya PlotClock unaweza kufunika eneo karibu 5 x 12 cm kwa hivyo mpangilio wa kitufe cha jukebox (eneo pamoja na vifungo vyote vya uteuzi) lazima iwe juu ya saizi hiyo. Vifungo vya sanduku za zamani za juksi vinaweza kuhitaji nguvu zaidi ya kusukuma kuliko huduma za PlotClock.

AMI R-81 ina kumbukumbu ambapo inaweza kuhifadhi chaguzi zote 200. Uteuzi unachezwa kulingana na agizo lililohifadhiwa kwenye jarida la rekodi (aina ya jukwa), sio kwa agizo walilochaguliwa. Chaguo nyingi kwa rekodi moja huchezwa mara moja tu.

PlotClock

Plotclock inapatikana kit ya DIY ikiwa ni pamoja na sehemu za mitambo, servos 3, Arduino Uno R3, bodi ya Ugani wa Arduino na kebo ya USB. Kwa karibu 30 USD hii ni ununuzi mzuri (km. Banggood.com). Arduino, bodi ya ugani na kebo ya USB haitumiki kwa mradi huu.

Kuna mafunzo kadhaa mazuri ya mtandao / YouTube ya kutunga Plotclock - kwa mfano. hii: Maagizo ya PlotClock

static1.squarespace.com/static/52cb189ee4b012ff9269fa8e/t/5526946be4b0ed8e0b3cd296/1428591723698/plotclock_final_instructions.pdf

WeMos

WeMos D1 R2 ni mdhibiti mdogo wa ESP8266. Inaweza kusanidiwa kwa kutumia Arduino IDE na ina uwezo wa WiFi kwa hivyo ni vifaa kamili kwa mradi huu.

Hatua ya 2: Upimaji

Upimaji
Upimaji

Ulinganishaji ni jukumu la kupata maadili sahihi ya pembe kwa pembe za servo (kati ya digrii 0 hadi 180) ili kuambatana na nafasi za mwili kwa vifungo vya uteuzi. Thamani za Angle zinaweza kupatikana na hesabu za trigonometry au kutumia programu ya CAD. Nilipata maadili ya takriban kutoka kwa rafiki yangu ambaye alijua jinsi ya kutumia AutoCad.

Walakini, hesabu ya mwisho ilibidi ifanywe kwa kujaribu na makosa. Kutumia mpangilio wa kitufe kilichochorwa kwenye kipande cha karatasi Inawezekana kufanya "upimaji wa eneo-kazi" kupata maadili sahihi ya pembe.

Hatua ya 3: Mkutano

Mkutano
Mkutano
Mkutano
Mkutano
Mkutano
Mkutano
Mkutano
Mkutano

Wiring

Uunganisho kutoka kwa Plotclock servos hadi Wemos hufanywa na waya 5: +5, GND, D4, D5 na D6. Angalia maelezo kwenye picha na nambari.

Kufunga kwenye Jukebox

Sikutaka kutengeneza mashimo yoyote kwa sanduku la jukebox la miaka 40 ambalo lilikuwa limeishi kwa muda mrefu bila uharibifu mkubwa. Kutumia muhuri laini wa mpira nilirekebisha kipande cha orodha ya pembe ya alumini chini ya koni ya jukebox. Seal sealant hufanya kushikilia kwa nguvu na inaweza kuondolewa bila kuacha alama yoyote. Mwili wa PlotClock ulihitaji pembe mbili ndogo za aluminium kusaidia kuiweka kwenye bamba la akriliki. Sahani ya akriliki kisha imewekwa kwenye orodha ya pembe na sehemu mbili za kubeba chemchemi ikiacha uwezekano wa kufanya marekebisho ya mwisho kwa wima na usawa.

Hatua ya 4: Blynk

Blynk
Blynk

Blynk ni programu ya bure ya kudhibiti aina kadhaa za wadhibiti wadogo kwa mbali. Ukiwa na Blynk unaweza kuunda kielelezo kizuri cha mtumiaji kwa kutumia aina kadhaa za vilivyoandikwa. Kuna wijeti moja tu inayohitajika kwa mradi huu: Wijeti ya Jedwali.

Hatua ya 5: Programu

Programu ya Blynk

Hakuna usimbuaji kando ya programu. "Mazungumzo" kati ya programu (Blynk) na microcontroller (WeMos) hushughulikiwa na "pini halisi" ambazo kimsingi ni njia za kutuma na kupokea habari kati ya hizo mbili. Pini halisi ni kwa mfano kutumika kutuma nambari ya safu ya wimbo uliochaguliwa kutoka kwa programu ya Blynk kwenda kwa WeMos, na Wemos hushughulikia zingine, yaani. kutuma amri kwa servos ya Plotclock.

Nambari ya WeMos

/**************************************************************

Wijeti ya jedwali katika V2 *********************************************. // Mradi wa Jukebox char ssid = "- SSID YAKO--"; char pass = "- NENO LA WIFI WAKO--"; int c [50]; // Mpangilio wa nafasi za rekodi za Jukebox (100-299) Servo myservo1; // kuinua Servo myservo2; // mkono wa kushoto Servo myservo3; // mkono wa kulia int pos1 = 0; int pos2 = 0; int pos3 = 0; int btn = 0; kuanzisha batili () {myservo1.attach (2); // pini D4, ondoa myservo2. ambatisha (14); // pini D5, kushoto myservo3. ambatisha (12); // pini D6, kulia myservo1.andika (140); kuandika [90]; andresvo3. andika (90); Serial. Kuanza (115200); Blynk kuanza (auth, ssid, pass); // Arifu mara moja wakati wa kuanza // String msg = "Jukebox WeMos imeunganishwa na:"; //Blynk.julisha (msg + ssid); // wazi meza hapo mwanzo Blynk.virtualWrite (V2, "clr"); jedwaliTafura (); } BLYNK_WRITE (V2) // Pokea amri kutoka kwa wijeti ya Jedwali V2 {Kamba cmd = param [0].asStr (); // param [0] = "chagua" au "uchague", param [1] = safu Serial.print ("\ nJedwali: BLYNK_WRITE (V2) cmd:"); Printa ya serial (cmd); uteuzi wa int = c [param [1].asInt ()]; // Nambari ya safu iliyochaguliwa iko katika param [1] Serial.println ("\ nUteuzi:"); Serial.println (uteuzi); process_selection (uteuzi); } batili ya Jedwali () {int i = 0; Serial.println ("Jedwali la kueneza…"); Blynk.virtualWrite (V2, "ongeza", 0, "Kuwa Mtoto Wangu - Wakuu", 112); c = 112; Blynk.virtualWrite (V2, "ongeza", 1, "Nambari ya Kwanza - Jerry Williams", 176); i ++; c = 176; Blynk.virtualWrite (V2, "ongeza", 2, "Upendo Wangu Wote - Beatles", 184); i ++; c = 184; Blynk.virtualWrite (V2, "ongeza", 3, "Wakati wa Kiangazi - Mungo Jerry", 236); i ++; c = 236; Blynk.virtualWrite (V2, "ongeza", 4, "Wingu Nyeusi - Chubby Checker", 155); i ++; c = 155; Blynk.virtualWrite (V2, "ongeza", 5, "Mamy Blue - Pop-Tops", 260); i ++; c = 260; Blynk.virtualWrite (V2, "ongeza", 6, "Itakuwa sawa - Gerry & Pacemaker", 145); i ++; c = 145; Blynk.virtualWrite (V2, "ongeza", 7, "Njia Yangu - Tom Jones", 193); i ++; c = 193; Blynk. VirtualWrite (V2, "ongeza", 8, "San Bernadino - Christie", 149); i ++; c = 149; Blynk.virtualWrite (V2, "ongeza", 9, "The Twist - Chubby Checker", 169); i ++; c = 169;

kuchelewesha (1000);

} batili mchakato_kuchagua (uteuzi wa int) {// chagua nambari 3 (mfano. 178) hadi vifungo 3: int btn1 = int (uteuzi / 100); // kifungo cha kwanza Serial.println ("\ nBtn1:"); Serial.println (btn1); ikiwa (btn1 == 1 || btn1 == 2) // kifungo cha kwanza lazima iwe 1 au 2 - vinginevyo fanya upya {push_button (btn1); uteuzi = uteuzi - (btn1 * 100); int btn2 = int (uteuzi / 10); // kifungo cha pili Serial.println ("\ nBtn2:"); Serial.println (btn2); kifungo cha kushinikiza (btn2); uteuzi = uteuzi - (btn2 * 10); int btn3 = int (uteuzi); // kifungo cha tatu Serial.println ("\ nBtn3:"); Serial.println (btn3); kifungo cha kushinikiza (btn3); } mwingine {kitufe cha kushinikiza (11); // kitufe cha kuweka upya} // kuweka upya nafasi za servo wakati wote wamechelewa (2000); andika (140); kuandika [90]; myservo3.write (90);} batili push_button (int btn) {// hii inaitwa mara 3 kwa kila uteuzi // kitufe halisi cha kifungo kimefanywa baada ya kila kitufe (tafuta 'kitufe cha kitufe cha kushinikiza') (btn) {kesi 1: set_servo_angles (134, 136); // mapumziko 1; kesi 2: set_servo_angles (128, 110); // 2 kuvunja; kesi 3: set_servo_angles (112, 88); // mapumziko 3; kesi ya 4: set_servo_angles (89, 68); // mapumziko 4; kesi ya 5: set_servo_angles (62, 55); // mapumziko 5; kesi ya 6: set_servo_angles (172, 131); // mapumziko 6; kesi ya 7: set_servo_angles (163, 106); // mapumziko 7; kesi ya 8: set_servo_angles (140, 83); // mapumziko 8; kesi 9: set_servo_angles (104, 58); // mapumziko 9; kesi 0: set_servo_angles (75, 36); // mapumziko 0; kesi ya 11: set_servo_angles (36, 30); // mapumziko 11; } // kubadili mwisho} batili set_servo_angles (int pos2, int pos3) {myservo2.write (pos2); andika (pos3); // Nafasi za Servo tayari - fanya kushinikiza kifungo halisi: kuchelewesha (500); kuandika [60]; // kuchelewa chini (500); kuandika [140]; // kuchelewa (500); } kitanzi batili () {Blynk.run (); }

Hatua ya 6: Hatua za Baadaye

Widget ya video - video ya moja kwa moja na mtiririko wa sauti kwa Programu ya Blynk (tayari imejaribiwa - inafanya kazi)

Wijeti ya Webhook - orodha ya kucheza inayopakuliwa kutoka kwa wingu (tayari imejaribiwa - inafanya kazi)

Wijeti ya jedwali - maboresho madogo kwenye wijeti yanakaribishwa (maoni yaliyotumwa kwa watengenezaji wa Blynk)

Ilipendekeza: