سلطنة عمان
وزارة ال رتبية و التعليم
المديرية العامة لل رتبية و التعليم بمحافظة فظفار
دائرة التقويم ال رتبوي
ورشة تدريبية
بناء و برمجة روبوت ev3
و تطبيقاته يف مسابقات الروبوت بالسلطنة
ورقة العمل الثالثة
حساس المسافة و مسابقة السومو
اعداد و تقديم :مريم سعيد ع يل باعوين /قسم الابتكار و الأولمبياد العل يم
عرض
دليل مسابقة السومو
فيديو للمسابقة
مستشعر الموجات فوق الصوتية :
يحصل قالب مستشعر الموجات فوق الصوتية على البيانات من مستشعر الموجات فوق الصوتية.
يمكنك قياس المسافة سواء بالبوصة أو السنتيمتر والحصول على خرج عددي .يمكنك كذلك
مقارنة المسافة بقيمة حدية للحصول على خرج منطقي (صواب أو خطا) .ويمكنك أي ًضا اكتشاف
الإشارات فوق الصوتية الأخرى في الوضع ”استماع فقط”.
يقوم قالب مستشعر الموجات فوق الصوتية بإخراج البيانات باستخدام” سلك البيانات ”.راجع
”استخدام مستشعر الموجات فوق الصوتية ”للاطلاع على طرق أخرى لاستخدام مستشعر
الموجات فوق الصوتية الذي لا يتطلب سلك بيانات.
اختيار منفذ المستشعر والوضع
محدد المنفذ
محدد الوضع
المدخلات
المخرجات
استخدم محدد المنفذ الموجود على الجزء العلوي من القالب للتأكد من مطابقة رقم منفذ المستشعر
( 1أو 2أو 3أو )4لمنفذ وحدة البناء EV3المتصل بها مستشعر الموجات فوق الصوتية.
وضع :قياس – المسافة – سنتيمتر:
يخرج الوضع ”قياس – المسافة -سنتيمتر” المسافة بالسنتيمتر في” المسافة بالسنتيمتر”.
راجع مثال البرمجة 3في” استخدام مستشعر الموجات فوق الصوتية”.
وضع :قياس – المسافة – بوصة:
يخرج الوضع ”قياس – المسافة -بوصة” المسافة بالبوصة في” المسافة بالبوصة”.
وضع :قياس – الحضور
يستمع الوضع ”قياس – الحضور” للإشارات فوق الصوتية الأخرى في الوضع ”استماع فقط”.
يماثل الوضع” تم اكتشاف موجات فوق صوتية” ”صواب” إذا تم اكتشاف إشارة ،و”خطأ” إذا لم
يتم اكتشاف أي إشارة.
وضع :مقارنة – المسافة -سنتيمتر
يقارن الوضع ”مقارنة – المسافة -سنتيمتر” بين المسافة بالسنتيمتر و”قيمة الحد ”باستخدام
”نوع المقارنة ”.يتم إخراج النتيجة ”صواب/خطأ” في” نتيجة المقارنة”ويتم إخراج المسافة
بالسنتيمتر في” المسافة بالسنتيمتر”.
وضع :مقارنة – المسافة -بوصة
يقارن الوضع ”مقارنة – المسافة -بوصة” بين المسافة بالبوصة و”قيمة الحد ”باستخدام” نوع
المقارنة ”.يتم إخراج النتيجة ”صواب/خطأ” في” نتيجة المقارنة”ويتم إخراج المسافة بالبوصة
في” المسافة بالبوصة”.
وضع :مقارنة – الحضور
يستمع الوضع ”مقارنة – الحضور” إلى الإشارات فوق الصوتية الأخرى في الوضع ”استماع
فقط” .يماثل الوضع” تم اكتشاف موجات فوق صوتية” ”صواب” إذا تم اكتشاف إشارة،
و”خطأ” إذا لم يتم اكتشاف أي إشارة.
تتوقف المدخلات المتاحة لقالب مستشعر الموجات فوق الصوتية على الوضع المحدد .يمكنك
إدخال قيّم الإدخال مباشرة في القالب ،أو بدلاً من ذلك ،يمكن توفير قيّم الإدخال باستخدام أسلاك
البيانات من مخرجات قوالب البرمجة الأخرى.
ملاحظات النوع القيم المسموح المدخل
بها
( = 0:يساوي) عددي 0 - 5 نوع
( = 1:لا يساوي) المقارنة
( > 2:أكبر من)
( ≥ 3:أكبر من أو يساوي)
( < 4:أقل من)
( ≤ 5:أقل من أو يساوي)
القيمة المراد مقارنة بيانات المستشعر بها قيمة الحد عددي أي رقم
وضع الإشارة فوق الصوتية في أوضاع عددي 0أو 1 وضع
”متقدم”: القياس
= 0أداة اختبار الاتصال
= 1مستمر
تتوقف المخرجات المتاحة على الوضع المحدد .لاستخدام خرج ،استخدم” سلك البيانات ”
لتوصيل الخرج بقالب برمجة آخر.
النوع ملاحظات الإخراج
عددي المسافة بالسنتيمتر ( 0-255سم). المسافة بالسنتيمتر
عددي المسافة بالبوصة ( 0-100بوصة). المسافة بالبوصة
منطقي ”صواب” إذا تم اكتشاف إشارة فوق صوتية ،و”خطأ” تم اكتشاف موجات
إذا لم يتم اكتشاف أي إشارة. فوق صوتية
منطقي نتيجة ”صواب/خطأ” للوضع ”مقارنة”. نتيجة المقارنة
مثال :
جعل الروبوت يتباطئ كل ما اقترب من جسم
مثال :استخدام قالب التبديل (القرار) باستخدام حساس الموجات فوق الصوتية :
سنجعل الروبوت يغير مسارة كلما كانت المسافه اقل من 10سم و يواصل المسير الى الأمام
طالما المسافة أكبر من 10سم
وقت العمل :المهمة التاسعة: 9
قم الآن بعكس المهمة أجعل الروبوت يبقى في حالة دوران
الى أن يجد جسما يبعد عنه 20سم عليه حينها ان يهاجمه (
انت تقوم الآن بأول خطوة لصناعة مصارع السومو )
قد تتحتاج الى بعض العمليات الحسابية استكشف القالب
بنفسك .
إظهار صورة على شاشة وحدة البناء :الامر غير هام لسباق السومو و لكن من
باب عرض الامكانية .
محدد الوضع
حقل نص القالب
المدخلات
الزر ”عرض المعاينة”
حدد نوع النص أو الرسومات التي تريد عرضها باستخدام محدد الوضع .وبعد تحديد الوضع،
يمكنك اختيار قيم للمدخلات .يُرجى العلم بأن المدخلات المتاحة تختلف حسب الوضع .ويرد
وصف للأوضاع والمدخلات أدناه.
يمكنك النقر فوق الزر ”عرض المعاينة” لمشاهدة معاينة لما سيعرضه قالب الشاشة على
شاشة EV3.ويمكنك مواصلة فتح المعاينة أثناء اختيار قيّم الإدخال للقالب.
إحداثيات الشاشة
يستخدم العديد من أوضاع قالب الشاشة إحداثيات س وص لتحديد مكان عرض أحد العناصر.
وتحدد الإحداثيات موضع نقطة الصورة على شاشة وحدة البناء EV3.يقع الموضع ()0 ،0
في الزاوية اليسرى العلوية للشاشة كما هو موضح في الصورة أدناه.
يبلغ عرض الشاشة 178بكسل وارتفاعها 128بكسل .تتراوح قيّم إحداث س من 0على
يسار الشاشة إلى 177على يمينها .تتراوح قيّم إحداث ص من 0أعلى الشاشة إلى 127
أسفلها.
التلميحات والنصائح
يمكنك استخدام الزر عرض المعاينة الموجود في الركن الأيسر العلوي للقالب عرض للمساعدة
في العثور على إحداثيات الشاشة المناسبة.
الأوضاع
النص – بكسل
يعرض الوضع النص – بكسل النص في أي موقع على شاشة وحدة البناء. EV3
إذا كان مسح الشاشة صواب فسيتم مسح الشاشة قبل رسم النص.
يماثل الوضع النص في الجزء العلوي من القالب .ويحتوي على السلسلة النصية المراد
عرضها .اختر ”سلكي” لعرض دخل النص الذي يقبل سلك البيانات .ويمكن أن يتضمن النص
أي حروف في مجموعة حروف النص المدعوم.
يماثل الوضع س و ص إحداثيات الشاشة لنقطة بداية النص التي هي الزاوية اليسرى العلوية
للنص المعروض.
استخدم الدخل اللون لاختيار لون النص .إذا اخترت أسود فسيتم عرض النص باللون الأسود
على خلفية بيضاء .إذا اخترت أبيض ،فسيتم عرض النص باللون الأبيض على خلفية سوداء.
ويمكنك استخدام الدخل الخط للاختيار ما بين ثلاثة خطوط طباعة مختلفة :عادي وعريض
وكبير.
مثال
يعرض هذا البرنام ”! ”Helloفي منتصف الشاشة باستخدام الخط الكبير.
النص – شبكة
يعرض الوضع النص – شبكة النص مصفوفًا في شبكة من الصفوف والأعمدة .وييسر ذلك
عرض العديد من سطور النص ومحاذاتها .ويوفر ارتفاع الصف مساحة كافية لعرض سطر
نص في نوعي الخط العادي والعريض ،عل ًما بأن كل حرف في هذين الخطين يسع عرض عمود
واحد.
إذا كان مسح الشاشة صواب ،فسيتم مسح الشاشة قبل رسم النص .
يماثل الوضع النص في الجزء العلوي من القالب .ويحتوي على السلسلة النصية المراد
عرضها .اختر سلكي لعرض دخل النص الذي يقبل سلك البيانات .ويمكن أن يتضمن النص أي
حروف في مجموعة حروف النص المدعوم.
يماثل الوضع عمود عمود البداية (الوضع الأفقي) للنص .يبلغ عرض كل عمود 8بكسل .ويتم
ترقيم العمود من 0يسا ًرا إلى 21يمينًا.
يماثل الوضع صف الصف أو رقم السطر (الوضع الرأسي) للنص .يبلغ ارتفاع كل صف 10
بكسل .يوجد الصف 0أعلى الشاشة ،أما الصف 11فيوجد بالقرب من أسفل الشاشة.
مثال:
يعرض هذا البرنامج سطرين نصيين .يستخدم القالب عرض الثاني خطأ مع الدخل مسح
الشاشة لإضافة السطر الثاني دون محو السطر الأول.
عند عرض عدة أسطر نصية بالخط الكبير ،أضف 2إلى المدخل” صف ”بين كل سطرين لمنع
تداخل الأسطر.
أشكال – خط
يرسم الوضع أشكال – خط خ ًطا مستقي ًما بين أي نقطتين على الشاشة.
إذا كان مسح الشاشة صواب ؛ فسيتم مسح الشاشة قبل رسم الخط.
يماثل الوضع 1 xو 1 yإحداثيات الشاشة للنقطة الأولى في السطر.
يماثل الوضع 2 xو 2 yإحداثيات النقطة الثانية.
ويمكنك استخدام الدخل اللون لاختيار إما خط أبيض أو أسود .لن يكون الخط الأبيض مرئيًا إلاّ
إذا كان مسح الشاشة خطأ ويتم رسم الخط فوق المنطقة التي عرض قالب عرض سابق
شيئًا أسو ًدا عليها.
مثال
يرسم هذا البرنامج خط قطري عبر شاشة وحدة البناءEV3.
أشكال – دائرة
يرسم الوضع أشكال – دائرة دائرة على الشاشة .
إذا كان مسح الشاشة صواب ؛ فسيتم مسح الشاشة قبل رسم الدائرة.
يماثل الوضع Xو yإحداثيات الشاشة الخاصة بمركز الدائرة .ويحدد المدخل نصف القطر
نصف قطر الدائرة بالبكسل.
إذا كان تعبئة صواب ؛ فسيتم ملء الجزء الداخلي للدائرة .إذا كان تعبئة خطأ ؛ فلن يتم
رسم سوى حد الدائرة.
ويمكنك استخدام الدخل اللون لاختيار إما دائرة بيضاء أو سوداء .لن تكون الدائرة البيضاء
مرئية إلاّ إذا كان مسح الشاشة خطأ ويتم رسم الدائرة فوق المنطقة التي عرض قالب
”عرض” سابق شيئًا أسو ًدا عليها.
مثال
يواصل هذا البرنامج عرض دائرة معبأة نصف قطرها يساوي قيمة شدة الضوء المحيط التي
يتم الحصول عليها من مستشعر الألوان .يتم تحديث الشاشة كل ُعشر ثانية.
أشكال – مستطيل
يرسم الوضع أشكال – مستطيل مستطيلاً على الشاشة.
إذا كان مسح الشاشة صواب ؛ فسيتم مسح الشاشة قبل رسم المستطيل.
يماثل الوضع وس و وص إحداثيات الشاشة الخاصة بالزاوية اليسرى العلوية للمستطيل .يماثل
الوضع العرض و الارتفاع حجم المستطيل بالبكسل.
إذا كان تعبئة صواب ؛ فسيتم ملء الجزء الداخلي للمستطيل .إذا كان وضع تعبئة خطأ فلن
يتم رسم سوى محيط المستطيل.
ويمكنك استخدام الدخل اللون لاختيار إما مستطيل أبيض أو أسود .لن يكون المستطيل
الأبيض مرئيًا إلاّ إذا كان مسح الشاشة خطأ ويتم رسم المستطيل فوق المنطقة التي عرض
قالب عرض سابق شيئًا أسو ًدا عليها.
مثال:
يملأ هذا البرنامج الشاشة باللون الأسود باستخدام مستطيل كبير معبأ .وبعد ذلك ،يرسم
البرنامج مستطيلاً أبي ًضا غير معبأ أعلاه.
التلميحات والنصائح
يمكنك استخدام مستطيل أبيض معبأ لمسح جزء من الشاشة دون المساس بالأجزاء الأخرى من
الشاشة.
أشكال – نقطة
يرسم الوضع أشكال – نقطة نقطة صورة واحدة على الشاشة .
إذا كان مسح الشاشة صواب ؛ فسيتم مسح الشاشة قبل رسم نقطة الصورة.
يماثل الوضع و xو و yإحداثيات الشاشة الخاصة بنقطة الصورة المراد رسمها.
ويمكنك استخدام الدخل اللون لاختيار كيفية رسم نقطة الصورة إما باللون الأسود أو الأبيض.
ويمكن الرسم باللون الأبيض لمسح النقاط السوداء المرسومة بواسطة قوالب عرض سابقة.
الصورة
يرسم وضع الصورة ملف صورة رسومية .
يماثل الوضع اسم الملف في الجزء العلوي من القالب .ويتيح لك الاختيار من قائمة ملفات
الصور .الصور المدرجة في فئة ”صور ” LEGOهي ملفات الصور المض ّمنة في برنامج
،EV3 Softwareأما الصور المدرجة في فئة ”صور المشروع” فهي الصور التي تم
استخدامها من قبل في مشروعك .ويتيح ذلك استخدام الصورة نفسها لمرات عديدة في برنامج
أو مشروع.
إذا كان مسح الشاشة صواب ؛ فسيتم مسح الشاشة قبل رسم الصورة .
يماثل الوضع xو yإحداثيات الشاشة الخاصة بالزاوية اليسرى العلوية للصورة .ويتم رسم
الصورة أدنى الشاشة وعلى يمين هذه النقطة باستخدام المساحة الكافية اللازمة لرسم الصورة
بالكامل .بالنسبة لملفات الصور التي يتم تعديل حجمها لملء الشاشة بالكامل ،استخدم
إعادة تعيين الشاشة
يعيد الوضع إعادة تعيين الشاشة شاشة وحدة البناء EV3إلى شاشة المعلومات العادية التي
يتم عرضها عندما يكون البرنامج قيد التشغيل .وتعرض هذه الشاشة اسم البرنامج والملاحظات
الأخرى .عند تشغيل برنامج على وحدة البناء EV3؛ يتم عرض هذه الشاشة إلى أن يتم تنفيذ
أول قالب شاشة في البرنامج.
إبقاء العناصر المعروضة مرئية
عندما ينتهي أحد برامج EV3؛ يتم مسح شاشة وحدة البناء EV3وإعادتها إلى شاشة قائمة
وحدة البناء EV3.ويؤدي ذلك إلى محو أي نص أو رسومات تم عرضها بواسطة البرنامج.
في حال احتواء برنامجك -مثلاً -على قالب شاشة واحد دون أن يكون هناك قوالب بعده؛ فسيتم
مسح الشاشة بسرعة كبيرة عندما ينتهي البرنامج بحيث لن يتسنى لك رؤية نتائج القالب
عرض.
إذا أردت أن تواصل الشاشة العرض عند انتهاء البرنامج؛ فستحتاج إلى إضافة قالب إلى نهاية
البرنامج لمنع البرنامج من الانتهاء على الفور كما هو موضح في الأمثلة التالية.
مثال :
يستخدم هذا البرنامج قالب الانتظار لإضافة تأخير مدته 3ثوان في نهاية البرنامج .ويؤدي
ذلك إلى مواصلة عرض الدائرة لمدة 3ثوان قبل مسح الشاشة عند انتهاء البرنامج.
مثال :
يستخدم هذا البرنامج قالب الحركة الحلقية عند انتهاء البرنامج لمواصلة تشغيل البرنامج
بشك ٍل دائم .ويؤدي ذلك إلى مواصلة عرض الدائرة إلى أن يتم إيقاف البرنامج بالضغط على
الزر الخلفي بوحدة البناءEV3.
وقت العمل :المهمة العا رشة: 10
اجعل الروبوت يتحرك لمدة ثانية ثم يعرض على الشاشة
المسافة التي بينه و بين أقرب جسم و اجعله يعيد الأمر 5
مرات .
الحركة بمحاذاة جسم ما :
على سبيل المثال الحركة بمحاذاة الجدار بمسافة محددة ،والفائده من هذه الحركة هو أننا في
كثير من الأحيان نكون بحاجه إلى أن يتحرك الروبوت بمحاذات جسم معين أو حافة طاوله
على سبيل المثال طاولة مسابقة ، FLLولعمل ذلك في البداية نقوم بتصميم الروبوت بالشكل
الذي يناسب الجسم ،على سبيل المثال قمت بتصميم هذا الشكل الموضح في الصورة .
استخدمنا هنا الروبوت الأساسي مع حساس المسافة المتجه ناحية الجدار وذلك لعمل المحاذاة
.
بعد ذلك نقوم ببرمجة الروبوت لمشاهدة القيم التي يقرؤها حساس المسافة من الجدار كما
تعلمنا سابقاً وكما هو موضح في الصوره
ويمكن أيضاً مشاهدة القيم باستخدام خاصة Port Viewكما تعلمنا سابقاً.
التحدي :قم بعمل روبوت يقوم بالتحرك بمحاذاة الجدار.
لعمل هذا البرنامج نقوم بأخذ نطاق مسافة مناسبة لمحاذاة الجدار على سبيل المثال إذا كانت
المسافة بين الروبت والجدار تتراوح مابين 10إلى 20سم.
نقوم ببرمجة الروبوت كما هو موضح بالصورة.
شرح البرنامج
في هذا البرنامج وضعنا نطاق المحاذاة من 10إلى 20سم بحيث إذا تحقق هذا الشرط
سيتحرك الربوت للأمام لمحاذاة الجدار وإذا كانت القيمة أكبر من 20سم سيتحرك الروبوت
لليمين ،وإذا كانت القيمة أقل من 20سيتحرك الروبوت لليسار.
الأمر الأول :هو أمر التكرار للأوامر التالية
الأمر الثاني :هو أمر حساس المسافة في وضع التحسس وتوصيل ناتج قراءة القيم في خانة
Test Valueفي الأمر الثالث
الأمر الثالث :هو أمر النطاق Rangeوالذي تم توصيل قيم حساس المسافة فيه في خانة
اختبار القيمة وكتبنا أن النطاق الحد الأعلى 20والحد الأدنى .10
الأمر الرابع :أمر التفرع Swichمن نوع " logicمنطق" بحيث إذا كان الناتج من أمر
النطاق هو قيم مابين 20و 10سيتحرك الربوت للأمام كما هو موضح في الأمر الخامس
الأمر الخامس :هو أمر التحرك للأمام بشكل مفتوح
الأمر السادس :هو أمر حساس المسافة في وضع التحسس وتوصيل ناتج قراءة القيم في
خانة aفي الأمر السابع
الأمر السابع :هو أمر المقارنة بحيث إذا كانت القيمة التي يقرؤها الحساس أكبر من 20سم
،يتم توصيل الناتج في الأمر الثامن
الأمر الثامن :أمر التفرع Swichمن نوع " logicمنطق" بحيث إذا تحقق شرط أن القيمة
التي يقرؤها الحساس أكبر من 20سم ،يتجه البرنامج لتنفيذ الأمر التاسع.
الأمر التاسع :هو أمر التحرك إلى اليمين قليلاً بالقرب من الجدار.
الأمر العاشر :و أمر حساس المسافة في وضع التحسس وتوصيل ناتج قراءة القيم في خانة
aفي الأمر الحادي عشر.
الأمر الحادي عشر :هو أمر المقارنة بحيث إذا كانت القيمة التي يقرؤها الحساس أقل من
10سم ،يتم توصيل الناتج في الأمر الثاني عشر.
الأمر الثاني عشر :أمر التفرع Swichمن نوع " logicمنطق" بحيث إذا تحقق شرط أن
القيمة التي يقرؤها الحساس أقل من 10سم ،يتجه البرنامج لتنفيذ الأمر الثالث عشر.
الأمر الثالث عشر :هو أمر التحرك إلى اليسار قليلاً ليبتعد الجدار.
القط الخائف :
باستخدام حساس المسافة ،اجعل الروبوت يصدر صوت قط الى ان يشعر بجسم على بعد 10
سم يلتف متراجعا للخلف هاربا .
جسم متتبع :
اجعل الروبوت يمشي للأمام اذا شعر بوجود جسم ابعد من مسافة 20سم و يتوقف عن التتبع
اذا البعد اقل من او يساوي 20سم
سومو :
السباق الثاني مصارعة السومو ( سباق بين الفرق في الورشة )
الجولة الأولى .
برمج باستخدام حساس لون واحد و حساس مسافة واحد مصارعا للسومو الأوامر :
عند وجود خط ابيض يرجع دورة ثم يلتف 180درجة و في حال لم يجد خصا في مجال الحلبة
يبقى في وضع دوران و اذا وجد جسم في اطار الحلبة يقوم بمهاجمته .
فكرة للبرمجة و يمكنك التفكير بطريقتك الخاصة :
الجولة الثانية :
استخدم حساس لون امام و حساسين مسافة أمام و خلف و فكر كيف تستغلها لكفاءه اسرع .
الجولة الثالثة :
التحدي مفتوح باي طريقة تريدها .
المراجع
-1تعليمات برنامج .LEGO MINDISTORM EV3
-2دليل المستخدم لبرنامج .LEGO MINDISTORM EV3
-3الدروس المتاحة عبر .www.lego.com:
-4الدروس المتاحة عبرev32014.blogspot.com :