السبت، 16 مايو، 2015

استخدام لوحة أردوينو ليوناردو كالوحة مفاتيح و فأرة (عن طريق البلوتوث)

Arduino Leonardo As a Mouse & keyboard (control By Bluetooth)




ادعموا مدونة جينوترونكس على موقع باتريون Patreon لكي نستمر في نشر المزيد من التجارب و المشاريع المختلفة باللغه العربية 
حتى اقل دعم يساعدنا على الاستمرار , شكرا لك متابعينا و داعمينا 

تعتبر لوحة الأردوينو ليوناردو Arduino Leonardo احدى اهم و احدث اصدارات شركة أردوينو , اضافة مميزة أضيفت لهذه اللوحة الالكترونية, هذه اللوحة تعمل على المعالج ATmega32u4 المزود بخاصية اتصال USB خاصه تمكنه من الظهور لجهاز الكمبيوتر على انها MOUSE OR KEYBOARD, وهو الامر الذي سوف نكمل عليه مقالنا, اما باقي الخصاصه فهو مشابه للarduino uno من حيث سرعة الcrystal وعدد المداخل والمخارج واختلاف بسيط في بعض الوظائف.







ويجب الاشارة الى ان هذه الخاصيه متاحة ايضا في اللوحين(micro & Due).





في هذه التجربه سنقوم بما يلي : 

1) سنتحكم بمؤشر الفأرة على الكمبيوتر
2)سنتحكم بالأردوينو لتصبح كالوحة مفاتيح و لطباعه كلمات على برنامج تحرير نصوص (مثل notepad ) باستخدام البلوتوث, وقد ذكر في مقال سابق شرح عن استخدام البلوتوث \\الرابط . لجزء الhardware لن تحتاج سوى الى جهاز استقبال Bluetooth وبالطبع Arduino Leonardo وجهاز هاتف ذكي لارسال الاوامر. اما لجزء البرمجه فهو بسيط, فهناك مكتبة اساسية (Build-In) في لغة الاردوينو خاصه بهذه الوظائف, وسأقوم في مقالتي بعرض طريقة التعامل مع المكتبتين ثم سأقوم من خلال تجربة.


سنحتاج في هذه التجربة إلى :

1) لوحة أردوينو ليوناردو - مايكرو Leonardo,Micro
2) قطعه بلوتوث HC05 Or HC06 .
3)هاتف ذكي يعمل بنظام اندرويد .



قبل اكمال هذه المقال يجب عليك الأطلاع على مقالتنا السابقة للتعرف أكثر على كيفية عمل تزامن Pairing بين جهاز الحاسوب و الأندرويد "عليك الذهاب لاعدادات الهاتف , تشغيل البلوتوث و عمل تزامن مع البلوتوث المربوط مع الأردوينو"







هاتين المكتبتين ( Mouse & Keyboard ) اساسيتان في اللغه اي انهما لا تحتاجان الى تضمين في الكود لانهما اصلا مضمنات( اي لا يجب ان نعرفها باستخدام( #include) ولاستخدام احدى المكتبتين نقوم باعطاء امر البداية (Mouse.begin) وهذا الأمر يبدأ تواصل الاردوينو مع الجهاز على انها mouse ونفس الامر ينطبق على keyboard.begin

بعد تعريف الاردوينو على انها جهاز mouse or keyboard , نبدأ بالتحكم بها وبعمل برنامجنا للتحكم بها كما نريد فمن الممكن ان نتحكم بها عن طريق البلوتوث او الjoystick او مثلا IR remote او ما نريد.


للحصول على افضل شرح عن المكتبتين يجدر بك القراءة عن المكتبة من الreference الخاص بالموقع  وانا سأعتمد مبدأ المثال والشرح في المقال .

1) التحكم بالفأرة في جهاز الحاسوب بواسطة البلوتوث

في تجربتي الاولى قمت بالتحكم بالماوس عن طريق البلوتوث من هاتف ذكي, باستخدام تطبيق Arduino Bluetooth controller (لتحميل التطبيق من متجر جوجل بلاي من هنا)







وليس هناك توصيله بحاجه الى توضيح فقط بورد الليوناردو موصول معه البلوتوث (وانا استعملت HC-05 ) فقط قم بوصل مدخل 8 مع RX الخاص بالبلوتوث و 9 مع TX

التوصيل :







ويجب الاشارة الى ملاحظة مهمه, كن حذرا عند التعامل مع هذه الاوامر فعند تفعيل الكود على اللوح, ستحل ال Leonardo محل الmouse -وكذلك الkeyboard- تماما فكن متأكدا من استخدام جمل التحكم( If | switch ) بشكل جيد, ويمكنك استعمال Serial.print لعمل كود مناسب والتاكد من ان جمل التحكم خاصتك تعمل بالشكل المطلوب ثم يمكنك استعمال اوامر الماوس والكيبورد.







ويجب الاشارة انه يمكنك استعمل اي رمز تريده, فقط تاكد من ضبط التطبيق والكود لارسال واستقبال القيم الصحيحه(مثلا قمت بضبط التطبيق لارسال F للحركه لاعلى وقمت بضبط الكود لتحريك الماوس للاعلى عند استقبال F )

2) التحكم بالوحة المفاتيح في جهاز الحاسوب بواسطة البلوتوث :

والان جزء الkeyboard , سنقوم بعمل برنامج بسيط لارسال كلمات من الهاتف وطبعاتها على notepad , البرنامج سوف يستقبل القيمه من البلوتوث ويطبعها على الكمبيوتر ويخزنها في string ويعرض القيم على شاشة السيريال عند تغيير حالة pin4 الى 0 (حيث انه معرف ك input_pull-up)






اولا قم بفتح البرنامج ثم حمل الكود الى الاردوينو .... وللقيام بالتجربه سنستعمل برنامج يرسل القيم من البلوتوث الى الاردوينو وانا استعملت برنامج Bluetooth terminal من متجر جوجل بلاي


البرنامج :






هنا برنامج البلوتوث على جهاز الأندرويد و اقوم بطباعه الجمل المراد ظهورها على برنامج ال Notepad على الجهاز 


الجمل التي يتم ارسالها عبر البلوتوث من جهاز الأندرويد تظهر على شاشة الحاسوب و يجب فتح برنامج notepad


اتمنى ان يكون الموضوع مفيدا والسلام عليكم .

الكاتب : معتز بني عامر - الأردن 

0 التعليقات :

إرسال تعليق

 
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.