You are on page 1of 35

‫سلطنة عمان‬

‫وزارة ر‬
‫التبية و التعليم‬
‫المديرية العامة ر‬
‫للتبية و التعليم بمحافظة فظفار‬
‫دائرة التقويم ر‬
‫التبوي‬

‫ورشة تدريبية‬

‫بناء و برمجة روبوت ‪ev3‬‬

‫و تطبيقاته يف مسابقات الروبوت بالسلطنة‬

‫ورقة العمل األولى‬


‫التعرف على البرنامج و تحريك الروبوت‬

‫العلم‬
‫ي‬ ‫عل باعوين ‪ /‬قسم االبتكار و األولمبياد‬
‫اعداد و تقديم ‪ :‬مريم سعيد ي‬
‫مقدمة ‪:‬‬
‫يتوجه العالم يف الوقت الراهن نحو تعليم التكنولوجيا و الهندسة و الرياضيات و العلوم‬
‫بصورة تكاملية تتجل يف تعليم الروبوت و من أشهر الروبوتات التعليمية روبوت رشكة‬
‫‪ lego‬و االحدث منها روبوت ‪.ev3‬‬
‫نتناول يف هذه الورقة تعريف بمحتويات حقيبة روبوت ‪ ev3‬التعليمية و تعريف بالبيئة‬
‫عتها نقوم ربتمجة الروبوت و تنفيذ مهامه كما نتعرف أيضا عل‬ ‫ر‬
‫الت ر‬
‫التطويرية للروبوت و ي‬
‫كيفية تركيب الروبوت و تحريكه و خصائص حركته ‪.‬‬
‫أهداف الورقة ‪:‬‬
‫من خالل هذه الورقة يجب أن تكون قادرا يف نهايتها عل ‪:‬‬
‫تركيب الروبوت بشكل صحيح ‪.‬‬ ‫‪-1‬‬
‫التعامل مع البيئة التطويرية للروبوت بشكل صحيح ‪.‬‬ ‫‪-2‬‬
‫التعرف عل طرق تحريك الروبوت و دورانه ‪.‬‬ ‫‪-3‬‬
‫الذك للروبوت ‪.‬‬
‫ي‬ ‫تنفيذ التحرك‬ ‫‪-4‬‬
‫عرض المحتويات األساسية يف حقيبة روبوت ‪: ev3‬‬
‫‪ -5‬عرض برنامج ‪ lego mendistrom‬و التعرف عل اهم القوائم و األوامر فيه ‪:‬‬
‫التنامج ‪:‬‬
‫ر‬
‫قوالب البرمجة‬
‫محرر المحتوى‬
‫‪ -6‬تركيب جسم روبوت يحتوي عل حساس لون و حساس مسافة ‪:‬‬

‫وقت العمل ‪ :‬المهمة األوىل تركيب جسم الروبوت‬


‫قم ببناء جسم الروبوت استخدم البطارية القابلة للشحن‬

‫‪1‬‬
‫الكبتة لبدء التحريك ‪.‬‬
‫ر‬ ‫و العجالت‬
‫‪ -1‬استخدام البرنامج ‪:‬‬
‫يمكنك إنشاء برامج بسحب قوالب البرمجة إلى لوحة البرمجة ‪،‬عندما تكون قوالب البرمجة‬
‫قريبة من بعضها بعضًا‪ ،‬فإنها تنطبق معًا تلقائيًا‪.‬‬

‫عند تشغيل البرنامج‪ ،‬يتم تشغيل قوالب البرمجة بالترتيب التي تظهر به على الشاشة من‬
‫اليسار إلى اليمين‪.‬‬
‫تحرير قوالب البرمجة‬

‫نوع القالب‪ :‬تشير األيقونة إلى نوع القالب‬

‫مقبض القالب‪ :‬انقر هنا لتحديد القالب أو سحبه‬

‫محدد المنفذ‬

‫محدد الوضع‪ :‬انقر هنا لفتح قائمة ”الوضع” المنسدلة وذلك لتحديد الوضع‬

‫قيم معلمات اإلدخال‪ :‬يمكن تحديد المدخالت أو إدخالها هنا‬

‫مدخل القابس التسلسلي‬

‫مخرج القابس التسلسلي‬

‫األسالك التسلسلية‪:‬‬
‫عندما ال تكون قوالب البرمجة متالصقة بشك ٍل مباشر؛ فبإمكانك توصيلها‪ .‬اسحب سلك تسلسلي‬
‫من القالب األول إلى القالب الثاني‪.‬‬

‫يمكنك إزالة سلك تسلسلي بالنقر فوق ”مدخل القابس التسلسلي” للقالب الثاني‪.‬‬

‫مجموعات األكواد‪:‬‬
‫بالنسبة للبرامج الطويلة‪ ،‬يمكن االستفادة من تقسيم البرنامج إلى قطع أصغر من قوالب‬
‫البرمجة مع وجود مسافات بين مجموعات األكواد‪ .‬ويتيح هذا األمر فهم البرنامج بسهولة‬
‫شديدة ‪.‬‬

‫عند النقر فوق مخرج القابس التسلسلي لقالب برمجة ‪ ،‬يتم إنشاء مساحة وسلك تسلسلي‪.‬‬

‫إلزالة المساحة والسلك التسلسلي‪ ،‬انقر فوق مخرج القابس التسلسلي مرة أخرى‪.‬‬

‫يمكن تغيير حجم قالبي التكرار و لتبديل‪ ،‬حيث يمكنك زيادة حجمهما بحيث يمكن احتواء قوالب‬
‫البرمجة األخرى داخلهما على نحو مرتب ‪.‬قم بتغيير حجم قوالب البرمجة المعنية بسحب‬
‫مقابض تغيير الحجم‪.‬‬

‫وبالنسبة لقالب التبديل ‪ ،‬يمكن تغيير حجم كل حالة بشك ٍل مستقل‪.‬‬

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

‫يمكنك إنشاء تسلسل متوازي عن طريق سحب سلك تسلسلي جديد من مخرج القابس‬
‫التسلسلي لقالب البرمجة قبل التسلسل المتوازي‪:‬‬
‫يمكن أن يحدث تعارض في الموارد عند تشغيل مهام في وقت واحد‪ ،‬فعلى سبيل المثال‪ ،‬يحاول‬
‫تسلسل قوالب برمجة توجيه الروبوت إلى اليسار في حين يحاول تسلسل آخر توجيه الروبوت‬
‫إلى اليمين في الوقت نفسه‪ ،‬وعندها تؤدي وحدة البناء ‪ EV3‬بشك ِل غير متوقع‪.‬‬

‫توصيل وحدة بناء الروبوت ‪:‬‬


‫يجب توصيل وحدة البناء ‪ EV3‬بجهاز الكمبيوتر لتنزيل البرامج عليها‪.‬‬

‫ثمة ثالثة طرق إلنشاء اتصال ‪:‬اتصال‪ ، USB‬اتصال بلوتوث ‪،‬اتصال‪Wi-Fi‬‬


‫اتصال‪USB‬‬

‫تأكد من تشغيل وحدة البناء ‪EV3.‬‬ ‫‪1-‬‬

‫وصل كبل ‪ USB‬المرفق مع وحدة البناء ‪ EV3‬بجهاز الكمبيوتر ووحدة البناء‬ ‫‪2-‬‬
‫‪EV3.‬‬

‫يكتمل عندئذ إنشاء االتصال‪ .‬وتعرض شاشة وحدة البناء”‪ EV3 ”USB‬لتأكيد‬ ‫‪3-‬‬
‫االتصال ‪.‬‬
‫اتصال بلوتوث‬

‫تأكد من تشغيل وحدة البناء ‪EV3.‬‬ ‫‪1.‬‬

‫تأكد من تمكين البلوتوث على وحدة البناء ‪EV3.‬‬ ‫‪2-‬‬

‫انقر فوق ”توسيع‪/‬طي صفحة األجهزة” في برنامج ‪ EV3 Software‬لتوسيع‬ ‫‪3-‬‬


‫صفحة األجهزة ‪.‬‬

‫حدد عالمة التبويب ”الوحدات المتوفرة”‪ .‬إذا لم تكن وحدة البناء ‪ EV3‬الخاصة بك‬ ‫‪4-‬‬
‫مدرجة في القائمة‪ ،‬حدد المربع ‪ BT‬وانقر فوق الزر ”تحديث” لتحديد موقع‬
‫الوحدة ‪.‬‬

‫اقبل االتصال على وحدة البناء ‪ EV3‬بإدخال مفتاح المرور يدويًا‪ .‬يُرجى العلم بأن‬ ‫‪5-‬‬
‫مفتاح المرور االفتراضي هو ‪. 1234‬‬

‫بعد إدخال مفتاح المرور الصحيح يكتمل إنشاء االتصال‪ .‬وتظهر عندئذ أيقونة‬ ‫‪6-‬‬
‫‪Bluetooth‬على شاشة وحدة البناء ‪ EV3‬لتأكيد االتصال ‪.‬‬
‫اتصال‪Wi-Fi‬‬

‫تأكد من تشغيل وحدة البناء ‪EV3.‬‬ ‫‪1-‬‬

‫تأكد من تمكين ‪ Wi-Fi‬على وحدة البناء ‪EV3.‬‬ ‫‪2-‬‬


‫صل كبل ‪ USB‬المرفق مع وحدة البناء ‪ EV3‬بجهاز الكمبيوتر ووحدة البناء‬
‫و ّ‬ ‫‪3-‬‬
‫‪EV3.‬‬

‫ادخل إلى أداة ”إعداد االتصال الالسلكي” على ”صفحة األجهزة” في برنامج ‪EV3‬‬ ‫‪4-‬‬
‫‪(Software‬كما هو موضح أدناه) أو افتحها من قائمة ”األدوات‪”.‬‬

‫حدد الشبكة التي تريد االتصال بها‪ ،‬ثم انقر فوق ”اتصال” لتكوين االتصال‪.‬‬ ‫‪5-‬‬
‫‪-‬انقر فوق ”إضافة” إلضافة شبكة ال تبث ‪ SSID‬الخاص بها‪.‬‬
‫‪-‬انقر فوق ”تحرير” لتحرير إعدادات شبكة تم تكوينها مسبقًا ‪.‬‬

‫حدد الشبكة التي تريد االتصال بها‪ ،‬ثم انقر فوق ”اتصال” لتكوين االتصال‪.‬‬ ‫‪6-‬‬
‫‪-‬انقر فوق ”إضافة” إلضافة شبكة ال تبث ‪ SSID‬الخاص بها‪.‬‬
‫‪-‬انقر فوق ”تحرير” لتحرير إعدادات شبكة تم تكوينها مسبقًا ‪.‬‬

‫انقر فوق ”موافق” إلنشاء اتصال‪Wi-Fi.‬‬ ‫‪7-‬‬

‫وتظهر عندئذ أيقونة ‪ Wi-Fi‬على شاشة وحدة البناء ‪ EV3‬لتأكيد االتصال ‪.‬‬

‫عند إنشاء اتصال ناجح بوحدة البناء‪ EV3‬؛ يتحول لون أيقونة ‪ EV3‬الموجودة على صفحة‬
‫األجهزة من اللون الرمادي إلى األحمر‪.‬‬
‫تحديد نوع االتصال وتغييره‬
‫انقر فوق ”توسيع‪/‬طي صفحة األجهزة” في برنامج ‪ EV3 Software‬لتوسيع صفحة‬
‫األجهزة‪ .‬ويمكنك هنا معرفة نوع االتصال الحالي بوحدة البناء‪EV3.‬‬
‫الوحدات المتوفرة‬
‫تعرض عالمة التبويب ”الوحدات المتوفرة” جميع وحدات البناء ‪ EV3‬المتوفرة التي يمكن‬
‫االتصال بها حاليًا‪ .‬انقر فوق ”تحديث” لتحديث قائمة وحدات البناء ‪ EV3‬المتوفرة‪ .‬ويمكنك‬
‫تغيير نوع االتصال عن طريق تحديد مربع االختيار المناسب‪ ،‬غير أن االتصال الجديد لن يعمل‬
‫إالّ إذا تم إعداد وحدة البناء ‪ EV3‬على النحو الصحيح وشريطة أن تكون إما موصلة عن‬
‫طريق كبل ‪ USB‬أو موجودة في نطاق اتصال ‪ Wi-Fi‬أو بلوتوث‪.‬‬
‫عالمة التبويب ”الوحدات المتوفرة”‬
‫تحديث‬
‫نوع تصفية االتصال‬
‫متصل‬
‫قطع االتصال‬
‫تحديد المنفذ ‪:‬‬
‫تتطلب العديد من قوالب البرمجة تحديد المنافذ التي تستخدمها هذه القوالب على وحدة البناء‬
‫‪EV3‬وهي ‪ A‬و ‪B‬و ‪C‬و‪D‬و‪ 1‬و‪ 2‬و‪ 3‬و‪) 4‬وتوجد محددات المنافذ في الزاوية اليمنى العلوية‬
‫لهذه القوالب‪.‬‬
‫منافذ المحرك‪:‬‬
‫تعرض هذه الصورة محددات المنافذ على جميع قوالب المحرك‪.‬‬

‫محدد المنفذ‬

‫انقر فوق ”محدد المنفذ” لعرض قائمة المنافذ وتحديد منفذ‪ .‬يجب توصيل المحركات بالمنافذ‬
‫‪A‬أو ‪ B‬أو ‪ C‬أو ‪ D‬الموجودة على وحدة البناء ‪EV3.‬‬
‫منافذ المستشعرات‪:‬‬
‫تعرض الصورة الواردة أدناه محددات المنافذ على بعض القوالب التي تستخدم دخل مستشعر ‪.‬‬
‫محدد المنفذ‬

‫انقر فوق ”محدد المنفذ” لعرض قائمة المنافذ وتحديد منفذ‪ .‬يجب توصيل المستشعرات بالمنافذ‬
‫‪ 1‬أو ‪ 2‬أو ‪ 3‬أو‪ 4‬الموجودة بوحدة البناء الذكية‪ ، EV3‬باستثناء مستشعر دوران المحرك‬
‫الذي يجب توصيله بالمنفذ ‪ A‬أو ‪ B‬أو ‪ C‬أو‪D.‬‬

‫أخطاء المنافذ‪:‬‬
‫قد يعرض محدد المنفذ خطأ منفذ كما هو موضح أدناه‪ ،‬حسب المنفذ الذي يتم تحديده ‪.‬‬

‫هذا الخطأ بمثابة تحذير من أن المحرك أو المستشعر المتصل بالمنفذ المحدد على وحدة البناء‬
‫‪EV3‬ال يطابق النوع الذي يحتاجه قالب البرمجة‪ .‬على سبيل المثال‪ ،‬عند تحديد المنفذ ‪3‬‬
‫لقالب مستشعر اللمس ولكن وحدة البناء ‪ EV3‬اكتشفت عدم توصيل مستشعر بالمنفذ ‪ 3‬أو‬
‫توصيل مستشعر من نوع مختلف؛ يتم عرض ”خطأ منفذ‪”.‬‬

‫ال يمكن لوحدة البناء ‪ EV3‬اكتشاف أخطاء المنافذ إالّ إذا كانت الوحدة متصلة بجهاز الكمبيوتر عن‬ ‫‪1‬‬
‫طريق ‪ USB‬أو ‪ Bluetooth‬أو ‪Wi-Fi.‬‬

‫يمكنك استخدام ”عرض المنافذ” في” صفحة األجهزة ”لمعرفة أنواع المحركات والمستشعرات‬ ‫‪2‬‬
‫الموصلة بالمنافذ المختلفة على وحدة البناء ‪ EV3‬بكل سهولة عندما تكون متصلة بجهاز‬
‫الكمبيوتر ‪.‬‬

‫ال يزال من الممكن تنزيل برنامج به ”خطأ منفذ” وتشغيله على وحدة البناء‪ ، EV3‬ولكن أداء‬ ‫‪3‬‬
‫القوالب المتضررة غير متوقع ‪.‬‬
‫أسالك البيانات‪:‬‬
‫يتيح لك سلك البيانات توفير قيمة إدخال لقالب برمجة باستخدام قيمة إخراج من قالب آخر في‬
‫البرنامج‪ .‬وهذا من شأنه أن يتيح لك إنشاء تفاعالت بين القوالب وإنشاء سلوكيات أكثر تعقيدًا‬
‫للروبوت‪.‬‬
‫مثال‪:‬‬
‫مستشعر األلوان‬ ‫تحريك المحرك‬

‫الحركة الحلقية‬

‫سلك البيانات‬

‫يستخدم هذا البرنامج سلك بيانات لتوصيل قيمة شدة الضوء التي قاسها حساس اللون من‬
‫قالب مستشعر األلوان لتصبح القيمة المدخلة تلقائيا حسب ما يقرأ المستشعر قيمة الطاقة التي‬
‫يتحرك بها المحرك وهذا من شأنه أن يحدد الطاقة التي يتحرك بها الروبوت عن طريق شدة‬
‫الضوء التي يكتشفها مستشعر األلوان‪ .‬ويتم تكرار العملية في” الحركة الحلقية ”بحيث يتم‬
‫تحديث الطاقة باستمرار حسب قراءات المستشعر الجديدة‪.‬‬
‫التلميحات والنصائح‬
‫مزود بمستشعر ألوان موجه إلى أسفل‬
‫في حال تجربة البرنامج المذكور أعاله على روبوت ّ‬
‫بالقرب من األرض‪ ،‬فإن سرعة الروبوت تتغير بينما هو يمر فوق ألوان مختلفة‪.‬‬

‫أنواع أسالك البيانات‪:‬‬


‫تنقل أسالك البيانات القيّم من قالب إلى آخر‪ .‬يُصنف كل سلك بيانات ضمن نوع يتم تحديده وفق‬
‫نوع إخراج القالب عند بداية السلك‪ .‬كما يعتبر ذلك النوع هو نفسه نوع القيمة التي ينقلها سلك‬
‫البيانات‪.‬‬

‫تتحلى أسالك البيانات ومدخالت القوالب ومخرجاتها بمظهر مختلف يتوقف على نوعها كما هو‬
‫موضح في الجدول أدناه‪.‬‬
‫خرج القالب سلك البيانات‬ ‫خرج القالب‬ ‫دخل القالب‬ ‫النوع‬
‫منطقي‬

‫عددي‬

‫النص‬

‫مصفوفة عددية‬

‫مصفوفة منطقية‬

‫إنشاء سلك بيانات‪:‬‬


‫إلنشاء سلك بيانات‪ ،‬اسحب من خرج قالب برمجة إلى خرج قالب برمجة آخر‪ ،‬كما هو موضح‬
‫في الخطوات أدناه‪.‬‬
‫مثال‬ ‫اإلجراء‬ ‫الخطوة‬

‫ابدأ عند خرج قالب‬ ‫‪1‬‬

‫اسحب من اليسار إلى اليمين‬ ‫‪2‬‬

‫انتهي عند خرج قالب‬ ‫‪3‬‬

‫يجب أن يسبق القالب الذي تم البدء من عند خرجه (بداية سلك البيانات) القالب الذي‬ ‫•‬
‫تم االنتهاء عند دخله (نهاية سلك البيانات) في البرنامج ‪.‬‬
‫يجب أن يكون لخرج القالب ودخل القالب نفس نوع البيانات أو أن يكونا متوافقان مع‬ ‫•‬
‫”تحويل سلك البيانات ‪”.‬‬

‫حذف سلك بيانات‪:‬‬


‫لحذف سلك بيانات‪ ،‬انقر فوق دخل القالب عند نهاية سلك البيانات وعندئذ يتم حذف سلك‬
‫البيانات ويتم استعادة قيمة اإلدخال التي تم إدخالها مباشرة في القالب‪ .‬انقر فوق دخل القالب‬
‫مرة أخرى إلدخال قيمة دخل جديدة‪.‬‬
‫استخدام خرج قالب مع عدة أسالك بيانات‬
‫يمكنك استخدام خرج قالب كنقطة بداية ألكثر من سلك بيانات كما هو موضح في الصورة أدناه‪.‬‬
‫الستخدام خرج مرة أخرى‪ ،‬كل ما عليك فعله هو سحب سلك بيانات آخر‪.‬‬
‫المحركات ‪:‬‬
‫عند فتح مشروع جديد في البرنامج نشاهد قائمة اإلجراءات باللون األخضر يهمنا األن‬
‫األوامر المتعلقة بالمحركات كالتالي ‪:‬‬

‫التحكم بمحركين كل‬


‫التحكم بمحركين في‬ ‫في اتجاه‬
‫التحكم بمحرك متوسط‬ ‫التحكم بمحرك كبير‬
‫واحد‬ ‫اتجاه واحد‬
‫واحد‬

‫القائمة المنسدلة أدناه ألمر محرك واحد و لكنها ثابتة ألي إجراء يتعلق بالتحكم بالمحركات‬
‫الحظ الفرق بينها و ميزها ‪.‬‬
‫تتحكم مدخالت القالب في تفاصيل طريقة تشغيل المحرك‪ .‬ويمكنك إدخال قيّم اإلدخال مباشرة في‬
‫القالب‪ ،‬أو بدالً من ذلك‪ ،‬يمكن توفير القيّم باستخدام أسالك البيانات من مخرجات قوالب‬
‫البرمجة األخرى‪ .‬تتوقف المدخالت المتاحة ووظائفها على وضع التحكم الذي حددته‪.‬‬
‫مالحظات‬ ‫القيّم المسموح‬ ‫النوع‬ ‫الرمز‬ ‫اإلدخال‬
‫بها‬

‫مستوى طاقة المحرك‪ .‬و اتجاهها‪.‬‬ ‫من ‪ 100-‬إلى‬ ‫عددي‬ ‫الطاقة‬


‫‪100‬‬

‫يسري عند انتهاء القالب‪.‬‬ ‫صواب‪/‬خطأ‬ ‫منطقي‬ ‫مكبح عند‬


‫الطرف‬
‫في حال ”صواب”‪ ،‬يتوقف المحرك على‬
‫الفور ويحتفظ بموضعه‪.‬‬

‫وفي حال ”خطأ”‪ ،‬تتوقف طاقة المحرك‬


‫ولكن حركته تتباطأ‪.‬‬

‫زمن الحركة بالثانية‪.‬‬ ‫‪≥0‬‬ ‫عددي‬ ‫ثانية‬

‫مقدار الحركة بالدرجة‪ .‬عندما يدور‬ ‫أي عدد‬ ‫عددي‬ ‫درجة‬


‫المحرك مقدار ‪ 360‬درجة فإنه يكون قد‬
‫دار دورة كاملة‪.‬‬

‫مقدار الحركة بالدورة‪.‬‬ ‫أي عدد‬ ‫عددي‬ ‫دورة‬


‫أمر توجيه الحركة ( ‪:)move steering‬‬

‫ما أهمية ان أتمكن من تحريك كل محرك في إتجاه و ماذا يقصد باتجاه ؟‬

‫عند تحريك الجسم فالحركة إما أن تكون إلى االمام و هنا سيكون اتجاه سرعة الجسم موجب‬
‫لكال المحركين و إما أن يتحرك للخلف و يكون إتجاه الحركة سالب لكال المحركين و إعطاء‬
‫المحرك سرعة صفر تعني إيقافه ‪.‬‬
‫مثال‪ :‬تحريك الروبوت لالمام مدة ‪ 3‬ثواني ‪:‬‬
‫خطوة ‪3‬‬
‫وقت العمل ‪ :‬المهمة الثانية ‪:‬‬
‫ثوان ‪،‬‬
‫قم بتحريك الروبوت لألمام مدة ‪ 3‬ي‬
‫ثوان‬
‫ثم للخلف ‪ 3‬ي‬
‫‪2‬‬
‫الدوران ‪:‬‬
‫يمكننا جعل الجسم يدور إما يدور يمينا أو يسارا و هذا الدوران قد يكون حول احدى العجالت‬
‫أو حول محور الروبوت‪.‬‬
‫الدوران حول احدى العجالت هنا يلزمنا إيقاف احد المحركات و تشغيل األخرى بقيمة موجبة‬
‫ليتم الدوران بمقدمة الروبوت و العكس ‪.‬‬
‫أوال ‪ :‬الدوران حول إحدى العجالت‬
‫مثال‪ :‬للدوران يمينا نوقف المحرك األيمن و نشغل األيسر ‪.‬‬
‫ليكن المحرك ‪ B‬المحرك األيسر و ‪ C‬المحرك األيمن سندرج األمر كالتالي‪:‬‬
‫وقت العمل ‪ :‬المهمة الثالثة ‪:‬‬
‫قم أنت اآلن بتدوير مقدمة الروبوت حول إحدى العجالت‬
‫إلى اليسار لمدة ‪ 3‬ثواني ؟؟؟؟؟‬ ‫‪3‬‬
‫ثانيا ‪ :‬الدوران حول محور الروبوت ( الدوران في نفس المكان)‬
‫هنا سنضع مقدار السرعة للمحركين و لكن ستكون إحداها موجبة و األخرى سالبة حسب اتجاه‬
‫الدوران ‪.‬‬
‫للدوران يمينا سرعة المحرك األيمن تكون سالبة و سرعة المحرك األيسر موجبة ‪.‬‬
‫ليكن المحرك ‪ B‬المحرك األيسر و ‪ C‬المحرك األيمن سندرج األمر كالتالي ‪:‬‬

‫مثال ‪ :‬دوران الروبوت في مكانه يمينا ‪ 90‬درجة‬


‫وقت العمل ‪ :‬المهمة الرابعة ‪:‬‬
‫أجعل الروبوت يدور في مكانه لليسار دورتان ‪.‬‬
‫‪4‬‬

‫وقت العمل ‪ :‬المهمة الخامسة‪:‬‬


‫اجعل الروبوت يدور حول نقطة خارجة باعطاء قيمتين‬
‫مختلفتين لطاقتي المحركين و في نفس االتجاه لجعله يدور و‬
‫كأنه يدور حول جسم ما خارجه‪.‬‬
‫‪5‬‬
‫‪5‬‬
‫قالب االنتظار ‪:‬‬

‫يجعل قالب االنتظار البرنامج ينتظر حدوث شيء ما قبل المتابعة إلى القالب التالي في التسلسل‪.‬‬
‫يمكنك االنتظار لمدة محددة من الوقت أو إلى أن يسجل المستشعر قيمة محددة أو إلى أن تتغير‬
‫قيمة المستشعر‪.‬‬

‫محدد الوضع‬
‫المدخالت‬

‫استخدم محدد الوضع لتحديد وضع انتظار‪ .‬اختر الوضع ”الوقت” لالنتظار لفترة زمنية محددة‬
‫بالثانية‪ .‬اختر نوع المستشعر والوضع ”مقارنة” لالنتظار إلى أن يصل المستشعر إلى قيمة‬
‫معينة‪ .‬اختر نوع المستشعر والوضع ”تغيير” لالنتظار إلى أن يتغير المستشعر إلى قيمة جديدة‬
‫أو بمقدار محدد‪.‬‬
‫في الوضع ”الوقت”‪ :‬ينتظر قالب ”االنتظار” حتى انقضاء مقدار الوقت المحدد في الدخل‬
‫ثانية ‪ .‬ويتم احتساب الوقت من بداية قالب االنتظار ‪.‬‬
‫يمكنك تضمين فاصلة عشرية في الدخل ثانية ‪.‬سبيل المثال‪ ،‬عند إدخال ‪ 2.5‬ثانية؛ ينتظر‬
‫القالب حتى انقضاء ثانيتين ونصف الثانية‪.‬‬

‫يمكنك تجريب القالب بعد ان تتعرض لموضوعات المستشعرات و تبدأ باستخدام قالب االنتظار‬
‫متحكما به باستخدام خصائص المستشعرات ‪ ،‬و لكن في هذا المستوى سنكتفي باالنتظار في‬
‫وضع الوقت ‪.‬‬

‫وقت العمل ‪ :‬المهمة السادسة‪:‬‬


‫اجعل الروبوت يتحرك لألمام ‪ 3‬دورات ثم يتوقف لمدة ‪4‬‬
‫ثواني ثم يتحرك للخلف ‪ 3‬دورات ‪.‬‬ ‫‪6‬‬
‫‪5‬‬
‫الحركة الذكية ‪:‬‬
‫على سبيل المثال في مسابقات الروبوت نحتاج أحيانا ً إلى أن نتحرك من القاعدة ألداء مهمة‬
‫معينة ومن ثم العودة إلى القاعدة مرة اخرى فبدال ً من حساب المسافة أو عدد الدرجات‬
‫المطلوبة للرجوع إلى القاعدة مرة اخرى نستخدم التحرك الذكي للرجوع إلى مكان اإلنطالقة‪.‬‬

‫يتم استخدام األمر ‪ Motor Rotation‬من قائمة األدوات ‪ Sensor‬وذلك لقياس التحرك‬
‫للمحرك إما بالدرجات أو الدورات أو قياس قوة اندفاع المحرك ‪.‬‬
‫المهمة السابعة ‪:‬‬

‫في هذا التحدي اجعل الروبوت يتحرك بمقدار عشوائي من‬


‫نقطة بداية ومن ثم العودة إلى نقطة البداية وذلك باستخدام‬
‫التحرك الذكي؟‬
‫‪7‬‬

‫األمر األول ‪ :‬قمنا بوضع أمر متغير عددي من نوع كتابة وكتبا فيه المقدار ‪( 0‬استخدمنا‬
‫المتغير وذلك لتخزين قيمة دوران المحرك بعد قياسه باستخدام األمر ‪Motor Rotation‬‬
‫فقمنا في البداية بتصفير المتغير)‬
‫األمر الثاني ‪:‬قمنا بعمل ‪ Reset‬لألمر ‪ Motor Rotation‬للمحرك ‪ B‬وذلك لضمان عدم‬
‫تسجيله ألي دورات أو درجات سابقة (غالبا ً يتم عمل ‪ Reset‬في البداية لجميع أوامر قياس‬
‫الحساسات)‬

‫األمر الثالث ‪ :‬استخدمنا األمر العشوائي ‪ Random‬من نوع عددي ووضعنا في القيمة‬
‫الصغرى ‪ 1‬والقيمة العضمى ‪ 3‬وقمنا بتوصيل القيمة الخارجه منه في األمر الرابع في مقدار‬
‫الدورات‪.‬‬

‫األمر الرابع ‪ :‬هو أمر التحرك بالدورات لألمام ولكن مقدار الدورات هو مقدار عشوائي مابين‬
‫‪ 1‬إلى ‪ 3‬دورات في كل مره يتم تشغيل البرنامج يأخذ قيمة معينة لدورات الروبوت مابين ‪ 1‬و‬
‫‪.3‬‬

‫األمر الخامس ‪ :‬أمر اإلنتظار لمدة ثانية ‪.‬‬

‫األمر السادس ‪ :‬أمر ‪ Motor Rotation‬في وضع القياس للدورات للمحرك ‪ B‬لقياس عدد‬
‫الدورات للمحرك ‪ B‬منذ انطالق الروبوت ‪.‬‬

‫األمر السابع ‪ :‬خزنا في المتغير القيمة التي قاسها أمر ‪ Motor Rotation‬للمحرك ‪ B‬منذ‬
‫انطالق الروبوت وحتى توقفه‪( .‬المتغير من نوع عددي في وضع الكتابة)‬

‫األمر الثامن ‪ :‬قرأنا القيمة المخزن في المتغير وقمنا بتوصيلها إلى األمر التاسع في مقدار‬
‫الدورات ‪.‬‬

‫األمر التاسع ‪ :‬أمر التحرك بالدورات ولكن بالقيمة المخزنة في المتغر والتي قاسها أمر‬
‫‪ ، Motor Rotation‬نالحظ أن التحرك للخلف ألن مقدار القوة ب ‪ 50-‬ونالحظ أن‬
‫الروبوت رجع إلى نقطة البداية (نقطة انطالقته)‬

‫التحدي ‪ : 2‬قم بعمل برنامج ليقوم الروبوت بالتحرك والتقاط جسم أمامه والعوده به إلى نقطة‬
‫البداية ؟‬

‫في البداية البد من تصميم ذراع إللتقاط الجسم وذلك باستخدام الـ ‪. Medium Motor‬‬
‫ألمر األول ‪ :‬قمنا بوضع أمر متغير عددي من نوع كتابة وكتبا فيه المقدار ‪( 0‬استخدمنا‬
‫المتغير وذلك لتخزين قيمة دوران المحرك بعد قياسه باستخدام األمر ‪Motor Rotation‬‬
‫فقمنا في البداية بتصفير المتغير)‬

‫األمر الثاني ‪:‬قمنا بعمل ‪ Reset‬لألمر ‪ Motor Rotation‬للمحرك ‪ B‬وذلك لضمان عدم‬
‫تسجيله ألي دورات أو درجات سابقة (غالبا ً يتم عمل ‪ Reset‬في البداية لجميع أوامر قياس‬
‫الحساسات)‬

‫األمر الثالث‪ :‬هو أمر التحرك لألمام بمقدار مفتوح ‪.ON‬‬

‫األمر الرابع‪ :‬أمر اإلنتظار لحساس المسافه بحيث إذا كانت المسافة بينه وبين الجسم أقل من‬
‫‪ 5‬سم يتوقف الروبوت‪.‬‬

‫األمر الخامس‪ :‬أمر التوقف للمحركات ‪B‬و‪.C‬‬

‫األمر السادس‪ :‬أمر تنزيل الذراع إللتقاط الجسم وذلك عن طريق تحريك المحرك األسوط‬
‫بالمقدار المناسب على سبيل المثال ‪ 150‬درجة‪.‬‬

‫األمر السابع‪ :‬أمر ‪ Motor Rotation‬في وضع القياس للدورات للمحرك ‪ B‬لقياس عدد‬
‫الدورات للمحرك ‪ B‬منذ انطالق الروبوت ‪.‬‬

‫األمر الثامن‪ :‬خزنا في المتغير القيمة التي قاسها أمر ‪ Motor Rotation‬للمحرك ‪ B‬منذ‬
‫انطالق الروبوت وحتى توقفه‪( .‬المتغير من نوع عددي في وضع الكتابة)‬

‫األمر التاسع‪ :‬قرأنا القيمة المخزن في المتغير وقمنا بتوصيلها إلى األمر التاسع في مقدار‬
‫الدورات ‪.‬‬

‫األمر العاشر‪ :‬أمر التحرك بالدورات ولكن بالقيمة المخزنة في المتغر والتي قاسها أمر‬
‫‪ ، Motor Rotation‬نالحظ أن التحرك للخلف ألن مقدار القوة ب ‪ 50-‬ونالحظ أن‬
‫الروبوت رجع إلى نقطة البداية (نقطة انطالقته)‬
‫األمر الحادي عشر‪ :‬أمر رفع الذراع لوضع الجسم في منطقة البداية وذلك عن طريق تحريك‬
‫المحرك األوسط حركة عكسية ليرتفع نالحظ أن الـ ‪.Power -50‬‬
‫خاتمه‬
‫في نهاية الورقة األولى من الورشة التدريبية المتعلقة بروبوت ‪ ev3‬تطبيقاته في المسابقات‬
‫المحلية و العالمية للروبوت ‪ ،‬يجب أن نكون اآلن على قدر كافي من المعرفة لتركيب‬
‫الروبوت و برمجته للتحرك فاالتجاهات و بالمقادير التي نريد ‪.‬‬
‫في أوراق العمل القادمة سوف نتحدث عن مسابقات الروبوت و نتدرج عبر هذه المسابقات‬
‫للتعرف على الحساسات و مهامها و طرق التركيب التي تخدم كل مسابقة ‪.‬‬

‫المراجع‬
‫تعليمات برنامج ‪.LEGO MINDISTORM EV3‬‬ ‫‪-1‬‬
‫دليل المستخدم لبرنامج ‪.LEGO MINDISTORM EV3‬‬ ‫‪-2‬‬
‫الدروس المتاحة عبر ‪.www.lego.com:‬‬ ‫‪-3‬‬
‫الدروس المتاحة عبر‪ev32014.blogspot.com :‬‬ ‫‪-4‬‬

You might also like