Բովանդակություն:

DIY Bluetooth մակրո ստեղնաշար. 10 քայլ (նկարներով)
DIY Bluetooth մակրո ստեղնաշար. 10 քայլ (նկարներով)

Video: DIY Bluetooth մակրո ստեղնաշար. 10 քայլ (նկարներով)

Video: DIY Bluetooth մակրո ստեղնաշար. 10 քայլ (նկարներով)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Հուլիսի
Anonim
DIY Bluetooth մակրո ստեղնաշար
DIY Bluetooth մակրո ստեղնաշար

Այս Ուղեցույցում մենք մտադիր ենք դիտել ESP32- ի ներկառուցված Bluetooth- ի օգտագործումը `Bluetooth ստեղնաշարն ընդօրինակելու համար:

Bluetooth HID (Մարդկային միջերեսային սարք) այն սովորական Bluetooth ստեղնաշարի և մկների կողմից օգտագործվող արձանագրությունն է, և դա հնարավոր է նմանակել ընդամենը ESP32- ով, ինչը հիանալի է:

ESP32- ի զարգացման որոշ տախտակներով, որոնց արժեքը սկսվում է $ 5 -ից պակաս*, սա իսկապես էժան և պարզ միջոց է անլար հարմարեցված ստեղնաշարեր ստեղծելու համար, ինչպիսիք են մակրո ստեղնաշարը: Մակրո ստեղնաշարերը կարող են օգտագործվել տարբեր ծրագրեր վերահսկելու համար, ինչպիսիք են Տեսախմբագիրները կամ Photoshop- ը, անձամբ ես օգտագործում եմ իմը OBS- ում տեսարաններ վերահսկելու համար, երբ տեսանյութեր եմ պատրաստում կամ հոսում:

Մենք նախ կանդրադառնանք, թե ինչպես օգտագործել ESP32 HID ստեղնաշարի գրադարանը, այնուհետև ես ձեզ ցույց կտամ, թե ինչպես եմ դա օգտագործել ՝ մարտկոցով աշխատող Bluetooth մակրո ստեղնաշար կառուցելու համար:

Պարագաներ

  • TinyPICO ESP32 Dev տախտակ (ցանկացած ESP32 կարող է աշխատել)
  • 4*4 մատրիցային ստեղնաշար*

Ձեզ նույնպես կպահանջվի լիպո մարտկոց, ես պարզապես օգտագործեցի պատահական մարտկոց, որի շուրջը տեղադրված էի, այնպես որ չեմ կարող դրան կապել:

Եթե ձեր համակարգիչը չունի Bluetooth, կարող եք օգտագործել այսպիսի dongle:

Amazon.co.uk*:

Amazon.com*՝

Amazon.de*՝

* = Գործընկեր

Քայլ 1: Դիտեք տեսանյութը

Image
Image

Ես պատրաստել եմ մի տեսանյութ, որն ընդգրկում է նույնը, ինչ այս Instructable- ը, այնպես որ, եթե ձեզ հետաքրքրում է, խնդրում ենք ստուգել այն: Ես նաև պարբերաբար տեսանյութեր եմ պատրաստում ESP8266 և ESP32 նախագծերի շուրջ, այնպես որ գուցե իմ ալիքում կան այլ տեսահոլովակներ, որոնք ձեզ կարող են հետաքրքիր թվալ:

Քայլ 2. [Լրացուցիչ] ESP32- ով սկսելը

ESP32- երը միկրոկոնտրոլերներ են, որոնք համատեղելի են Arduino IDE- ի հետ և ներառում են WiFi և Bluetooth ներառված: Նրանք նաև բավականին էժան են, ուստի դրանք շատ օգտակար չիպսեր են ձեր նախագծերի համար:

Դուք պետք է ավելացնեք ESP32 տախտակի սահմանումը ձեր Arduino IDE- ին, դրան կարող եք հետևել ESP32 Arduino նախագծերի Github էջում նշված քայլերին:

Քայլ 3. Տեղադրեք ESP32 Ble ստեղնաշարի գրադարանը

Տեղադրելով ESP32 Ble ստեղնաշարի գրադարանը
Տեղադրելով ESP32 Ble ստեղնաշարի գրադարանը
Տեղադրելով ESP32 Ble ստեղնաշարի գրադարանը
Տեղադրելով ESP32 Ble ստեղնաշարի գրադարանը

Հնարավոր է օգտագործել Bluethooth HID- ը ESP32- ում ՝ առանց արտաքին գրադարանի, սակայն Github- ի օգտվող T-Vk- ն գրել է ESP32-BLE-Keyboard անունով գրադարան, որն այն ավելի նման է ստանդարտ ստեղնաշարի գրադարանին, ինչը շատ ավելի հեշտ է դարձնում օգտագործումը:

Այս գրադարանը հասանելի չէ գրադարանի կառավարչին, այնպես որ ձեզ հարկավոր կլինի այն ներբեռնել Github- ից:

  • Գնացեք նախագծերի թողարկումների էջ և ներբեռնեք վերջին ESP32-BLE-Keyboard.zip- ը
  • Ներբեռնելուց հետո կարող եք այն ավելացնել ձեր Arduino IDE- ին, սակայն անցնելով Sketch-> Include Library և այնուհետև Zip ավելացնել գրադարանին և նախորդ քայլից ընտրել ESP32-BLE-Keyboard.zip- ը:

Քայլ 4: Նայելով օրինակին

Նայելով օրինակին
Նայելով օրինակին
Նայելով օրինակին
Նայելով օրինակին
Նայելով օրինակին
Նայելով օրինակին

Ավելացնելուց հետո մենք կարող ենք բացել դրա հետ եկած օրինակը: Դա բավականին գեղեցիկ օրինակ է, քանի որ այն ցույց է տալիս մի քանի տարբեր բաներ, որոնց կարող եք հասնել գրադարանի հետ, բայց ես նաև մի փոքր ավելի մանրամասն կավելացնեմ, որտեղ կարծում եմ, որ դա օգտակար կլինի:

Օրինակին կարող եք մուտք գործել ՝ անցնելով Ֆայլ -> Օրինակներ -> ESP32 BLE ստեղնաշար -> SendKeyStrokes

Bluetooth կապի կարգավորում

Կարգավորման ընթացքում այն սկսում է Bluetooth կապը, այս փուլում այն պետք է հասանելի լինի ձեր սարքում զուգակցվելու համար:

bleKeyboard.begin ();

Օղակի ներսում այն նաև ստուգում է, արդյոք այն կապված է սարքի հետ

bleKeyboard.isConnected ()

Մուտքագրում

Առաջին բանը, որ ցույց է տալիս օրինակը, այն է, թե ինչպես կարող եք մուտքագրել տեքստը միանալուց հետո, այն առաջին հերթին մուտքագրելու է «Բարև աշխարհ» ՝ օգտագործելով

bleKeyboard.print («Բարև աշխարհ»);

Մեկ կոճակի սեղմում

Այնուհետև այն ցույց է տալիս, թե ինչպես կարող եք «գրել» վերադարձի ստեղնը, սա հիմնականում նմանակում է այս կոճակի մեկ ստեղնը:

bleKeyboard.write (KEY_RETURN);

Դուք կարող եք բացել գրադարանի BleKeyboard.h ֆայլը ՝ տեսնելու համար բոլոր բանալիները: Կարող եք նաև ascii նիշ ուղարկել ՝ դրանք ստորակետների մեջ դնելով:

bleKeyboard.write ('A');

Մեդիա բանալիներ

Այն նաև ցույց է տալիս, թե ինչպես կարող եք ուղարկել մեդիա բանալիներ: Սա նման է այն բանին, թե ինչպես կարող եք վերահսկել ձայնը կամ բաց թողնել հետքերը ձեր Bluetooth ականջակալներով: Օրինակը ցույց է տալիս նվագարկման/դադարների ստեղնը, բայց կրկին կարող եք բացել BleKeyboard.h- ն ՝ առկա մյուս տարբերակները տեսնելու համար:

bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);

Սեղմելով և բաց թողնելով ստեղները

Վերջնական բանը, որ օրինակը մեզ ցույց է տալիս, այն է, թե ինչպես կարող եք սեղմել և պահել ստեղները: Սա օգտակար է մակրո ստեղնաշարեր ստեղծելու համար: Այստեղ ցուցադրված օրինակը Ctrl + Alt + Delete- ի համար է

bleKeyboard.press (KEY_LEFT_CTRL);

bleKeyboard.press (KEY_LEFT_ALT);

bleKeyboard.press (KEY_DELETE);

Այնուհետև այն կոչում է releaseAll, որը, ինչպես հավանաբար կարող եք կռահել անունով, արձակում է բոլոր սեղմված ստեղները:

bleKeyboard.releaseAll ();

Կարող եք նաև հատուկ բանալիներ թողարկել, եթե ցանկանում եք ՝ օգտագործելով արձակման հրամանը այն բանալին, որը ցանկանում եք արձակել

bleKeyboard.release (KEY_DELETE);

Քայլ 5. Գրադարանի այլ խորհուրդներ

Այլ խորհուրդներ գրադարանին
Այլ խորհուրդներ գրադարանին
Այլ խորհուրդներ գրադարանին
Այլ խորհուրդներ գրադարանին
Այլ խորհուրդներ գրադարանին
Այլ խորհուրդներ գրադարանին

Մենք գրադարանի հիմնական ֆունկցիոնալությունը լուսաբանեցինք նախորդ քայլին, բայց ահա մի քանի լրացուցիչ բաներ, որոնք, կարծում եմ, օգտակար կլինի իմանալ

Օգտագործեք արտաքին ձգան

Միշտ ավելի լավ է վերահսկել նման HID սարքը ՝ օգտագործելով արտաքին ձգան, ինչպիսին է կոճակը սեղմելը: Եթե դուք օգտագործում եք ժամաչափ և ինչ -որ բան սխալ է ընթանում, ապա դա անհարմար կդարձնի անջատումը: Պատկերացրեք, որ պետք է փորձեք անջատել ձեր Bluetooth- ը, եթե դուք պատահաբար ծրագրավորել եք այն սեղմել Ctrl+Alt+Del յուրաքանչյուր 100mS:

Սարքի անունը փոխելը

Լռելյայն սարքի անունը կցուցադրվի որպես «ESP32 BLE ստեղնաշար», սա կարող է փոխվել, երբ ստեղծում եք գրադարանի օրինակ: Կարող եք սահմանել սարքի անունը, արտադրողը և մարտկոցի սկզբնական մակարդակը:

BleKeyboard bleKeyboard («Bluetooth սարքի անուն», «Bluetooth սարքերի արտադրող», 100);

Մարտկոցի մակարդակի սահմանում (ինձ մոտ գոնե չի աշխատում)

Գրադարանը պնդում է, որ կարող եք նաև մարտկոցի մակարդակը սահմանել, բայց դա ինձ մոտ չաշխատեց իմ Windows համակարգչի վրա (այն մնաց սկզբնական արժեքով) և իմ Android հեռախոսը ցույց չտվեց այդ ամենի մակարդակը: Ահա հրամանը դրա համար, եթե այն աշխատում է ձեզ համար

bleKeyboard.setBatteryLevel (50)

Սարքի համատեղելիություն

Ես հաջողությամբ գործարկեցի օրինակը իմ Windows 10 համակարգչի, Android հեռախոսի և Mac- ի վրա (չնայած այն դեռ ինչ -որ կերպ դեռ աշխատում է Սիերա):

Այն կարող է միաժամանակ միացվել միայն մեկ սարքի:

Անսարքությունների լուծում զուգավորում

Եթե խնդիրներ են առաջանում զուգավորման հետ, փորձեք վերագործարկել ESP32- ը, մինչ սարքը որոնում է: Ես նաև մեկ անգամ ստիպված էի միացնել և անջատել իմ bluetooth- ը համակարգչում, որպեսզի այն զուգակցվի:

Քայլ 6: Մակրո ստեղնաշար

Մակրո ստեղնաշար
Մակրո ստեղնաշար
Մակրո ստեղնաշար
Մակրո ստեղնաշար
Մակրո ստեղնաշար
Մակրո ստեղնաշար
Մակրո ստեղնաշար
Մակրո ստեղնաշար

Հիմա, երբ մենք հիմքերից դուրս ենք, եկեք դրանից գործնական բան պատրաստենք:

Նախորդ ուղեցույցում ես ցույց տվեցի, թե ինչպես պատրաստել ամենապարզ մակրո ստեղնաշարը Arduino pro Micro- ից և էժան ստեղնաշարից: Ստեղնաշարի յուրաքանչյուր կոճակի համար այն ուղարկում է կոճակի տարբեր համադրություն, որը կարող է օգտագործվել ծրագրերը կառավարելու համար, անձամբ ես այն օգտագործում եմ OBS- ի համար, այն ծրագրաշարի համար, որն օգտագործում եմ տեսանյութեր ձայնագրելու և հոսքի ժամանակ: Սա կարծես լավ նախագիծ է ESP32- ի վրա տեղափոխելու համար, որպեսզի մենք կարողանանք անլար տարբերակ պատրաստել:

Այս կառուցման համար ես կօգտագործեմ Unexpected Maker's TinyPICO ESP32 տախտակը: Այն ընտրելու հիմնական պատճառը շատ էներգաարդյունավետ տախտակն է և ունի միացված Lipo մարտկոցը լիցքավորելու և լիցքավորելու համար նախատեսված միացում, ուստի այն ամենը, ինչ պետք է անեմ, մարտկոցը միացնելն է:

Ես սուտ կխոսեի, եթե գրավիչ չլիներ այն փաստը, որ այն ունի նույն տողերի միջև հեռավորությունը, ինչ Pro Micro- ն, և ես կարող էի օգտվել նախկինում արդեն պատրաստված արդեն պատրաստված բեկորային տախտակից:

Ստեղնաշարի համար անհրաժեշտ է 8 GPIO կապ, և TinyPICO- ն անընդմեջ ունի 8 GPIO կապ, այնպես որ մենք դրանք կօգտագործենք: Դուք կարող եք պարզապես միացնել ստեղնաշարը TinyPICO- ին, ինչպես ցույց է տրված վերը նկարում:

Քայլ 7: Կոդ մակրո ստեղնաշարի համար

Կոդ մակրո ստեղնաշարի համար
Կոդ մակրո ստեղնաշարի համար
Կոդ մակրո ստեղնաշարի համար
Կոդ մակրո ստեղնաշարի համար

Մակրո ստեղնաշարի ուրվագծի ծածկագիրը կարելի է գտնել իմ Github- ում:

Ինչպես նաև նախորդ քայլին տեղադրված BleKeyboard գրադարանը, դուք նույնպես պետք է գրադարանը տեղադրեք ստեղնաշարի համար, դա կարող եք անել `բացելով գրադարանի կառավարիչը` անցնելով ուրվագիծ -> Ներառել գրադարան -> Կառավարել գրադարանները

Գրադարանի մենեջերի ներսում փնտրեք «ստեղնաշար» և տեղադրեք այն ՝ Մարկ Սթենլիի և Ալեքսանդր Բրևիգի կողմից

Մեկ կոնֆիգուրացիա, որը կարող է անհրաժեշտ լինել, եթե օգտագործում եք այլ ESP32, քան TinyPICO- ն ստեղնաշարի կապում է, դրանք տեղադրված են rowPins և colPins զանգվածում: Երբ նայում ենք ստեղնաշարի առջևին և սկսում ձախից, առաջին 4 կապում են շարքի կապերը, իսկ երկրորդ 4 -ը `գրպանները:

Երբ դա արվի, վերբեռնեք ծածկագիրը տախտակին և այս փուլում պետք է փորձեք, որ այն աշխատում է:

Քայլ 8: Եկեք այն դարձնենք անլար:

Եկեք այն դարձնենք անլար
Եկեք այն դարձնենք անլար
Եկեք այն դարձնենք անլար
Եկեք այն դարձնենք անլար
Եկեք այն դարձնենք անլար
Եկեք այն դարձնենք անլար
Եկեք այն դարձնենք անլար
Եկեք այն դարձնենք անլար

Ինչպես արդեն նշվեց, TinyPICO- ն ունի Lipo- ի հետ աշխատելու սխեմաներ, այնպես որ մեզ մնում է միացնել այն: Այն գալիս է JST միակցիչներով, որոնք կարող են սոսնձվել ներքևում, կամ կարող եք օգտագործել Bat և GND կապանքները, եթե ցանկանում եք դա անել կապանքների միջոցով:

Եթե դուք օգտագործում եք JST միակցիչներ, խնդրում ենք կրկնակի ստուգել, որ ձեր մարտկոցի բևեռականությունը համապատասխանում է TinyPICO- ին:

Ստուգեք ձեր լիպո մարտկոցի լարումը այն օգտագործելուց առաջ, առողջ խմորը պետք է լինի 3 Վ կամ ավելի բարձր, մարտկոցը, որը ես գտա ճիշտ JST միակցիչով, կարդում էր 0 Վ:

Ես ավարտեցի 18650 բջիջը պահարանի մեջ և զոդեցի այն մարտկոցի JST միակցիչին:

TinyPICO- ն մարտկոցը լիցքաթափելու դեպքում նվազեցնում է էներգիայի սպառումը ՝ չլիցքավորելով LED- ներից որևէ մեկը, այնպես որ, նույնիսկ եթե այն չի երևում, հուսանք, որ այդպես է: Futureրագրի ապագա բարելավումը կարող է լինել ներկառուցված dotstar LED- ի զարկերակը գործարկման ժամանակ, պարզապես տեղեկացնելու համար, որ այն իրականում միացված է, և գուցե նորից, երբ միանա: Առայժմ ձեր համակարգերի Bluetooth ընտրացանկում կարող եք ստուգել, որ այն միացված է և միացված է:

Քայլ 9: Փորձարկեք այն:

Փորձարկում
Փորձարկում

Եկեք փորձարկենք այն, եթե ես բացեմ OBS- ի թեժ ստեղների հատվածը, կարող եմ կտտացնել տարբեր գործողությունների վրա ՝ այն կառավարող կոճակների ձայնագրման համար, դրա համար մենք կարող ենք պարզապես սեղմել մեր ստեղնաշարի կոճակի վրա և այն կթարմացվի:

Դիմել կտտացնելուց հետո դուք չպետք է կարողանաք օգտագործել ձեր ստեղնաշարը ՝ OBS- ում ձեր տեսարանը վերահսկելու համար:

Քայլ 10: Շնորհակալություն կարդալու համար:

Հուսով եմ, որ այս հրահանգը օգտակար գտաք: Ես շատ կցանկանայի լսել այն մասին, թե ինչ կանեիք դուք այս տեսակի կարգավորմամբ: Խնդրում եմ ինձ տեղյակ պահեք ստորև բերված մեկնաբանություններում կամ միացեք ինձ և իմ Discord սերվերի մի շարք այլ արտադրողների, որտեղ մենք կարող ենք քննարկել այս թեման կամ ձեր ստեղծած ցանկացած այլ թեմա, մարդիկ իսկապես օգտակար են այնտեղ, այնպես որ դա կախելու հիանալի վայր է: դուրս

Նաև կցանկանայի մեծ շնորհակալություն հայտնել իմ Github հովանավորներին, ովքեր օգնում են աջակցել այն, ինչ ես անում եմ: Ես իսկապես գնահատում եմ դա: Եթե չգիտեք, Github- ը հովանավորում է առաջին տարվա հովանավորությունները, ուստի եթե հովանավորչություն անեք, դրանք 100% -ով կհամապատասխանեն հաջորդ մի քանի ամիսների ընթացքում:

Շնորհակալություն կարդալու համար:

Խորհուրդ ենք տալիս: