جدول المحتويات:

لوحة مفاتيح ماكرو بلوتوث DIY: 10 خطوات (مع صور)
لوحة مفاتيح ماكرو بلوتوث DIY: 10 خطوات (مع صور)

فيديو: لوحة مفاتيح ماكرو بلوتوث DIY: 10 خطوات (مع صور)

فيديو: لوحة مفاتيح ماكرو بلوتوث DIY: 10 خطوات (مع صور)
فيديو: تنظيف الكيبورد keyboard cleaning #shorts #keyboard 2024, يوليو
Anonim
لوحة مفاتيح ماكرو بلوتوث DIY
لوحة مفاتيح ماكرو بلوتوث DIY

في Instructable ، سنلقي نظرة على استخدام Bluetooth المدمج في ESP32 لمحاكاة لوحة مفاتيح Bluetooth.

Bluetooth HID (جهاز الواجهة البشرية) هو البروتوكول الذي تستخدمه لوحة مفاتيح وفئران Bluetooth العادية ومن الممكن محاكاته باستخدام ESP32 فقط ، وهو أمر رائع!

مع بعض لوحات تطوير ESP32 التي تبدأ من أقل من 5 دولارات * التي يتم تسليمها ، فهذه طريقة غير مكلفة حقًا وبسيطة لإنشاء لوحات مفاتيح لاسلكية مخصصة مثل لوحات مفاتيح ماكرو. يمكن استخدام لوحات المفاتيح الكلية للتحكم في العديد من التطبيقات مثل محرري الفيديو أو Photoshop ، وأنا شخصياً أستخدم لي للتحكم في المشاهد في OBS عندما أقوم بعمل مقاطع فيديو أو دفق.

سننظر أولاً في كيفية استخدام مكتبة لوحة مفاتيح ESP32 HID ثم سأوضح لك كيف استخدمت هذا لبناء لوحة مفاتيح بلوتوث ماكرو تعمل بالبطارية.

اللوازم

  • لوحة TinyPICO ESP32 Dev (يمكن لأي ESP32 العمل)
  • لوحة مفاتيح ماتريكس 4 * 4 *

ستحتاج أيضًا إلى بطارية ليبو ، لقد استخدمت للتو بطارية عشوائية كنت أضعها في الجوار لذا لا يمكنني الارتباط بها!

إذا لم يكن جهاز الكمبيوتر الخاص بك مزودًا بتقنية Bluetooth ، فيمكنك استخدام دونجل مثل هذا:

Amazon.co.uk *:

Amazon.com *:

Amazon.de *:

* = شركة تابعة

الخطوة 1: شاهد الفيديو

Image
Image

لقد صنعت مقطع فيديو يغطي نفس الشيء مثل Instructable ، لذا إذا كنت مهتمًا ، فيرجى التحقق منه! أقوم أيضًا بإنشاء مقاطع فيديو حول مشاريع ESP8266 و ESP32 بانتظام ، لذلك ربما تكون هناك مقاطع فيديو أخرى على قناتي قد تجدها مثيرة للاهتمام!

الخطوة 2: [اختياري] الشروع في استخدام ESP32

ESP32 هي وحدات تحكم دقيقة متوافقة مع Arduino IDE وتأتي مع WiFi و Bluetooth. كما أنها رخيصة جدًا لذا فهي شرائح مفيدة جدًا لمشاريعك.

ستحتاج إلى إضافة تعريف لوحة ESP32 إلى Arduino IDE الخاص بك ، لذلك يمكنك اتباع الخطوات المذكورة في صفحة Github لمشاريع Arduino ESP32

الخطوة 3: تثبيت مكتبة لوحة مفاتيح ESP32 Ble

تثبيت مكتبة لوحة مفاتيح ESP32 Ble
تثبيت مكتبة لوحة مفاتيح ESP32 Ble
تثبيت مكتبة لوحة مفاتيح ESP32 Ble
تثبيت مكتبة لوحة مفاتيح ESP32 Ble

من الممكن استخدام Bluethooth HID على ESP32 بدون مكتبة خارجية ، لكن مستخدم Github T-Vk كتب مكتبة تسمى ESP32-BLE-Keyboard تجعلها أشبه بمكتبة لوحة مفاتيح Arduino القياسية مما يجعلها أسهل في الاستخدام.

هذه المكتبة غير متوفرة في مدير المكتبة ، لذا ستحتاج إلى تنزيلها من 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 ()

الكتابة

أول شيء يوضحه المثال هو كيف يمكنك كتابة نص بمجرد توصيله ، فقم أولاً بكتابة "Hello world" باستخدام

bleKeyboard.print ("Hello world") ؛

مكابس زر واحد

ثم يظهر كيف يمكنك "كتابة" مفتاح العودة ، وهذا في الأساس يحاكي ضغطة مفتاح واحدة على هذا الزر.

bleKeyboard.write (KEY_RETURN) ،

يمكنك فتح ملف BleKeyboard.h للمكتبة لرؤية جميع المفاتيح التي تم تعريفها على هذا النحو. يمكنك أيضًا إرسال أحرف أسكي بوضعها في فاصلات فردية.

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 مثل هذا باستخدام مشغل خارجي مثل الضغط على زر. إذا كنت تستخدم مؤقتًا وحدث خطأ ما ، فقد يجعل قطع الاتصال أمرًا محرجًا. تخيل أن تضطر إلى محاولة إيقاف تشغيل البلوتوث الخاص بك إذا قمت ببرمجته عن طريق الخطأ للضغط على Ctrl + Alt + Del كل 100 مللي ثانية!

تغيير اسم الجهاز

سيظهر اسم الجهاز افتراضيًا باسم "لوحة مفاتيح ESP32 BLE" ، ويمكن تغيير ذلك عند إنشاء مثيل للمكتبة. يمكنك تعيين اسم الجهاز والشركة المصنعة ومستوى البطارية الأولي.

BleKeyboard bleKeyboard ("Bluetooth Device Name"، "Bluetooth Device Manufacturer"، 100)؛

ضبط مستوى البطارية (لا يعمل لدي على الأقل)

تدعي المكتبة أنه يمكنك أيضًا تعيين مستوى البطارية ولكنها لم تعمل بالنسبة لي على جهاز الكمبيوتر الذي يعمل بنظام Windows (بقيت مع أي قيمة أولية) ولم يُظهر هاتفي الذي يعمل بنظام Android مستوى كل هذا. هذا هو الأمر إذا كان يعمل من أجلك

bleKeyboard.setBatteryLevel (50)

توافق الجهاز

قمت بتشغيل المثال بنجاح على جهاز كمبيوتر يعمل بنظام Windows 10 وهاتف Android وجهاز Mac الخاص بي (على الرغم من أنه لا يزال يعمل بنظام Sierra بطريقة ما!)

يمكن أيضًا توصيله بجهاز واحد فقط في كل مرة.

استكشاف الأخطاء وإصلاحها الاقتران

إذا كنت تواجه بعض المشكلات في الاقتران ، فحاول إعادة تشغيل ESP32 أثناء بحث جهازك. اضطررت مرة واحدة أيضًا إلى تشغيل وإيقاف تشغيل البلوتوث على جهاز الكمبيوتر الخاص بي لإقرانه.

الخطوة 6: لوحة مفاتيح الماكرو

لوحة مفاتيح الماكرو
لوحة مفاتيح الماكرو
لوحة مفاتيح الماكرو
لوحة مفاتيح الماكرو
لوحة مفاتيح الماكرو
لوحة مفاتيح الماكرو
لوحة مفاتيح الماكرو
لوحة مفاتيح الماكرو

الآن بعد أن أصبح لدينا الأساسيات بعيدًا عن الطريق ، دعنا نجعل شيئًا عمليًا للخروج منه!

في دليل سابق ، أوضحت كيفية صنع أبسط لوحة مفاتيح ماكرو من Arduino pro Micro ولوحة مفاتيح رخيصة. لكل زر على لوحة المفاتيح ، يرسل مجموعة مختلفة من الأزرار التي يمكن استخدامها للتحكم في التطبيقات ، وأنا شخصياً أستخدمها لـ OBS ، البرنامج الذي أستخدمه لتسجيل مقاطع الفيديو وعندما أقوم بالبث. يبدو هذا مشروعًا جيدًا لنقله عبر ESP32 حتى نتمكن من إنشاء نسخة لاسلكية.

بالنسبة لهذا الإصدار ، سأستخدم لوحة TinyPICO ESP32 من Unlimited Maker. السبب الرئيسي لاختياره هو لوحة فعالة للغاية في استهلاك الطاقة ولديها دارة للتشغيل وشحن بطارية ليبو مدمجة ، لذلك كل ما علي فعله هو توصيل بطارية.

سأكون كاذبًا إذا لم تكن حقيقة أن لديها نفس تباعد الصفوف مثل Pro Micro ويمكنني الاستفادة من لوحة الاختراق التي صنعتها بالفعل سابقًا لم تكن جذابة أيضًا!

تتطلب لوحة المفاتيح 8 دبابيس GPIO لتعمل ، ولوحة TinyPICO 8 دبابيس GPIO متتالية لذلك سنستخدمها. يمكنك ببساطة توصيل لوحة المفاتيح بـ TinyPICO كما هو موضح في الصورة أعلاه.

الخطوة 7: رمز لوحة مفاتيح الماكرو

رمز لوحة مفاتيح الماكرو
رمز لوحة مفاتيح الماكرو
رمز لوحة مفاتيح الماكرو
رمز لوحة مفاتيح الماكرو

يمكن العثور على رمز رسم لوحة مفاتيح الماكرو على جيثب الخاص بي.

بالإضافة إلى مكتبة BleKeyboard التي تم تثبيتها في خطوة سابقة ، ستحتاج أيضًا إلى تثبيت المكتبة للوحة المفاتيح ، ويمكنك القيام بذلك عن طريق فتح مدير المكتبة بالانتقال إلى Sketch -> Include Library -> Manage Libraries

داخل مدير المكتبة ، ابحث عن "keypad" وقم بتثبيت تلك التي كتبها Mark Stanley و Alexander Brevig

تكوين واحد قد تحتاج إلى إجرائه إذا كنت تستخدم ESP32 مختلفًا عن TinyPICO هي دبابيس لوحة المفاتيح ، حيث يتم تعيينها في صفيفات rowPins و colPins. عند النظر إلى مقدمة لوحة المفاتيح والبدء من اليسار ، فإن أول 4 دبابيس هي دبابيس الصف والثاني 4 دبابيس عمود.

بمجرد الانتهاء من ذلك ، قم بتحميل الكود على اللوحة ويجب أن تختبر في هذه المرحلة أنه يعمل.

الخطوة 8: لنجعلها لاسلكية

لنجعلها لاسلكية!
لنجعلها لاسلكية!
لنجعلها لاسلكية!
لنجعلها لاسلكية!
لنجعلها لاسلكية!
لنجعلها لاسلكية!
لنجعلها لاسلكية!
لنجعلها لاسلكية!

كما ذكرنا سابقًا ، لدى TinyPICO دائرة كهربائية للتعامل مع ليبو مدمج ، لذلك كل ما نحتاج إليه هو توصيله. يأتي مع موصلات JST التي يمكن لحامها في الأسفل ، أو يمكنك استخدام دبابيس Bat و GND إذا كنت تريد القيام بذلك عبر المسامير.

إذا كنت تستخدم موصلات JST ، فيرجى التحقق جيدًا من قطبية بطاريتك التي تطابق TinyPICO ، فلا يوجد معيار لكيفية توصيلها بأسلاك ، لذلك هناك فرصة جيدة لأن بطاريتك قد لا تتطابق.

تحقق من جهد بطارية ليبو قبل استخدامها ، يجب أن يكون الخليط الصحي 3 فولت أو أعلى ، وكانت البطارية التي وجدتها مع موصل JST الصحيح تقرأ 0 فولت!

انتهى بي الأمر باستخدام خلية 18650 في حامل ولحامها بموصل JST للبطارية الميتة.

يقلل TinyPICO من استهلاكه للطاقة عند نفاد البطارية من خلال عدم تشغيل أي من مصابيح LED الخاصة به ، لذلك حتى لو لم يتم النظر إليه ، آمل أن يكون كذلك! قد يكون التحسين المستقبلي للمشروع هو نبض dotstar LED الموجود على اللوحة عند بدء التشغيل فقط لإعلامك بأنه قيد التشغيل بالفعل وربما مرة أخرى عند الاتصال. في الوقت الحالي ، يمكنك التحقق من قائمة Bluetooth الخاصة بأنظمتك من أنها قيد التشغيل ومتصلة بشكل جيد.

الخطوة 9: اختبرها

اختبرها!
اختبرها!

دعنا نختبر ذلك ، إذا فتحت جزء مفاتيح التشغيل السريع من OBS ، يمكنني النقر فوق إجراءات مختلفة لتسجيل مجموعة الأزرار التي ستتحكم فيها ، لذلك يمكننا فقط النقر فوق الزر الموجود على لوحة المفاتيح الخاصة بنا وسيتم تحديثها.

بعد النقر فوق تطبيق ، يجب ألا تكون قادرًا على استخدام لوحة المفاتيح للتحكم في المشهد الخاص بك في OBS.

الخطوة 10: شكرا للقراءة

نأمل أن تكون قد وجدت هذا Instructable مفيدًا. أود أن أسمع ما ستفعله بهذا النوع من الإعداد. يرجى إعلامي في التعليقات أدناه ، أو الانضمام إلي ومجموعة من الصانعين الآخرين على خادم Discord الخاص بي ، حيث يمكننا مناقشة هذا الموضوع أو أي صانع آخر مرتبط لديك ، فالناس مفيدون حقًا هناك ، لذا فهو مكان رائع للتعليق خارج

أود أيضًا أن أتقدم بالشكر الجزيل لرعاة Github الذين ساعدوا في دعم ما أقوم به ، وأنا أقدر ذلك حقًا. إذا كنت لا تعرف ، فإن Github تقوم بمطابقة عروض الرعاية للسنة الأولى ، لذلك إذا قدمت رعاية ، فستتوافق معها بنسبة 100٪ للأشهر القليلة القادمة.

شكرا للقراءة!

موصى به: