Talaan ng mga Nilalaman:

DIY Bluetooth Macro Keypad: 10 Hakbang (na may Mga Larawan)
DIY Bluetooth Macro Keypad: 10 Hakbang (na may Mga Larawan)

Video: DIY Bluetooth Macro Keypad: 10 Hakbang (na may Mga Larawan)

Video: DIY Bluetooth Macro Keypad: 10 Hakbang (na may Mga Larawan)
Video: 30 Ultimate Windows 10 Tips and Tricks for 2020 2024, Nobyembre
Anonim
DIY Bluetooth Macro Keypad
DIY Bluetooth Macro Keypad

Sa Instructable na ito ay titingnan namin ang paggamit ng built-in na Bluetooth ng ESP32 upang tularan ang isang Bluetooth Keyboard.

Ang Bluetooth HID (Human Interface Device) ay ang protokol na ginamit ng regular na Bluetooth keyboard at mice at posible na gayahin ito sa isang ESP32 lamang, na mahusay!

Sa ilang mga ESP32 development board na nagsisimula sa mas mababa sa $ 5 * naihatid, ito ay isang talagang mura at simpleng paraan upang lumikha ng mga wireless na pasadyang keyboard tulad ng isang mga Macro keypad. Maaaring gamitin ang mga Macro keypad para sa pagkontrol ng iba't ibang application tulad ng mga editor ng Video o Photoshop, personal na ginagamit ko ang aking para sa pagkontrol ng mga eksena sa OBS kapag gumagawa ako ng mga video o streaming.

Titingnan muna namin kung paano gamitin ang ESP32 HID keyboard library at pagkatapos ay ipapakita ko sa iyo kung paano ko ito ginamit upang bumuo ng isang bateryang Bluetooth Macro Keypad.

Mga gamit

  • TinyPICO ESP32 Dev board (Anumang ESP32 ay maaaring gumana)
  • 4 * 4 Matrix Keypad *

Kakailanganin mo rin ang isang baterya ng lipo, gumamit lamang ako ng isang random na inilalagay ko sa paligid upang hindi ako makakonekta dito!

Kung ang iyong PC ay walang Bluetooth maaari kang gumamit ng dongle na tulad nito:

Amazon.co.uk *:

Amazon.com *:

Amazon.de *:

* = Kaakibat

Hakbang 1: Suriin ang Video

Image
Image

Gumawa ako ng isang video na sumasaklaw sa parehong bagay tulad ng Instructable na ito, kaya kung interesado ka, mangyaring suriin ito! Gumagawa rin ako ng mga video sa paligid ng mga proyekto ng ESP8266 at ESP32 nang regular kaya marahil may iba pang mga video sa aking channel na maaari mong makita na kawili-wili!

Hakbang 2: [Opsyonal] Pagsisimula Sa isang ESP32

Ang mga ESP32 ay mga microcontroller na katugma sa Arduino IDE at may kasamang WiFi at Bluetooth. Medyo mura din ang mga ito kaya't napaka kapaki-pakinabang ng mga chips para sa iyong mga proyekto.

Kakailanganin mong idagdag ang kahulugan ng board ng ESP32 sa iyong Arduino IDE, dito maaari mong sundin ang mga hakbang na nakalista sa mga proyekto ng ESP32 Arduino na Pahina ng Github

Hakbang 3: Pag-install ng ESP32 Ble Keyboard Library

Pag-install ng ESP32 Ble Keyboard Library
Pag-install ng ESP32 Ble Keyboard Library
Pag-install ng ESP32 Ble Keyboard Library
Pag-install ng ESP32 Ble Keyboard Library

Posibleng gamitin ang Bluethooth HID sa ESP32 na walang panlabas na library, ngunit ang gumagamit ng Github na T-Vk ay nagsulat ng isang silid-aklatan na tinatawag na ESP32-BLE-Keyboard na ginagawang mas katulad ng karaniwang Arduino keyboard library na ginagawang mas madaling gamitin.

Hindi magagamit ang library na ito sa manager ng library kaya kakailanganin mong i-download ito mula sa Github.

  • Pumunta sa pahina ng paglabas ng mga proyekto at i-download ang pinakabagong ESP32-BLE-Keyboard.zip
  • Kapag na-download na, maaari mo itong idagdag sa iyong Arduino IDE ngunit pagpunta sa Sketch -> Isama ang Library at pagkatapos ay Idagdag ang Zip sa library at piliin ang ESP32-BLE-Keyboard.zip mula sa nakaraang hakbang.

Hakbang 4: Pagtingin sa Halimbawa

Pagtingin sa Halimbawa
Pagtingin sa Halimbawa
Pagtingin sa Halimbawa
Pagtingin sa Halimbawa
Pagtingin sa Halimbawa
Pagtingin sa Halimbawa

Kapag naidagdag na, maaari nating buksan ang halimbawang kasama nito. Ito ay isang magandang magandang halimbawa dahil nagpapakita ito ng ilang iba't ibang mga bagay na maaari mong makamit sa silid-aklatan ngunit magdaragdag din ako ng kaunti pang detalye kung saan sa palagay ko ito ay magiging kapaki-pakinabang.

Maaari mong ma-access ang halimbawa sa pamamagitan ng pagpunta sa File -> Mga Halimbawa -> ESP32 BLE Keyboard -> SendKeyStrokes

Pagse-set up ng isang koneksyon sa Bluetooth

Sa pag-setup nagsisimula ito ng koneksyon sa Bluetooth, sa yugtong ito dapat itong maging magagamit upang ipares sa iyong aparato.

bleKeyboard.begin ();

Sa loob ng loop sinusuri din nito kung nakakonekta ito sa isang aparato

bleKeyboard.isConnected ()

Nagta-type

Ang unang ipinapakita ng halimbawa ay kung paano mo mai-type ang teksto sa sandaling nakakonekta ito ay unang i-type ang "Kumusta mundo" gamit

bleKeyboard.print ("Kumusta mundo");

Ang pagpindot ng solong pindutan

Ipinapakita nito kung paano mo "maisusulat" ang return key, ito ay karaniwang gumagaya ng isang solong pindutin ang key ng pindutan na ito.

bleKeyboard.write (KEY_RETURN);

Maaari mong buksan ang BleKeyboard.h file ng library upang makita ang lahat ng mga key na tinukoy tulad nito. Maaari ka ring magpadala ng mga character sa TripAdvisor sa pamamagitan ng paglalagay sa kanila sa iisang mga kuwit.

bleKeyboard.write ('A');

Mga Susi ng Media

Ipinapakita rin nito kung paano ka maaaring magpadala ng mga key ng media, katulad ito ng kung paano mo makokontrol ang dami o laktawan ang mga track gamit ang iyong mga headphone ng Bluetooth. Ipinapakita ng halimbawa ang play / pause key, ngunit muli ay maaari mong buksan ang BleKeyboard.h upang makita ang iba pang mga pagpipilian na magagamit.

bleKeyboard.write (KEY_MEDIA_PLAY_PAUSE);

Pagpindot at paglabas ng mga susi

Ang pangwakas na bagay na ipinakita sa amin ng halimbawa ay kung paano mo maaaring pindutin nang matagal ang mga key, kapaki-pakinabang ito para sa paglikha ng mga keyboard ng Macro. Ang halimbawang ipinakita dito ay para sa Ctrl + Alt + Delete

bleKeyboard.press (KEY_LEFT_CTRL);

bleKeyboard.press (KEY_LEFT_ALT);

bleKeyboard.press (KEY_DELETE);

Tinawag nito pagkatapos ang releaseAll, na kung maaari mong hulaan sa pamamagitan ng pangalan ay naglalabas ng lahat ng mga pinindot na key.

bleKeyboard.releaseAll ();

Maaari mo ring palabasin ang mga tukoy na key kung nais mo alinman sa pamamagitan ng paggamit ng release command gamit ang susi na nais mong palabasin

bleKeyboard.release (KEY_DELETE);

Hakbang 5: Iba Pang Mga Tip para sa Library

Iba pang Mga Tip para sa Library
Iba pang Mga Tip para sa Library
Iba pang Mga Tip para sa Library
Iba pang Mga Tip para sa Library
Iba pang Mga Tip para sa Library
Iba pang Mga Tip para sa Library

Sinakop namin ang pangunahing pagpapaandar ng library sa nakaraang hakbang, ngunit narito ang ilang mga sobrang bagay na sa palagay ko ay maaaring maging kapaki-pakinabang na malaman

Gumamit ng isang Panlabas na Trigger

Palaging pinakamahusay na kontrolin ang isang HID aparato tulad nito gamit ang isang panlabas na gatilyo tulad ng isang pindutin ang. Kung gumagamit ka ng isang timer at may mali na maaaring gawin itong mahirap upang idiskonekta. Pag-isipan ang pagkakaroon upang subukang patayin ang iyong Bluetooth kung hindi mo sinasadyang naprograma ito upang pindutin ang Ctrl + Alt + Del bawat 100mS!

Ang pagpapalit ng pangalan ng aparato

Bilang default ang lalabas na pangalan ng aparato bilang "ESP32 BLE Keyboard", mababago ito kapag lumilikha ka ng isang halimbawa ng library. Maaari mong itakda ang pangalan ng aparato, tagagawa at ang paunang antas ng baterya.

BleKeyboard bleKeyboard ("Pangalan ng Device ng Bluetooth", "Gumagawa ng Bluetooth Device", 100);

Itinatakda ang antas ng baterya (hindi gumagana para sa akin kahit papaano)

Sinasabi ng library na maaari mo ring itakda ang antas ng baterya ngunit hindi ito gumana para sa akin sa aking Windows PC (nanatili ito sa kung ano man ang paunang halaga) at hindi ipinakita ng aking android phone ang antas ng lahat ng ito. Narito ang utos para dito kung sakaling gagana ito para sa iyo

bleKeyboard.setBatteryLevel (50)

Pagkatugma sa Device

Matagumpay kong pinatakbo ang halimbawa sa aking Windows 10 PC, Android phone at aking Mac (kahit na tumatakbo pa rin ang Sierra kahit papaano!)

Maaari din itong maiugnay sa isang aparato nang paisa-isa.

Pag-troubleshoot sa Pagpares

Kung nagkakaroon ka ng ilang mga isyu sa pagpapares, subukang i-restart ang ESP32 habang naghahanap ang iyong aparato. Minsan din ay kinailangan kong i-on at i-off ang aking Bluetooth sa aking PC upang makuha ito upang ipares.

Hakbang 6: Ang Macro Keypad

Ang Macro Keypad
Ang Macro Keypad
Ang Macro Keypad
Ang Macro Keypad
Ang Macro Keypad
Ang Macro Keypad
Ang Macro Keypad
Ang Macro Keypad

Ngayon na wala tayong daan sa mga pangunahing kaalaman, gumawa tayo ng isang praktikal na bagay dito!

Sa isang nakaraang gabay ay ipinakita ko kung paano gawin ang pinakasimpleng Macro keypad mula sa isang Arduino pro Micro at murang keypad. Para sa bawat pindutan sa keypad nagpapadala ito ng iba't ibang kumbinasyon ng pindutan na maaaring magamit upang makontrol ang mga application, personal kong ginagamit ito para sa OBS, ang software na ginagamit ko para sa pag-record ng mga video at para sa pag-stream ko. Tila isang magandang proyekto ito upang mai-port ang ESP32 upang makagawa kami ng isang wireless na bersyon.

Para sa build na ito, gagamitin ko ang TinyPICO ESP32 board ng Hindi Inaasahang Maker. Ang pangunahing dahilan para sa pagpili nito ay isang napakahusay na board na may kuryente at mayroong circuitry para sa pagpapatakbo at pagsingil ng built-in na baterya ng Lipo, kaya ang kailangan ko lang gawin ay isaksak ang isang baterya.

Magsisinungaling ako kung ang katotohanang mayroon itong parehong hilera ng spacing tulad ng Pro Micro at maaari kong magamit ang nagawang breakout board na ginawa ko dati ay hindi rin nakakaakit!

Nangangailangan ang keypad ng 8 GPIO pin upang mapatakbo, at ang TinyPICO ay mayroong 8 GPIO na magkakasunod upang magagamit namin ito. Maaari mong simpleng ikonekta ang keypad sa TinyPICO tulad ng ipinakita sa imahe sa itaas.

Hakbang 7: Code para sa Macro Keypad

Code para sa Macro Keypad
Code para sa Macro Keypad
Code para sa Macro Keypad
Code para sa Macro Keypad

Ang code para sa sketch ng Macro Keypad ay matatagpuan sa aking Github.

Pati na rin ang BleKeyboard library na na-install sa isang nakaraang hakbang, kakailanganin mo ring i-install ang library para sa keypad, magagawa mo ito sa pamamagitan ng pagbubukas ng manager ng library sa pamamagitan ng pagpunta sa Sketch -> Isama ang Library -> Pamahalaan ang Mga Aklatan

Sa loob ng library manager, hanapin ang "keypad" at i-install ang isa nina Mark Stanley at Alexander Brevig

Ang isang pagsasaayos na maaaring kailangan mong gawin kung gumagamit ka ng ibang ESP32 kaysa sa TinyPICO ay ang mga keypad pin, itinakda ang mga ito sa rowPins at colPins array. Kapag tumitingin sa harap ng keypad at nagsisimula sa kaliwa, ang unang 4 na pin ay ang mga row pin at ang pangalawang 4 ay ang col pin.

Kapag tapos na iyon, i-upload ang code sa board at dapat subukan sa yugtong ito gumagana ito.

Hakbang 8: Gawin Natin Ito nang Wireless

Gawin Natin Ito nang Wireless!
Gawin Natin Ito nang Wireless!
Gawin Natin Ito nang Wireless!
Gawin Natin Ito nang Wireless!
Gawin Natin Ito nang Wireless!
Gawin Natin Ito nang Wireless!
Gawin Natin Ito nang Wireless!
Gawin Natin Ito nang Wireless!

Tulad ng nabanggit kanina, ang TinyPICO ay mayroong circuitry para sa paghawak ng isang built-in na Lipo kaya't ang kailangan lang nating gawin ay ikonekta ito. Dumarating ito sa mga konektor ng JST na maaaring solder sa ilalim, o maaari mong gamitin ang Bat at GND pin kung nais mong gawin ito sa pamamagitan ng mga pin.

Kung gumagamit ka ng mga konektor ng JST mangyaring i-double check ang polarity ng iyong baterya na tumutugma sa TinyPICO, walang pamantayan para sa kung paano dapat i-wire ang mga ito upang may magandang pagkakataon na hindi tumugma ang iyong baterya.

Suriin ang boltahe ng iyong baterya ng lipo bago gamitin ito, ang isang malusog na batter ay dapat na 3V o mas mataas, ang baterya na nakita ko na may tamang konektor ng JST ay nagbabasa ng 0V!

Natapos ako gamit ang isang 18650 na cell sa isang may-ari at hinihinang ito sa konektor ng JST ng patay na baterya.

Binabawasan ng TinyPICO ang pagkonsumo ng kuryente nito kapag tumatakbo sa baterya sa pamamagitan ng hindi pag-power ng alinman sa mga LEDs, kaya kahit na hindi ito tumingin, sana ay ito! Ang isang pagpapabuti sa hinaharap ng proyekto ay maaaring upang pulso ang onboard dotstar LED sa pagsisimula lamang upang ipaalam sa iyo na ito ay talagang naka-on at marahil muli kapag kumonekta ito. Sa ngayon maaari mong suriin sa iyong system ang menu ng Bluetooth na ito ay nasa at konektado ok.

Hakbang 9: Pagsubok Ito

Pagsubok Ito!
Pagsubok Ito!

Subukan natin ito, kung bubuksan ko ang bahagi ng mga hotkey ng OBS maaari akong mag-click sa iba't ibang mga aksyon upang maitala ang isang kumbinasyon ng pindutan na makokontrol ito, para dito maaari lamang kaming mag-click sa pindutan sa aming keypad at mag-a-update ito.

Matapos mong i-click ang mag-apply, hindi mo dapat magagamit ang iyong keypad upang makontrol ang iyong eksena sa OBS.

Hakbang 10: Salamat sa Pagbasa

Inaasahan kong nahanap mong kapaki-pakinabang ang Tagubilin na ito. Gusto kong marinig ang tungkol sa kung ano ang gagawin mo sa ganitong uri ng pag-setup. Mangyaring ipaalam sa akin sa mga komento sa ibaba, o sumali sa akin at ng maraming iba pang mga tagagawa sa aking server ng Discord, kung saan maaari naming pag-usapan ang paksang ito o anumang iba pang kaugnay na tagagawa na mayroon ka, ang mga tao ay talagang kapaki-pakinabang doon kaya't isang magandang lugar na mag-hang palabas

Nais ko ring magbigay ng isang malaking salamat sa aking mga Sponsor ng Github na tumutulong na suportahan ang aking ginagawa, talagang pinahahalagahan ko ito. Kung hindi mo alam, ang Github ay tumutugma sa mga sponsorship para sa unang taon, kaya kung gumawa ka ng isang sponsorship itutugma nila ito ng 100% sa mga susunod na buwan.

Salamat sa pagbabasa!

Inirerekumendang: