Мазмуну:

DIY Bluetooth макро баскычтобу: 10 кадам (сүрөттөр менен)
DIY Bluetooth макро баскычтобу: 10 кадам (сүрөттөр менен)

Video: DIY Bluetooth макро баскычтобу: 10 кадам (сүрөттөр менен)

Video: DIY Bluetooth макро баскычтобу: 10 кадам (сүрөттөр менен)
Video: Making Custom Macro Keypad 2024, Декабрь
Anonim
DIY Bluetooth макро баскычтобу
DIY Bluetooth макро баскычтобу

Бул Нускамада биз Bluetooth клавиатурасын тууроо үчүн ESP32нин камтылган Bluetoothун колдонууну карап чыгабыз.

Bluetooth HID (Human Interface Device) - бул кадимки Bluetooth клавиатурасы жана чычкандар тарабынан колдонулган протокол жана муну ESP32 менен тууроо мүмкүн, бул абдан сонун!

Кээ бир ESP32 өнүктүрүү такталары $ 5тан аз башталганда жеткирилет*, бул макро баскычтоптору сыяктуу зымсыз ыңгайлаштырылган клавиатураларды түзүүнүн чындыгында арзан жана жөнөкөй жолу. Макро баскычтоптору Video редакторлору же Photoshop сыяктуу ар кандай колдонмолорду көзөмөлдөө үчүн колдонулушу мүмкүн, жеке мен OBSтин сахналарын көзөмөлдөө үчүн меники видеолорду же агымдарды колдонуп жатам.

Биз адегенде ESP32 HID клавиатура китепканасын кантип колдонууну карап чыгабыз, анан мен муну батарейкада иштеген Bluetooth макро баскычтопту кантип колдонгонумду көрсөтөм.

Жабдуулар

  • TinyPICO ESP32 Dev тактасы (каалаган ESP32 иштей алат)
  • 4*4 Matrix баскычтобу*

Ошондой эле сизге липо батареясы керек болот, мен жөн эле кокустуктан колдонгом, андыктан аны байланыштыра албайм!

Эгерде сиздин компьютериңизде Bluetooth жок болсо, анда төмөнкүдөй ключту колдоно аласыз:

Amazon.co.uk*:

Amazon.com*:

Amazon.de*:

* = Өнөктөш

1 -кадам: Видеону карап көрүңүз

Image
Image

Мен ушул Нускамага окшош нерсени камтыган видео тарттым, андыктан сизди кызыктырса, текшерип көрүңүз! Мен ошондой эле ESP8266 жана ESP32 долбоорлорунун тегерегинде видеолорду үзгүлтүксүз жасайм, андыктан менин каналымда сизге кызыктуу болушу мүмкүн болгон башка видеолор бардыр!

2 -кадам: [Милдеттүү эмес] ESP32 менен баштоо

ESP32лер Arduino IDE менен шайкеш келген микроконтроллерлер жана WiFi жана Bluetooth менен кошо келет. Алар дагы абдан арзан, ошондуктан алар сиздин долбоорлоруңуз үчүн абдан пайдалуу.

Сиз Arduino IDEге ESP32 тактасынын аныктамасын кошушуңуз керек, буга сиз ESP32 Arduino долбоорлорунда келтирилген кадамдарды аткара аласыз Github Page

3 -кадам: ESP32 Ble клавиатура китепканасын орнотуу

ESP32 Ble баскычтоп китепканасын орнотуу
ESP32 Ble баскычтоп китепканасын орнотуу
ESP32 Ble баскычтоп китепканасын орнотуу
ESP32 Ble баскычтоп китепканасын орнотуу

Эч кандай тышкы китепканасы жок ESP32де Bluethooth HIDди колдонсо болот, бирок Github колдонуучусу T-Vk ESP32-BLE-клавиатура деп аталган китепкананы жазды, бул аны стандарттык Arduino клавиатура китепканасына окшоштурат, бул аны колдонууну кыйла жеңилдетет.

Бул китепкана китепкана менеджеринде жеткиликтүү эмес, андыктан аны Githubдан жүктөп алышыңыз керек болот.

  • Долбоорлордун релиздер барагына өтүңүз жана акыркы ESP32-BLE-Keyboard.zipди жүктөп алыңыз
  • Жүктөлгөндөн кийин, сиз аны Arduino IDEге кошо аласыз, бирок Sketch-> Китепкананы кошуу бөлүмүнө өтүңүз, андан кийин Zipти китепканага кошуңуз жана мурунку кадамдан ESP32-BLE-Keyboard.zipди тандаңыз.

4 -кадам: Мисалга карап

Мисалга карап
Мисалга карап
Мисалга карап
Мисалга карап
Мисалга карап
Мисалга карап

Бул кошулган соң, биз аны менен келген мисалды ача алабыз. Бул абдан сонун мисал, анткени ал китепкана менен жетишүүгө боло турган бир нече нерселерди көрсөтөт, бирок мен дагы бир аз майда -чүйдөсүнө чейин кошумчалайм, бул пайдалуу деп ойлойм.

Мисалга File -> Examples -> ESP32 BLE Keyboard -> SendKeyStrokes бөлүмүнө өтүү менен кире аласыз.

Bluetooth байланышын орнотуу

Орнотууда Bluetooth байланышы башталат, бул этапта аны түзмөгүңүздө жупташуу үчүн жеткиликтүү болушу керек.

bleKeyboard.begin ();

Укуруктун ичинде ал түзмөккө туташканын текшерет

bleKeyboard.isConnected ()

Терүү

Мисал көрсөткөн биринчи нерсе - бул текстти кантип туташтырса болот, ал биринчи жолу "Hello world" менен жазылат

bleKeyboard.print ("Hello world");

Бир баскыч басылат

Андан кийин кайтаруу баскычын кантип "жазуу" керек экенин көрсөтөт, бул негизинен бул баскычтын бир баскычын басуу.

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);

Андан кийин релизди чакырат, бул, болжолу, аты боюнча болжолдонгондой, бардык басылган баскычтарды коё берет.

bleKeyboard.releaseAll ();

Кааласаңыз, белгилүү баскычтарды коё аласыз, эгерде сиз бошотууну каалаган баскыч менен чыгаруу буйругун колдонсоңуз болот

bleKeyboard.release (KEY_DELETE);

5 -кадам: Китепкана үчүн башка кеңештер

Китепкана үчүн башка кеңештер
Китепкана үчүн башка кеңештер
Китепкана үчүн башка кеңештер
Китепкана үчүн башка кеңештер
Китепкана үчүн башка кеңештер
Китепкана үчүн башка кеңештер

Биз мурунку кадамда китепкананын негизги функцияларын карадык, бирок бул жерде билүү пайдалуу болушу мүмкүн деп ойлогон кошумча нерселер бар

Тышкы триггерди колдонуңуз

Мындай HID түзмөгүн баскычты басуу сыяктуу тышкы триггерди колдонуу менен башкаруу эң жакшы. Эгерде сиз таймерди колдонсоңуз жана бир нерсе туура эмес болуп калса, аны ажыратуу ыңгайсыз болуп калышы мүмкүн. Эгер кокусунан Ctrl+Alt+Del баскычын басып, ар 100 мС баскычын басып программалап койсоңуз, Bluetoothңузду өчүрүп көрүңүз деп элестетип көрүңүз!

Аппараттын атын өзгөртүү

Демейки боюнча, түзмөктүн аталышы "ESP32 BLE клавиатурасы" болуп көрүнөт, муну китепкананын мисалын түзүп жатканда өзгөртсө болот. Сиз түзмөктүн атын, өндүрүүчүнү жана батарейканын баштапкы деңгээлин орното аласыз.

BleKeyboard bleKeyboard ("Bluetooth түзмөгүнүн аталышы", "Bluetooth түзмөгүнүн өндүрүүчүсү", 100);

Батарея деңгээлин орнотуу (жок дегенде мен үчүн иштебейт)

Китепкана сиз батарейканын деңгээлин орното аласыз деп ырастайт, бирок ал менин Windows ПКмде иштебей калды (баштапкы мааниси кандай болсо дагы ошол бойдон калды) жана менин андроид телефонум анын деңгээлин көрсөткөн жок. Бул жерде ал сиз үчүн иштесе, анда анын буйругу

bleKeyboard.setBatteryLevel (50)

Түзмөктүн шайкештиги

Мен Windows 10 компьютеримде, Android телефонумда жана Mac компьютеримде ийгиликтүү чуркадым (бирок Сьерра дагы эле иштеп жатат!)

Ал ошондой эле бир убакта бир гана түзмөккө туташтырылышы мүмкүн.

Көйгөйлөрдү чечүү Жупташуу

Эгерде сизде жупташтыруу көйгөйлөрү бар болсо, түзмөгүңүз издеп жатканда ESP32ди кайра өчүрүп көрүңүз. Мен дагы бир жолу жупташуу үчүн компьютеримдеги блютузду күйгүзүп, өчүрүшүм керек болчу.

6 -кадам: Макро баскычтоп

Макро баскычтоп
Макро баскычтоп
Макро баскычтоп
Макро баскычтоп
Макро баскычтоп
Макро баскычтоп
Макро баскычтоп
Макро баскычтоп

Эми бизде негиздер жок болгондуктан, келгиле, андан практикалык бир нерсе кылалы!

Мурунку колдонмодо мен Arduino pro Micro жана арзан клавиатурадан эң жөнөкөй макро баскычтопту кантип жасоону көрсөткөм. Ариптактадагы ар бир баскыч үчүн ал тиркемелерди көзөмөлдөө үчүн колдонулушу мүмкүн болгон башка баскычтын айкалышын жөнөтөт, жеке мен аны OBS үчүн, видеолорду жазуу үчүн колдонгон программам жана агым үчүн колдоном. Бул ESP32 аркылуу порт үчүн жакшы долбоор окшойт, андыктан биз зымсыз версиясын жасай алабыз.

Бул курулуш үчүн мен күтүлбөгөн жаратуучунун TinyPICO ESP32 тактасын колдоном. Аны тандап алуунун негизги себеби - бул абдан кубаттуу үнөмдөөчү такта жана Lipo батарейкасынын иштеши жана заряддалышы үчүн схемасы бар, ошондуктан мен батарейканы туташтырышым керек.

Эгерде мен анын катар аралыктарын Pro Micro менен бирдей кылып, буга чейин жасаган бурулуш тактасын колдоно алсам, бул жагымдуу болбосо, мен калп айтам!

Баскычтоптун иштеши үчүн 8 GPIO казыгы талап кылынат, жана TinyPICO катарында 8 GPIO казыгы бар, ошондуктан биз аларды колдонобуз. Сиз баскычты TinyPICOго жогорудагы сүрөттө көрсөтүлгөндөй туташтырсаңыз болот.

7 -кадам: Макро баскычтоптун коду

Макро баскычтоптун коду
Макро баскычтоптун коду
Макро баскычтоптун коду
Макро баскычтоптун коду

Макро баскычтоптун эскизинин кодун менин Githubдан тапса болот.

Мурунку кадамда орнотулган BleKeyboard китепканасы сыяктуу эле, баскычтоп үчүн китепкананы орнотушуңуз керек болот, муну китепкана менеджерин ачып Sketch -> Китепкананы кошуу -> Китепканаларды башкаруу аркылуу ачсаңыз болот.

Китепкана менеджеринин ичинен "баскычтопту" издеп, Марк Стэнли менен Александр Бревигдин клавишасын орнотуңуз

Эгерде сиз TinyPICOго караганда башка ESP32 колдонуп жатсаңыз, анда конфигурация жасашыңыз керек болот, алар rowPins жана colPins массивинде орнотулган. Баскычтоптун маңдайын карап, сол тараптан баштаганда, биринчи 4 казык катар тизгичтери, экинчиси 4 - кол төөнөгүчтөр.

Бул бүткөндөн кийин, кодду тактага жүктөңүз жана бул этапта ал иштеп жаткандыгын текшеришиңиз керек.

8 -кадам: Келгиле, аны зымсыз кылалы

Келгиле, аны зымсыз кылалы!
Келгиле, аны зымсыз кылалы!
Келгиле, аны зымсыз кылалы!
Келгиле, аны зымсыз кылалы!
Келгиле, аны зымсыз кылалы!
Келгиле, аны зымсыз кылалы!
Келгиле, аны зымсыз кылалы!
Келгиле, аны зымсыз кылалы!

Жогоруда айтылгандай, TinyPICOдо Lipo менен иштөө схемасы бар, ошондуктан биз аны туташтыруубуз керек. Бул түбүнө чейин ширетиле турган JST туташтыргычтары менен келет, же эгер сиз муну казыктар аркылуу жасоону кааласаңыз, Bat жана GND казыктарын колдонсоңуз болот.

Эгерде сиз JST туташтыргычтарын колдонуп жатсаңыз, батарейкаңыздын полярдуулугун TinyPICO менен дал келүүсүн эки жолу текшериңиз, буларды зым менен жабуу боюнча эч кандай стандарт жок, андыктан батарейкаңыз дал келбеши мүмкүн.

Колдонуудан мурун липо батареяңыздын чыңалуусун текшериңиз, дени сак камыр 3В же андан жогору болушу керек, мен туура JST туташтыргычы менен табылган батарея 0В окуп жатат!

Мен кармагычта 18650 клетканы колдонуп, аны өлгөн батарейканын JST туташтыргычына кошуп бүттүм.

TinyPICO батарейкасы өчүп баратканда, анын электр энергиясын керектөөнү азайтат, андыктан ал күйгүзүлбөсө дагы, үмүттөнөм! Долбоордун келечектеги өркүндөтүлүшү, чынында, күйгүзүлгөнүн жана балким, туташканда кайра күйгүзүлөрүн кабарлоо үчүн, dotstar бортундагы светодиодду иштетүү болушу мүмкүн. Азырынча сиз Bluetooth системасынын менюсунан анын күйүк экенин жана туташканын текшере аласыз.

9 -кадам: Сыноо

Сыноо!
Сыноо!

Муну сынап көрөлү, эгер мен OBSтин кыска баскычтарын ачсам, аны башкара турган баскычтардын айкалышын жазуу үчүн ар кандай аракеттерди бассам болот, бул үчүн биз жөн гана баскычтобубуздагы баскычты чыкылдата алабыз жана ал жаңыртылат.

"Колдонуу" баскычын чыкылдаткандан кийин, OBSте сахнаңызды көзөмөлдөө үчүн клавиатураңызды колдоно албашыңыз керек.

10 -кадам: Окуганыңыз үчүн рахмат

Бул Нускаманы сизге пайдалуу деп үмүттөнөбүз. Мындай орнотуу менен эмне кылаарыңызды уккум келет. Сураныч, төмөндөгү комментарийлерде мага билдириңиз, же менин Discord серверимде мага жана башка көптөгөн жаратуучуларга кошулуңуз, анда биз бул теманы же сизге тиешелүү башка жаратуучуну талкуулай алабыз, адамдар ал жерде чынында эле пайдалуу, ошондуктан бул асынуу үчүн эң сонун жер чыгуу

Мен ошондой эле Github демөөрчүлөрүмө чоң рахмат айткым келет, алар менин кылган иштеримди колдоого жардам беришет, мен аны абдан баалайм. Эгер билбесеңиз, Github биринчи жылдагы демөөрчүлүккө дал келет, демек, эгер сиз демөөрчүлүк кылсаңыз, алар кийинки бир нече айга 100% дал келет.

Окуганыңыз үчүн рахмат!

Сунушталууда: