Professional Documents
Culture Documents
مسابقة تحدي عمان 2018 2019
مسابقة تحدي عمان 2018 2019
وزارة ر
التبية و التعليم
المديرية العامة ر
للتبية و التعليم بمحافظة فظفار
دائرة التقويم ر
التبوي
ورشة تدريبية
العلم
ي عل باعوين /قسم االبتكار و األولمبياد
اعداد و تقديم :مريم سعيد ي
مقدمة :
يتوجه العالم يف الوقت الراهن نحو تعليم التكنولوجيا و الهندسة و الرياضيات و العلوم
بصورة تكاملية تتجل يف تعليم الروبوت و من أشهر الروبوتات التعليمية روبوت رشكة
legoو االحدث منها روبوت .ev3
نتناول يف هذه الورقة تعريف بمحتويات حقيبة روبوت ev3التعليمية و تعريف بالبيئة
عتها نقوم ربتمجة الروبوت و تنفيذ مهامه كما نتعرف أيضا عل ر
الت ر
التطويرية للروبوت و ي
كيفية تركيب الروبوت و تحريكه و خصائص حركته .
أهداف الورقة :
من خالل هذه الورقة يجب أن تكون قادرا يف نهايتها عل :
تركيب الروبوت بشكل صحيح . -1
التعامل مع البيئة التطويرية للروبوت بشكل صحيح . -2
التعرف عل طرق تحريك الروبوت و دورانه . -3
الذك للروبوت .
ي تنفيذ التحرك -4
عرض المحتويات األساسية يف حقيبة روبوت : ev3
-5عرض برنامج lego mendistromو التعرف عل اهم القوائم و األوامر فيه :
التنامج :
ر
قوالب البرمجة
محرر المحتوى
-6تركيب جسم روبوت يحتوي عل حساس لون و حساس مسافة :
1
الكبتة لبدء التحريك .
ر و العجالت
-1استخدام البرنامج :
يمكنك إنشاء برامج بسحب قوالب البرمجة إلى لوحة البرمجة ،عندما تكون قوالب البرمجة
قريبة من بعضها بعضًا ،فإنها تنطبق معًا تلقائيًا.
عند تشغيل البرنامج ،يتم تشغيل قوالب البرمجة بالترتيب التي تظهر به على الشاشة من
اليسار إلى اليمين.
تحرير قوالب البرمجة
محدد المنفذ
محدد الوضع :انقر هنا لفتح قائمة ”الوضع” المنسدلة وذلك لتحديد الوضع
األسالك التسلسلية:
عندما ال تكون قوالب البرمجة متالصقة بشك ٍل مباشر؛ فبإمكانك توصيلها .اسحب سلك تسلسلي
من القالب األول إلى القالب الثاني.
يمكنك إزالة سلك تسلسلي بالنقر فوق ”مدخل القابس التسلسلي” للقالب الثاني.
مجموعات األكواد:
بالنسبة للبرامج الطويلة ،يمكن االستفادة من تقسيم البرنامج إلى قطع أصغر من قوالب
البرمجة مع وجود مسافات بين مجموعات األكواد .ويتيح هذا األمر فهم البرنامج بسهولة
شديدة .
عند النقر فوق مخرج القابس التسلسلي لقالب برمجة ،يتم إنشاء مساحة وسلك تسلسلي.
إلزالة المساحة والسلك التسلسلي ،انقر فوق مخرج القابس التسلسلي مرة أخرى.
يمكن تغيير حجم قالبي التكرار و لتبديل ،حيث يمكنك زيادة حجمهما بحيث يمكن احتواء قوالب
البرمجة األخرى داخلهما على نحو مرتب .قم بتغيير حجم قوالب البرمجة المعنية بسحب
مقابض تغيير الحجم.
التسلسالت المتوازية
يمكنك تشغيل أكثر من مجموعة مهام في وقت واحد .على سبيل المثال ،يمكنك استخدام تسلسل
قوالب برمجة واحد للتحكم في حركة الروبوت إلى األمام واستخدام تسلسل قوالب برمجة آخر
للتحكم في ذراع الروبوت بالجزء العلوي من الروبوت .
يمكنك إنشاء تسلسل متوازي عن طريق سحب سلك تسلسلي جديد من مخرج القابس
التسلسلي لقالب البرمجة قبل التسلسل المتوازي:
يمكن أن يحدث تعارض في الموارد عند تشغيل مهام في وقت واحد ،فعلى سبيل المثال ،يحاول
تسلسل قوالب برمجة توجيه الروبوت إلى اليسار في حين يحاول تسلسل آخر توجيه الروبوت
إلى اليمين في الوقت نفسه ،وعندها تؤدي وحدة البناء EV3بشك ِل غير متوقع.
وصل كبل USBالمرفق مع وحدة البناء EV3بجهاز الكمبيوتر ووحدة البناء 2-
EV3.
يكتمل عندئذ إنشاء االتصال .وتعرض شاشة وحدة البناء” EV3 ”USBلتأكيد 3-
االتصال .
اتصال بلوتوث
حدد عالمة التبويب ”الوحدات المتوفرة” .إذا لم تكن وحدة البناء EV3الخاصة بك 4-
مدرجة في القائمة ،حدد المربع BTوانقر فوق الزر ”تحديث” لتحديد موقع
الوحدة .
اقبل االتصال على وحدة البناء EV3بإدخال مفتاح المرور يدويًا .يُرجى العلم بأن 5-
مفتاح المرور االفتراضي هو . 1234
بعد إدخال مفتاح المرور الصحيح يكتمل إنشاء االتصال .وتظهر عندئذ أيقونة 6-
Bluetoothعلى شاشة وحدة البناء EV3لتأكيد االتصال .
اتصالWi-Fi
ادخل إلى أداة ”إعداد االتصال الالسلكي” على ”صفحة األجهزة” في برنامج EV3 4-
(Softwareكما هو موضح أدناه) أو افتحها من قائمة ”األدوات”.
حدد الشبكة التي تريد االتصال بها ،ثم انقر فوق ”اتصال” لتكوين االتصال. 5-
-انقر فوق ”إضافة” إلضافة شبكة ال تبث SSIDالخاص بها.
-انقر فوق ”تحرير” لتحرير إعدادات شبكة تم تكوينها مسبقًا .
حدد الشبكة التي تريد االتصال بها ،ثم انقر فوق ”اتصال” لتكوين االتصال. 6-
-انقر فوق ”إضافة” إلضافة شبكة ال تبث SSIDالخاص بها.
-انقر فوق ”تحرير” لتحرير إعدادات شبكة تم تكوينها مسبقًا .
وتظهر عندئذ أيقونة 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
القوالب المتضررة غير متوقع .
أسالك البيانات:
يتيح لك سلك البيانات توفير قيمة إدخال لقالب برمجة باستخدام قيمة إخراج من قالب آخر في
البرنامج .وهذا من شأنه أن يتيح لك إنشاء تفاعالت بين القوالب وإنشاء سلوكيات أكثر تعقيدًا
للروبوت.
مثال:
مستشعر األلوان تحريك المحرك
الحركة الحلقية
سلك البيانات
يستخدم هذا البرنامج سلك بيانات لتوصيل قيمة شدة الضوء التي قاسها حساس اللون من
قالب مستشعر األلوان لتصبح القيمة المدخلة تلقائيا حسب ما يقرأ المستشعر قيمة الطاقة التي
يتحرك بها المحرك وهذا من شأنه أن يحدد الطاقة التي يتحرك بها الروبوت عن طريق شدة
الضوء التي يكتشفها مستشعر األلوان .ويتم تكرار العملية في” الحركة الحلقية ”بحيث يتم
تحديث الطاقة باستمرار حسب قراءات المستشعر الجديدة.
التلميحات والنصائح
مزود بمستشعر ألوان موجه إلى أسفل
في حال تجربة البرنامج المذكور أعاله على روبوت ّ
بالقرب من األرض ،فإن سرعة الروبوت تتغير بينما هو يمر فوق ألوان مختلفة.
تتحلى أسالك البيانات ومدخالت القوالب ومخرجاتها بمظهر مختلف يتوقف على نوعها كما هو
موضح في الجدول أدناه.
خرج القالب سلك البيانات خرج القالب دخل القالب النوع
منطقي
عددي
النص
مصفوفة عددية
مصفوفة منطقية
يجب أن يسبق القالب الذي تم البدء من عند خرجه (بداية سلك البيانات) القالب الذي •
تم االنتهاء عند دخله (نهاية سلك البيانات) في البرنامج .
يجب أن يكون لخرج القالب ودخل القالب نفس نوع البيانات أو أن يكونا متوافقان مع •
”تحويل سلك البيانات ”.
القائمة المنسدلة أدناه ألمر محرك واحد و لكنها ثابتة ألي إجراء يتعلق بالتحكم بالمحركات
الحظ الفرق بينها و ميزها .
تتحكم مدخالت القالب في تفاصيل طريقة تشغيل المحرك .ويمكنك إدخال قيّم اإلدخال مباشرة في
القالب ،أو بدالً من ذلك ،يمكن توفير القيّم باستخدام أسالك البيانات من مخرجات قوالب
البرمجة األخرى .تتوقف المدخالت المتاحة ووظائفها على وضع التحكم الذي حددته.
مالحظات القيّم المسموح النوع الرمز اإلدخال
بها
عند تحريك الجسم فالحركة إما أن تكون إلى االمام و هنا سيكون اتجاه سرعة الجسم موجب
لكال المحركين و إما أن يتحرك للخلف و يكون إتجاه الحركة سالب لكال المحركين و إعطاء
المحرك سرعة صفر تعني إيقافه .
مثال :تحريك الروبوت لالمام مدة 3ثواني :
خطوة 3
وقت العمل :المهمة الثانية :
ثوان ،
قم بتحريك الروبوت لألمام مدة 3ي
ثوان
ثم للخلف 3ي
2
الدوران :
يمكننا جعل الجسم يدور إما يدور يمينا أو يسارا و هذا الدوران قد يكون حول احدى العجالت
أو حول محور الروبوت.
الدوران حول احدى العجالت هنا يلزمنا إيقاف احد المحركات و تشغيل األخرى بقيمة موجبة
ليتم الدوران بمقدمة الروبوت و العكس .
أوال :الدوران حول إحدى العجالت
مثال :للدوران يمينا نوقف المحرك األيمن و نشغل األيسر .
ليكن المحرك Bالمحرك األيسر و Cالمحرك األيمن سندرج األمر كالتالي:
وقت العمل :المهمة الثالثة :
قم أنت اآلن بتدوير مقدمة الروبوت حول إحدى العجالت
إلى اليسار لمدة 3ثواني ؟؟؟؟؟ 3
ثانيا :الدوران حول محور الروبوت ( الدوران في نفس المكان)
هنا سنضع مقدار السرعة للمحركين و لكن ستكون إحداها موجبة و األخرى سالبة حسب اتجاه
الدوران .
للدوران يمينا سرعة المحرك األيمن تكون سالبة و سرعة المحرك األيسر موجبة .
ليكن المحرك Bالمحرك األيسر و Cالمحرك األيمن سندرج األمر كالتالي :
يجعل قالب االنتظار البرنامج ينتظر حدوث شيء ما قبل المتابعة إلى القالب التالي في التسلسل.
يمكنك االنتظار لمدة محددة من الوقت أو إلى أن يسجل المستشعر قيمة محددة أو إلى أن تتغير
قيمة المستشعر.
محدد الوضع
المدخالت
استخدم محدد الوضع لتحديد وضع انتظار .اختر الوضع ”الوقت” لالنتظار لفترة زمنية محددة
بالثانية .اختر نوع المستشعر والوضع ”مقارنة” لالنتظار إلى أن يصل المستشعر إلى قيمة
معينة .اختر نوع المستشعر والوضع ”تغيير” لالنتظار إلى أن يتغير المستشعر إلى قيمة جديدة
أو بمقدار محدد.
في الوضع ”الوقت” :ينتظر قالب ”االنتظار” حتى انقضاء مقدار الوقت المحدد في الدخل
ثانية .ويتم احتساب الوقت من بداية قالب االنتظار .
يمكنك تضمين فاصلة عشرية في الدخل ثانية .سبيل المثال ،عند إدخال 2.5ثانية؛ ينتظر
القالب حتى انقضاء ثانيتين ونصف الثانية.
يمكنك تجريب القالب بعد ان تتعرض لموضوعات المستشعرات و تبدأ باستخدام قالب االنتظار
متحكما به باستخدام خصائص المستشعرات ،و لكن في هذا المستوى سنكتفي باالنتظار في
وضع الوقت .
يتم استخدام األمر Motor Rotationمن قائمة األدوات Sensorوذلك لقياس التحرك
للمحرك إما بالدرجات أو الدورات أو قياس قوة اندفاع المحرك .
المهمة السابعة :
األمر األول :قمنا بوضع أمر متغير عددي من نوع كتابة وكتبا فيه المقدار ( 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في البداية لجميع أوامر قياس
الحساسات)
األمر الرابع :أمر اإلنتظار لحساس المسافه بحيث إذا كانت المسافة بينه وبين الجسم أقل من
5سم يتوقف الروبوت.
األمر السادس :أمر تنزيل الذراع إللتقاط الجسم وذلك عن طريق تحريك المحرك األسوط
بالمقدار المناسب على سبيل المثال 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