عناوين الدرس

روبوت تفادي السقوط

متوسط

 

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

 

falling-avoiding-robot

 

 

 

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

 

mBot Ranger - Transformable STEM Educational Robot Kit

mBot Ranger Kit

 

وحدة تتبع المسار Line Follower

 

تتكون وحدة تتبع المسار من مستشعرين كل مستشعر يتكون من  مصدر للأشعة تحت حمراء (LED) ومستقبل لهذه الأشعة
فكرة عمل مستشعر تتبع المسار تقوم على إطلاق أشعة تحت حمراء ورصد انعكاسها
عند سير الروبوت على الأسطح البيضاء فإن معظم الأشعة تنعكس من على السطح ويتم رصدها
أما عند سير الروبوت  على الأسطح السوداء فإن اللون الأسود يمتص معظم الأشعة فلا ينعكس إلا مقدار بسيط منها إلى المستشعر

falling-avoiding-robot

 

الأمر البرمجي لقراءة وحدة تتبع المسار

falling-avoiding-robot

يعطي قيم بين 0 – 3 بناء على الحالات التالية

الحالات قيمة القراءة المستشعر الأيمن المستشعر الأيسر
كلا المستشعرين على اللون الأسود 0
المستشعر الأيسر فقط على اللون الأسود 1
المستشعر الأيمن فقط على اللون الأسود 2
كلا المستشعرين على اللون الأبيض 3

 

 

 

 

برمجة الروبوت

 

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

نقوم أولا بإنشاء متغير edge

falling-avoiding-robot

 

نقوم بتعيين قيمة المتغير لتخزين قراءة وحدة تتبع المسار

falling-avoiding-robot

 

نستخدم الجملة الشرطية if else بحيث
إذا كانت قيمة قراءة المستشعر تساوي 3 يتم تنفيذ الأمر التالي وهو التحرك للأمام
عندما تكون القراءة 3 فذلك يعني أن كلا المستشعرين في وحدة تتبع المسار على اللون الأبيض

 

falling-avoiding-robot

 

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

falling-avoiding-robot

 

 

الكود البرمجي:

 

falling-avoiding-robot

 

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

تحدي الروبوت

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