مشروع عملي على mBot: جعل الروبوت يتبع خطًا باستخدام حساس الخط
مقدمة
في هذا المشروع، سنقوم بتعليم mBot كيفية تتبع خط مرسوم على الأرض باستخدام حساس الخط المدمج فيه. هذا المشروع خطوة مهمة لتعلم أساسيات التحكم بالحساسات وبرمجة الروبوت ليقوم بمهمة ذكية بشكل مستقل.
المكونات والأدوات المطلوبة
- روبوت mBot مجهز بحساس الخط (Line Follower Sensor).
- برنامج mBlock مثبت على جهاز الكمبيوتر.
- كابل USB أو اتصال Bluetooth.
- سطح مزود بخط أسود مرسوم على خلفية بيضاء (يمكن استخدام شريط لاصق أسود على ورقة بيضاء).
شرح حساس الخط في mBot
حساس الخط يتكون من مستشعرين ضوئيين يقومان بقياس انعكاس الضوء من السطح تحتهما. السطح الأسود يعكس ضوء أقل من السطح الأبيض، ومن خلال هذه المعلومات يستطيع الروبوت التمييز بين الخط والمساحة المحيطة.
الكود البرمجي الكامل
#include <MeMCore.h>MeLineFollower lineSensor(PORT_2); // حساس الخط متصل بالمنفذ 2MeDCMotor motorLeft(M1); // محرك العجلة اليسرىMeDCMotor motorRight(M2); // محرك العجلة اليمنىvoid setup() {// لا حاجة لإعدادات خاصة هنا}void loop() {int sensorValues = lineSensor.readSensors();if(sensorValues == S1_IN_S2_IN) {// كلا الحساسين على الخط، السير للأمامmotorLeft.run(100);motorRight.run(100);}else if(sensorValues == S1_IN_S2_OUT) {// الحساس الأيسر على الخط، الروبوت يتحرك يمينًا قليلاًmotorLeft.run(50);motorRight.run(100);}else if(sensorValues == S1_OUT_S2_IN) {// الحساس الأيمن على الخط، الروبوت يتحرك يسارًا قليلاًmotorLeft.run(100);motorRight.run(50);}else {// كلا الحساسين خارج الخط، إيقاف الحركةmotorLeft.run(0);motorRight.run(0);}delay(50);}
شرح مفصل للكود
MeLineFollower lineSensor(PORT_2);: تعريف حساس الخط متصل بالمنفذ 2.MeDCMotor motorLeft(M1);وMeDCMotor motorRight(M2);: تعريف محركات العجلات اليسرى واليمنى.lineSensor.readSensors();: قراءة حالة الحساسين، حيث تعطي قيمة تصف إذا كانت الحساسات على الخط أو خارجه.- الحالات الأربع في
ifتتحكم بحركة العجلات لتصحيح مسار الروبوت بناءً على موقعه من الخط. motorLeft.run(speed);وmotorRight.run(speed);: تعطي سرعة لكل محرك بين 0 (توقف) و100 (أقصى سرعة).delay(50);: تأخير بسيط لمنع قراءات متتالية متكررة جدًا.
كيفية تجربة المشروع
- ارسم خطًا أسود على سطح أبيض باستخدام شريط لاصق أو قلم.
- ارفع الكود إلى mBot من خلال برنامج mBlock.
- ضع الروبوت على الخط وابدأ تشغيله.
- راقب الروبوت وهو يتبع الخط بشكل تلقائي عبر تعديل سرعات العجلات.
لماذا هذا المشروع مهم؟
هذا المشروع يعلمك كيفية التعامل مع الحساسات الحقيقية وكتابة كود يستجيب لبيانات الحساس، وهو أساس في بناء روبوتات ذكية تتفاعل مع بيئتها بدون تدخل بشري مستمر.
خاتمة
بهذا تكون قد أنجزت مشروعًا تعليميًا مهمًا على mBot. في المشاريع القادمة، سنستكشف استخدام حساسات أخرى مثل حساس المسافة، وكيفية دمج أكثر من حساس للتحكم بسلوك الروبوت بشكل أفضل.