روبوت السومو

متوسط

image_pdf

 

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

 

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

سنقوم بدايةً بوضع مجموعة من الأوامر داخل حلقة تكرار Repeat until ، يقوم هذا الأمر بتنفيذ الأوامر التي بداخل الحلقة إلى أن يتحقق الشرط الذي يتم وضعه
وهنا قمنا باختيار الشرط أن تساوي قراءة مستشعر تتبع المسار 3
(عندما تكون القيمة 3 فذلك يعني أن كلا المستشعرين في وحدة تتبع المسار على سطح أبيض أي أن الروبوت لم يصل لحافة ساحة القتال)

sumo-mbot

 

الأوامر التي بداخل حلقة repeat until ستعتمد على المسافة على قراءة مستشعر الموجات فوق الصوتية ، أي إذا كان الروبوت يسير على السطح الأبيض سننتقل لاختبار شرط المسافة
وهو إذا كانت المسافة بين الروبوت والخصم أقل من 12 سم سيقوم بالهجوم عليه عن طريق زيادة السرعة إلى 255،  وإن لم تكن المسافة كذلك يستمر الروبوت في الحركة للأمام بسرعة متوسطة

 

sumo-mbot

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

sumo-mbot

 

بعد أن يعود الروبوت للخلف هل ينعطف يمينا أو يسارًا؟
ليتمكن الروبوت من اتخاذ القرار
سنستخدم الأمر pick random من 1 إلى 10

sumo-mbot

 

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

sumo-mbot

قمنا بوضع أمر التأخير الزمني.wait ليكون لدى الروبوت زمن كافي للانعطاف

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

 

sumo-mbot

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

 

X
Product added to the cart