Բովանդակություն:
- Քայլ 1: Սարքավորումներ
- Քայլ 2: Կալիբրացում
- Քայլ 3: Հավաքում
- Քայլ 4: Բլինք
- Քայլ 5: Softwareրագրակազմ
- Քայլ 6: Ապագա քայլեր
Video: PlotClock, WeMos և Blynk Playing Vintage AMI Jukebox: 6 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Չորս տեխնիկական նորամուծություն հնարավոր դարձրեց այս նախագիծը. 1977 թ. Rowe AMI Jukebox, PlotClock ռոբոտների թևերի հավաքածու, WeMos/ESP 8266 միկրոկառավարիչ և Blynk App/Cloud ծառայություն:
Ո NOTՇԱԴՐՈԹՅՈՆ. Եթե դուք չունեք Jukebox ձեռքը, մի դադարեք կարդալ: Այս նախագիծը կարող է հեշտությամբ ընդունվել ՝ վերահսկելու տարբեր բաներ, որոնք վերահսկվում են մարդու մատներով: Օրինակներից մեկը կարող է լինել ռոբոտի մատը, որը նվագում է ավանդական քսիլոֆոն:
Իմ 40-ամյա Rowe AMI R-81 Jukebox- ը դեռ լավ է աշխատում ՝ խաղալով 60-ականների, 70-ականների և 80-ականների վինիլային սինգլներ: 160 կգ (360 ֆունտ) քաշով այս նվագարկիչն այնքան դյուրակիր չէ, որքան ժամանակակից mp-player- երը, բայց ինտերնետի դարաշրջանում ապրելով ՝ այժմ հնարավոր է գրպանում կրել ջուկբոքսը և 200 վինիլային սկավառակ, իհարկե, իհարկե: Եվ նույնիսկ կարող եք օգտագործել ձեր սեփական տեսացանկերը, որոնք պահվում են միկրոկառավարիչի մեջ:
Ingարմանալի PlotClock ռոբոտը ի սկզբանե նախագծված է ներկայիս ժամանակը ցույց տալու համար `ջնջվող տախտակի վրա գծելով թվանշաններ: PlotClock- ի իմ հարմարեցումն է օգտագործել այն որպես ռոբոտի մատ Jukebox երգի ընտրության կոճակները սեղմելու համար:
Plotclock- ի «մատը» վարում է 3 սերվո, որոնք վերահսկվում են WeMos միկրոկոնտրոլերի կողմից: Այս հրաշքը (գրեթե) Arduino Uno- ն համատեղելի է և ունի WiFi հնարավորություններ, այնպես որ հնարավոր է անլար կառավարել ջուկբոքսը աշխարհի ցանկացած կետից:
Տորթի կրեմը գալիս է անհավատալիորեն հեշտ օգտագործվող Blynk հավելվածից և նրանց Blynk Cloud Server- ից ՝ տալով բջջային հեռախոսի/պլանշետի գեղեցիկ ինտերֆեյս `լիարժեք շարժունակությամբ:
Քայլ 1: Սարքավորումներ
Juուկբոքս
Նախագծի ջուքբոքսը 1977 թվականի Rowe AMI R-81 է: Oldանկացած հին ջուկբոքս ՝ ընտրելու կոճակներով, կանի ՝ նշելով PlotClock- ի մի քանի սահմանափակումներ. Հին ջուկբոքսերի կոճակները կարող են ավելի մեծ ուժի կարիք ունենալ, քան կարող է տրամադրել PlotClock սերվերը:
AMI R-81- ն ունի հիշողություն, որտեղ կարող է պահել բոլոր 200 ընտրանքները: Ընտրված ընտրանքները խաղարկվում են ձայնագրությունների ամսագրում (կարուսելի տեսակը) պահվելու կարգի հիման վրա, այլ ոչ թե ընտրված կարգի: Մեկ ձայնագրության բազմակի ընտրություն կատարվում է միայն մեկ անգամ:
PlotClock
Plotclock- ը կոմերցիոն կերպով մատչելի DIY հավաքածու է, որը ներառում է մեխանիկական մասեր, 3 սպասարկում, Arduino Uno R3, Arduino Extension տախտակ և USB մալուխ: Մոտ 30 ԱՄՆ դոլարով սա լավ գնում է (օրինակ ՝ Banggood.com): Այս նախագծի համար չեն օգտագործվում Arduino, երկարացման տախտակ և USB մալուխ:
Գոյություն ունեն մի քանի լավ ինտերնետ/YouTube ձեռնարկներ Plotclock- ը կազմելու համար, օրինակ. սա ՝ PlotClock- ի հրահանգներ
static1.squarespace.com/static/52cb189ee4b012ff9269fa8e/t/5526946be4b0ed8e0b3cd296/1428591723698/plotclock_final_instructions.pdf
WeMos
WeMos D1 R2- ը ESP8266- ի վրա հիմնված միկրոկոնտրոլեր է: Այն կարող է ծրագրավորվել Arduino IDE- ի միջոցով և ունի WiFi հնարավորություններ, ուստի այն այս ծրագրի համար կատարյալ սարքավորում է:
Քայլ 2: Կալիբրացում
Կալիբրացիան սերվո անկյունների (0 -ից 180 աստիճան) անկյունների ճշգրիտ արժեքներ գտնելու խնդիր է `ընտրող կոճակների ֆիզիկական դիրքերին համապատասխան: Անկյունի արժեքները կարելի է գտնել եռանկյունաչափության արիթեմիտիկայի միջոցով կամ CAD ծրագրակազմի միջոցով: Ես ստացել եմ մոտավոր արժեքներ իմ ընկերոջից, ով գիտեր, թե ինչպես օգտագործել AutoCad- ը:
Այնուամենայնիվ, վերջնական ճշգրտումը պետք է կատարվեր փորձության և սխալի միջոցով: Օգտագործելով թղթի վրա գծված կոճակների դասավորությունը Հնարավոր է կատարել «աշխատասեղանի փորձարկում» `անկյունների ճիշտ արժեքները գտնելու համար:
Քայլ 3: Հավաքում
Հաղորդալարեր
Plotclock servos- ից Wemos- ին միացումը կատարվում է 5 լարերով `+5, GND, D4, D5 և D6: Մանրամասները դիտեք նկարներում և ծածկագրում:
Տեղադրում Jukebox- ում
Ես չէի ուզում պտուտակով անցքեր անել 40 -ամյա ջուկբոքսի վրա, որն այդքան երկար գոյատևել էր առանց մեծ վնասների: Օգտագործելով փափուկ ռետինե կնիք, ես ամրացրեցի ալյումինե անկյունային ցուցակի մի կտոր jukebox վահանակի տակ: Ռետինե հերմետիկ նյութը ամուր բռնում է և կարող է հեռացվել առանց որևէ հետք թողնելու: PlotClock- ի մարմնին անհրաժեշտ էր երկու փոքր ալյումինե անկյուններ, որոնք կօգնեն այն տեղավորել ակրիլային ափսեի մեջ: Ակրիլային ափսեն այնուհետև տեղավորվում է անկյունների ցանկում ՝ երկու զսպանակով ամրակներով, ինչը հնարավորություն է տալիս ուղղահայաց և հորիզոնական վերջնական ճշգրտումներ կատարել:
Քայլ 4: Բլինք
Blynk- ը անվճար ծրագիր է ՝ մի քանի տեսակի միկրոկառավարիչների հեռակա վերահսկման համար: Blynk- ի միջոցով կարող եք հեշտությամբ կառուցել գեղեցիկ ինտերֆեյս `օգտագործելով մի քանի տեսակի վիջեթներ: Այս նախագծի համար անհրաժեշտ է միայն մեկ վիջեթ ՝ Աղյուսակի վիջեթը:
Քայլ 5: Softwareրագրակազմ
Blynk հավելված
Appրագրի կողքին չկա կոդավորում: Conversationրագրի (Blynk) և միկրոկառավարիչի (WeMos) միջև «զրույցը» վարվում է «Վիրտուալ կապում», որն, ըստ էության, այդ երկուսի միջև տեղեկատվություն ուղարկելու և ստանալու ուղիներ են: Վիրտուալ քորոցը, օրինակ, օգտագործվում է Blynk հավելվածից ընտրված երգի տողի համարը WeMos- ին ուղարկելու համար, իսկ մնացածը Wemos- ը կարգավորում է, այսինքն. հրամաններ ուղարկելով Plotclock սերվերին:
WeMos ծածկագիրը
/**************************************************************
Աղյուսակի վիջեթ V2 ********************************************* ** // Jukebox նախագիծ char ssid = "-ՔՈ SSID--"; char pass = "-ՔՈ WIFI գաղտնաբառ--"; int c [50]; // rayանգված Jukebox- ի ռեկորդային դիրքերի համար (100-299) Servo myservo1; // բարձրացում Servo myservo2; // ձախ թև Servo myservo3; // աջ թեւ int pos1 = 0; int pos2 = 0; int pos3 = 0; int btn = 0; void setup () {myservo1.attach (2); // կապում D4, բարձրացրեք myservo2.attach (14); // կապ D5, ձախ myservo3.attach (12); // կապ D6, աջ myservo1.write (140); myservo2.write (90); myservo3. գրել (90); Serial.begin (115200); Blynk.begin (author, ssid, pass); // Տեղեկացնել անմիջապես գործարկման ժամանակ // String msg = "Jukebox WeMos- ը միացված է ՝"; //Blynk.notify(msg + ssid); // մաքրել աղյուսակը սկզբից Blynk.virtualWrite (V2, "clr"); populateTable (); } BLYNK_WRITE (V2) // Ստացեք հրամաններ Table widget V2- ից {String cmd = param [0].asStr (); // param [0] = "ընտրել" կամ "ապընտրել", param [1] = տող Serial.print ("\ n Աղյուսակ. BLYNK_WRITE (V2) cmd:"); Serial.print (cmd); int ընտրություն = c [պարամետր [1].asInt ()]; // Ընտրված տողի համարը պարամետրում է [1] Serial.println ("\ n Ընտրություն."); Serial.println (ընտրություն); գործընթացի_ընտրություն (ընտրություն); } void populateTable () {int i = 0; Serial.println («Բնակեցված սեղան…»); Blynk.virtualWrite (V2, «ավելացնել», 0, «Եղիր իմ երեխան - գերագույնները», 112); c = 112; Blynk.virtualWrite (V2, «ավելացնել», 1, «Թիվ մեկ - ryերի Ուիլյամս», 176); i ++; c = 176; Blynk.virtualWrite (V2, «ավելացնել», 2, «All My Loving - The Beatles», 184); i ++; c = 184; Blynk.virtualWrite (V2, «ավելացնել», 3, «Ամռանը ՝ Մունգո Jerերի», 236); i ++; c = 236; Blynk.virtualWrite (V2, «ավելացնել», 4, «Սև ամպ - թմբլիկ ստուգիչ», 155); i ++; c = 155; Blynk.virtualWrite (V2, «ավելացնել», 5, «Mamy Blue - Pop -Tops», 260); i ++; c = 260; Blynk.virtualWrite (V2, «ավելացնել», 6, «Ամեն ինչ լավ կլինի - Gerry & Pacemakers», 145); i ++; c = 145; Blynk.virtualWrite (V2, «ավելացնել», 7, «Իմ ճանապարհը - Թոմ onesոնս», 193); i ++; c = 193; Blynk.virtualWrite (V2, «ավելացնել», 8, «San Bernadino - Christie», 149); i ++; c = 149; Blynk.virtualWrite (V2, «ավելացնել», 9, «The Twist - Chubby Checker», 169); i ++; c = 169;
ուշացում (1000);
} void process_selection (int ընտրություն) {// վերլուծել եռանիշ ընտրությունը (օրինակ ՝ 178) մինչև 3 կոճակ ՝ int btn1 = int (ընտրություն/100); // առաջին կոճակը Serial.println ("\ nBtn1:"); Serial.println (btn1); եթե (btn1 == 1 || btn1 == 2) // առաջին կոճակը պետք է լինի 1 կամ 2 - հակառակ դեպքում կատարեք վերականգնում {push_button (btn1); ընտրություն = ընտրություն - (btn1 * 100); int btn2 = int (ընտրություն/10); // երկրորդ կոճակը Serial.println ("\ nBtn2:"); Serial.println (btn2); push_button (btn2); ընտրություն = ընտրություն - (btn2 * 10); int btn3 = int (ընտրություն); // երրորդ կոճակը Serial.println ("\ nBtn3:"); Serial.println (btn3); push_button (btn3); } else {push_button (11); // վերակայման կոճակ} // վերականգնել servo դիրքերը, երբ ամեն ինչ ավարտված է (2000); myservo1.write (140); myservo2.write (90); myservo3.write (90);} void push_button (int btn) {// սա կոչվում է 3 անգամ յուրաքանչյուր ընտրության համար // կոճակի փաստացի սեղմումը կատարվում է յուրաքանչյուր կոճակից հետո (գտնել «փաստացի կոճակի սեղմում») անջատիչից (btn) {դեպք 1 ՝ set_servo_angles (134, 136); // 1 ընդմիջում; դեպք 2: set_servo_angles (128, 110); // 2 ընդմիջում; դեպք 3: set_servo_angles (112, 88); // 3 ընդմիջում; գործ 4: set_servo_angles (89, 68); // 4 ընդմիջում; դեպք 5: set_servo_angles (62, 55); // 5 ընդմիջում; դեպք 6: set_servo_angles (172, 131); // 6 ընդմիջում; դեպք 7: set_servo_angles (163, 106); // 7 ընդմիջում; գործ 8: set_servo_angles (140, 83); // 8 ընդմիջում; գործ 9: set_servo_angles (104, 58); // 9 ընդմիջում; գործ 0: set_servo_angles (75, 36); // 0 ընդմիջում; դեպք 11: set_servo_angles (36, 30); // 11 ընդմիջում; } // վերջ անջատիչ} անվավեր set_servo_angles (int pos2, int pos3) {myservo2.write (pos2); myservo3. գրել (pos3); // Սերվոյի դիրքերը պատրաստ են. Կատարեք կոճակի փաստացի սեղմումը. Հետաձգում (500); myservo1.write (60); // հետաձգում (500); myservo1.write (140); // հետաձգում (500); } void loop () {Blynk.run (); }
Քայլ 6: Ապագա քայլեր
Տեսանյութի վիջեթ - կենդանի վիդեո և աուդիո հոսք դեպի Blynk հավելված (արդեն փորձարկված - աշխատում է)
Webhook վիջեթ - երգացանկ ՝ ըստ պահանջի ներբեռնել ամպից (արդեն փորձարկված է ՝ աշխատում է)
Աղյուսակի վիջեթ - վիջեթում որոշ փոքր բարելավումներ ողջունելի են (առաջարկություններ են ուղարկվում Blynk ծրագրավորողներին)
Խորհուրդ ենք տալիս:
Cara Menggunakan Wemos D1 R1/ Wemos D1 Mini/ NodeMCU: 7 քայլ
Cara Menggunakan Wemos D1 R1/ Wemos D1 Mini/ NodeMCU: Pada tutorial pertama ini, Saya ingin mengajak Anda bagaimana caranya menggunakan papan mikrokontroler yang sudah ada Module WiFi ESP8266 di dalamnya dan juga sering Dym1pa, m11, y1 սերունդ, մինջա, մինջա, մինջա, մինջա, մինջա, մինջա, մինջա, մինջա, մինջա, մինջա, սերմի դեմ 1, ) dengan menggunakan դիմում
Wi-Fi վերահսկվող ռոբոտ Wemos D1 ESP8266- ի, Arduino IDE- ի և Blynk հավելվածի միջոցով. 11 քայլ (նկարներով)
Wi-Fi վերահսկվող ռոբոտ ՝ օգտագործելով Wemos D1 ESP8266, Arduino IDE և Blynk հավելված. Այս ձեռնարկում ես ձեզ ցույց եմ տալիս, թե ինչպես կարելի է պատրաստել սմարթֆոնից կառավարվող Wi-Fi- ով կառավարվող ռոբոտային բաք ՝ օգտագործելով Blynk հավելվածը: Այս նախագծում օգտագործվել է ESP8266 Wemos D1 տախտակ, բայց կարող են օգտագործվել նաև ափսեի այլ մոդելներ (NodeMCU, Firebeetle և այլն), իսկ նախնական
Ուղարկեք ջերմաստիճան և խոնավություն Blynk հավելվածին (Wemos D1 Mini Pro). 15 քայլ (նկարներով)
Ուղարկեք ջերմաստիճան և խոնավություն Blynk հավելվածին (Wemos D1 Mini Pro)
Կառուցեք Bootable UFD AMI BIOS- ի առկայծման համար `12 քայլ
Կառուցեք Bootable UFD ՝ AMI BIOS- ի առկայծման համար. Երկու նոութբուքերը և աշխատասեղան համակարգիչները երբեմն պահանջում են BIOS- ի թարմացումներ: Երբ այցելում եք վաճառողի վեբ կայք (կամ PC mfgr կամ BIOS ստեղծող) և հայտնաբերում եք ձեր ուզած հատկանիշներով նոր BIOS, կամ արդիականացումներն պահանջում են նոր BIOS, ժամանակն է տեղադրել ամեն ինչ
Շարժման դետեկտոր Blynk- ի ծանուցումներով (WeMos D1 Mini + HC-SR04). 4 քայլ (նկարներով)
Շարժման դետեկտոր Blynk- ի ծանուցումներով (WeMos D1 Mini + HC-SR04). Խնդրում ենք քվեարկել այս նախագծի համար անլար մրցույթում: Շնորհակալություն: Թարմացրեք թիվ 2 - Մի քանի փոփոխություն (տարբերակ 2.2), կարող եք սահմանել ձեր ցուցիչը (տիրույթը և անունը) հենց սահմանման մեջ: Բացի այդ, երբեմն պատահում էր, որ սենսորը սխալ արժեքներ էր կարդում և ծանուցում ուղարկում