مشروع الاتصال اللاسلكي IR

متوسط

image_pdf

 

تحتوي لوحة التحكم  mCore على LED (مُرسل IR Emitter) تقوم بإرسال أشعة تحت حمراء تحمل المعلومات المراد إرسالها
وتحتوى اللوحة كذلك على عنصر مستقبل لهذه الأشعة (IR Receiver).
سنقوم في هذا الدرس بعمل اتصال لاسلكي بين لوحتين mCore بحيث يقوم الروبوت الأول بالتوقف عند الحواجز وإرسال أمر إلى الروبوت الآخر بالتوقف أيضًا.

mbot-ir-communication

 

الأدوات المطلوبة:

 

mbot-ir-communication

mBot Kit (عدد 2)

الاتصال عبر الأشعة تحت الحمراء IR Communication

 

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

 

mbot-ir-communication

 

تحتوي مجموعة الأوامر البرمجية لروبوت mBot على أمرين متعلقين بالاتصال اللاسلكي

mbot-ir-communication

الروبوت المُرسل

 

يتم تعيين أحد الروبوتات كمُرسل
وكتابة الرسالة داخل الأمر البرمجي send mBot’s message

mbot-ir-communication

 يكفي أن تحتوي الرسالة على أحد الأحرف ويجب أن تكون قيمة ثابتة حيث لا يمكن للروبوت إرسال قيمة متغيرة (مثل قراءة مستشعر) كما لا يمكن للروبوت المستقبل استخدام القيم المتغيرة لآداء وظائف أخرى

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

بدايةً نقوم بوضع أمر الحركة للأمام داخل حلقة  forever وإضاءة LED على وضع الإطفاء
سيتحرك الروبوت للأمام فور تشغيله

mbot-ir-communication

نقوم بإنشاء متغير Distance وتعيينه لقؤاءة مستشعر الموجات فوق الصوتية

mbot-ir-communication

نقوم بإضافة شرط (if then)لتحديد المسافة التي يتوقف عندها الروبوت إذا واجه أحد الحواجز
إذا كانت المسافة بين الروبوت والحاجز أقل من 20 يتوقف الروبوت (السرعة صفر) ويرسل رسالة عبر الأشعة تحت الحمراء IR
ويعطي إضاءة LED باللون الأحمر  لتتم معرفة أن الروبوت أرسل رسالة

الكود البرمجي للروبوت المُرسل

 

mbot-ir-communication

 

يجب وضع الأوامر البرمجية المتعلقة بالاتصال اللاسلكي داخل loop ليتم إرسال واستقبال الرسائل في نفس الوقت

ملاحظة: إذا قمت بوضع الأمر البرمجي للإرسال داخل حلقة Repeat لإرسال رسائل متتالية سيتوقف الروبوت الآخر عن الاستجابة بعد فترة ، لتفادي ذلك قم بإضافة تأخير زمني بين إرسال الرسائل باستخدام الأمر wait

mbot-ir-communication

 

الروبوت المستقبل

 

تتغير وظيفة الروبوت المُستقبل عند استلام الرسالة التي يرسلها الروبوت الأول
يجب كتابة الرسالة داخل علامتي تنصيص double quote  ليعمل البرنامج بشكل صحيح

mbot-ir-communication

سنستخدم الجملة الشرطية if ونضع بداخلها مجموعة الأوامر التي يقوم  بها الروبوت المُستقبل عند استلام الرسالة
أي إذا استلم الروبوت الرسالة من الروبوت الأول  (المُرسل) سيتم تنفيذ الأوامر البرمجية المبنية على هذه الرسالة
في هذا المشروع سنقوم ببرمجة الروبوت المُستقبِل على أن يتحرك للأمام إلى أن يستقبل رسالة من الروبوت الأول فيتوقف ويعطي وميض ضوئي أخضر

 

برمجة الروبوت المستقبِل

 

بدايةً نقوم بوضع أمر الحركة للأمام داخل حلقة  forever وإضاءة LED على وضع الإطفاء
سيتحرك الروبوت للأمام فور تشغيله

mbot-ir-communication

نقوم بإضافة شرط if else
بحيث إذا استقبل الروبوت الرسالة من الروبوت الأول (a) يقوم بتنفيذ الأوامر التالية في الكود
وهي التوقف عن الحركة باستخدام أمر الحركة واختيار السرعة 0

mbot-ir-communication

لإعطاء وميض ضوئي أخضر نقوم بوضع أمر إضاءة LED
واختيارقيمة معينة للون الأخضر
ثم وضع نفس الأمر على وضع الإطفاء (جميع الألوان على القيمة 0)
ووضع أمر التأخير الزمني wait بينهم لنتمكن من ملاحظة الوميض

mbot-ir-communication

بعد الأمر else أي إذا لم يستقبل الروبوت رسالة من الروبوت الأول
يعاود الحركة ويطفئ إضاءة LED

mbot-ir-communication

 

الكود البرمجي للروبوت المستقبِل

 

mbot-ir-communication

 

لمعلومات أكثر حول الأوامر البرمجية الأخرى التي تم استخدامها في الكود راجع درس جولة حول الأوامر البرمجية.

X
تم إضافة المنتج إلى السلة بنجاح