Professional Documents
Culture Documents
ورقة العمل الثانية تتبع الخط
ورقة العمل الثانية تتبع الخط
وزارة ر
التبية و التعليم
المديرية العامة ر
للتبية و التعليم بمحافظة فظفار
دائرة التقويم ر
التبوي
ورشة تدريبية
العلم
ي عل باعوين /قسم االبتكار و األولمبياد
اعداد و تقديم :مريم سعيد ي
عرض :
دليل المسابقة الحرة و دليل جمع الكرات
فيديوهات للمسابقات
حساسات و أوامر قد تحتاجها في مثل هذه المسابقات :
أوال :
احتساب عدد الدورات االزمة لقطع مسافة معينة :
تالحظ على اطار العجلة أن نصف قطر العجلة الموجودة في حقيبة روبوت ev3تساوي 2.8
سم و منه و باستخدام قانون محيط الدائرة فإن محيط هذه العجلة = 17.6سم
إذا فالدورة الواحدة للعجلة تقطع مسافة 17.6سم
عندما تريد أن تقطع مسافة 130سم مثال بهذه العجالت
فإن عدد الدورات اللزمة = المسافة المطلوبة ÷ 17.6
= 17.6 ÷ 130
= 7.4
عند العمل في بعض المهام مثل جمع الكرات ، fll ،المسابقات الحرة ،قد تحتاج المعلومة
السابقة .
حساس الزوايا : Gyro Sensor
يكتشف مستشعر االنعطاف الحركة الدورانية .إذا أدرت مستشعر االنعطاف في اتجاه األسهم الموجودة على علبة
المستشعر ،يمكن للمستشعر عندها اكتشاف معدل الدوران مستخد ًما وحدة القياس درجة في الثانية .ويمكنك استخدام
معدل الدوران الكتشاف -على سبيل المثال ال الحصر -وقت دوران أحد أجزاء الروبوت أو وقت سقوط الروبوت.
عالوة على ذلك ،يحتفظ مستشعر االنعطاف بإجمالي زاوية الدوران بالدرجات .يمكنك استخدام زاوية الدوران الكتشاف -
على سبيل المثال ال الحصر -المسافة التي دارها الروبوت.
بيانات مستشعر االنعطاف
يوفر مستشعر االنعطاف البيانات التالية:
التلميحات والنصائح
• ال يمكن لمستشعر االنعطاف سوى اكتشاف الحركة حول محور دوران واحد .وتشير األسهم الموجودة على
علبة المستشعر إلى هذا االتجاه .تأكد من تركيب المستشعر على الروبوت في االتجاه الصحيح لقياس الدوران
في االتجاه المطلوب .
• يمكن أن تكون قيمتا الزاوية والمعدل موجبتين أو سالبتين .ينتج عن الدوران في اتجاه حركة عقارب الساعة
قيمة موجبة ،بينما ينتج عن الدوران عكس اتجاه حركة عقارب الساعة قيمة سالبة .
• عند توصيل مستشعر االنعطاف بوحدة البناء ، EV3يجب إحكام تثبيته للحد من ”االنحراف ”
• قد ”تنحرف” الزاوية بمرور الوقت وتصبح أقل دقة .للحصول على أفضل النتائج ،أعد تعيين الزاوية باستخدام
الوضع ”إعادة تعيين” للقالب ”مستشعر االنعطاف ”قبل كل حركة تريد قياس زاويتها .
يجعل هذا البرنامج الروبوت يدور مقدار 90درجة ناحية اليسار .ويستخدم الروبوت القالب ”االنتظار ”في الوضع
”مستشعر االنعطاف -تغيير – الزاوية” لالنتظار إلى أن تتغير زاوية الدوران بمقدار 90درجة.
التلميحات والنصائح
تلميح :بما أن البرنامج المبين أعاله يستخدم الوضع ”تغيير” للقالب ”االنتظار ”فإنه يقيس مقدار التغير في الزاوية
بالنسبة لبداية القالب ”االنتظار” .ولذلك ،فليس من الضروري إعادة تعيين مستشعر االنعطاف قبل الحركة.
المثال :2عرض مقياس معدل الدوران
يجعل هذا البرنامج الروبوت يعرض معدل الدوران بيانيًا .يماثل الوضع ”مستشعر االنعطاف ”القيمة العددية لمعدل
الدوران عل ًما بأن هذه القيمة ت ُستخدم لتغيير عرض المستطيالت على شاشةEV3.
قوالب وأوضاع مستشعر االنعطاف
يعرض الجدول التالي جميع قوالب البرمجة واألوضاع التي يمكنك استخدامها مع مستشعر االنعطاف.
االنتظار مستشعر االنعطاف - ينتظر إلى أن يبلغ معدل الدوران أو زاوية الدوران قيمة معينة.
مقارنة
االنتظار مستشعر االنعطاف - ينتظر إلى أن يتغير معدل الدوران أو زاوية الدوران بمقدار محدد.
تغيير
الحركة مستشعر االنعطاف يكرر تسلسل قوالب إلى أن يبلغ معدل الدوران أو زاوية الدوران قيمة
الحلقية معينة.
تبديل مستشعر االنعطاف يختار بين سلسلتي قوالب حسب زاوية الدوران أو معدل الدوران.
مستشعر قياس يقيس زاوية الدوران و/أو معدل الدوران إلى جانب إخراج النتيجة
االنعطاف على سلك بيانات ”عددي”.
مستشعر مقارنة يقارن بين زاوية الدوران أو معدل الدوران وقيمة حدية ،ويخرج
االنعطاف النتيجة على سلك بيانات ”منطقي”.
العديد من مستخدمي حساس الزوايا يعانون من عدم دقة قراءة الحساس للقيم وأيضا ً سرعة
تغيرها ،والبعض يعتقد أن عمل Restللحساس باستخدام أمر الـ Rest
يقوم بحل المشكله ولكن هذا غير صحيح حيث أنه فقط يقوم بإرجاع قيمة الزاويه بصفر
وسرعان ماتتغير مرة اخرى .
ولجعل حساس Gyroأكثر دقه البد من عمل معايره له ولعمل ذلك هناك عدة نصائح يجب
اتباعها وهي كالتالي:
.1عند تشغيل الروبوت تأكد من أن الروبوت وحساس الزوايا في وضع ومكان ثابت
وغير متحرك وذلك لتهييئ الحساس للمعايره وأخذ قيم حقيقيه.
.2عدم فصل السلك الخاص بربط حساس الـ Gyroبالمعالج وذلك عند تشغيل المعالج
أو بعد التشغيل.
.3عمل برنامج خاص بمعايرة الحساس ووضعه قبل كل برنامج تريد استخدام حساس الـ
Gyroفيه ،كما هو موضح في األسفل :
األمر األول :أمر تشغيل وقراءة قيم حساس الزوايا في وضع القياس angle and rateوهو
لقرائة القيم لدوران الزاويه بالدرجات ولدوران المعدل بالدرجات لكل ثانيه.
األمر الثاني :أمر اإلنتظار لنصف ثانيه
األمر الثالث :أمر اإلنتظار حتى وصول قيمة حساس الزوايا لصفر .
المتغيرات :
يتيح لك قالب ”المتغير” قراءة متغير وكتابته في البرنامج .ويمكنك كذلك إنشاء متغير جديد وتسميته.
المتغير عبارة عن موقع في ذاكرة وحدة البناء EV3قادر على تخزين قيم بيانات .يمكنك الكتابة في متغير لتخزين قيمة
بيانات .يمكنك القراءة من المتغير للوصول إلى القيمة المخزنة الحقًا في البرنامج.
لكل متغير نوع واسم .األنواع المختلفة هي ”عددي” و”منطقي” و”النص” و”مصفوفة عددية” و”مصفوفة منطقية”.
يمكنك اختيار اسم المتغير المستخدم لتحديد المتغير.
يمكن تغيير قيمة متغير أثناء تشغيل برنامج .في كل مرة تكتب في متغير ،يتم محو أي قيمة سابقة واستبدالها بالقيمة
الجديدة .على سبيل المثال ،يمكنك استخدام متغير يُسمى ” ”Max Lightلمتابعة أعلى قياس من قياسات شدة الضوء
التي قاسها الروبوت من مستشعر األلوان حتى اآلن .وفي كل مرة يكتشف فيها الروبوت قيمة أعلى ،يمكن له كتابة
القيمة الجديدة في المتغير”Max Light”.
إضافة متغير جديد
محدد الوضع
محدد المتغير
إدخال القيمة
3- اختر نوع المتغير (”عددي” أو ”منطقي” أو ”النص” أو ”مصفوفة عددية” أو ”مصفوفة منطقية ”.
4- انقر فوق ”حقل نص القالب” الموجود على الجزء العلوي من القالب وحدد ”إضافة متغير” .ويظهر عندئذ
مربع الحوار ”متغير جديد” كما هو موضح أدناه .
5- في مربع الحوار ”متغير جديد” ،أدخل اس ًما للمتغير وانقر ”موافق” .ويمكن أن يتكون اسم المتغير من حرف
واحد أو كلمة أو عدة كلمات أو أي تسلسل حروف وأرقام .
التلميحات والنصائح
• عند اختيار اسم قصير للمتغير يصبح من السهل رؤية اسم المتغير كامالً عند استخدامه في البرنامج .
• اختر اس ًما يساعدك على تذكر معنى المتغير وأوجه االختالف بينه وبين المتغيرات األخرى في البرنامج .
• بمجرد إضافة المتغير ،فإنه يكون متا ًحا لالستخدام في أي من البرامج التي يشتمل عليها المشروع .
6- بعد إضافة المتغير ،يمكنك استخدام قالب ”المتغير” في الوضع ”كتابة” إلدخال ”القيمة ”أولية للمتغير .
الكتابة في متغير
محدد الوضع
اسم المتغير
اإلدخال
كتابة
يتيح لك الوضع ”كتابة” اختيار متغير قد أضفته بالفعل إلى البرنامج (راجع ”إضافة متغير جديد)”إضافة إلى تخزين
قيمة فيه.
للكتابة في متغير:
التلميحات والنصائح
يجب اختيار نوع المتغير من محدد الوضع قبل اختيار اسم المتغير من القائمة المنبثقة .وال تدرج القائمة المنبثقة سوى
المتغيرات التي تطابق النوع المحدد.
5- يمكنك اآلن تخزين قيمة في المتغير باستخدام الدخل ”القيمة ” .يمكنك إدخال القيمة مباشرة في الدخل
”القيمة ”أو يمكنك استخدام ”سلك البيانات ”.
التلميحات والنصائح
يمكنك الكتابة في متغير لمرات عديدة بالقدر المطلوب ،إالّ أنه ال يتم حفظ سوى القيمة األخيرة .عند الكتابة في متغير؛ يتم
محو قيمة المتغير السابقة واستبدالها بالقيمة الجديدة.
القراءة من متغير
محدد الوضع
اسم المتغير
اإلخراج
قراءة
يتيح لك الوضع ”قراءة” اختيار متغير تمت إضافته سابقًا إلى البرنامج (راجع ”إضافة متغير جديد)”والحصول على
القيمة المخزنة فيه.
للقراءة من متغير:
1- استخدم محدد الوضع الختيار الوضع ”قراءة” ونوع المتغير .
2- انقر فوق حقل النص بالجزء العلوي من القالب لعرض القائمة المنبثقة وتحديد اسم المتغير الذي تريد
استخدامه .
التلميحات والنصائح
يجب اختيار نوع المتغير من محدد الوضع قبل اختيار اسم المتغير من القائمة المنبثقة .وال تدرج القائمة المنبثقة سوى
المتغيرات التي تطابق النوع المحدد.
3- يمكنك اآلن الحصول على قيمة المتغير من الدخل ”القيمة ”واستخدامها في البرنامج باالستعانة ”سلك
البيانات ”.
التلميحات والنصائح
عند القراءة من متغير لم يسبق أن كتبت فيه قيمة خطية ،فإن النتيجة ستكون 0للنوع ”عددي” ،و”خطأ” للنوع
”منطقي” ،ونص فارغ للنوع ”النص” ،ومصفوفة فارغة للنوعين ”مصفوفة عددية” و”مصفوفة منطقية”.
أمثلة استخدام المتغيرات
المثال :1تخزين قيمة واستخدامها الحقًا
يستخدم هذا البرنامج قالب من قوالب ”المتغير” في الوضع ”كتابة” لتخزين قيمة بيانات مستشعر البيانات في المتغير
آخرا في الوضع ”كتابة” للحصول على القيمة واستخدامها الحقًا في البرنامج.
المسمى ” ”Lightومن ثم يستخدم قالبًا ً
البرنامج مصمم لتحريك الروبوت إلى األمام والعودة .يتوقف الروبوت أثناء عودته فوق لون ال تقل دكنته عن دكنة اللون
الذي بدأ منه.
التحرك الذكي هو أن نجعل الروبوت يقيس مقدار الحركة التي تحركها من نقطة بداية ليكون
باسطاعته العودة إليها مرة اخرى.
على سبيل المثال في مسابقات الروبوت نحتاج أحيانا ً إلى أن نتحرك من القاعدة ألداء مهمة
معينة ومن ثم العودة إلى القاعدة مرة اخرى فبدالً من حساب المسافة أو عدد الدرجات
المطلوبة للرجوع إلى القاعدة مرة اخرى نستخدم التحرك الذكي للرجوع إلى مكان اإلنطالقة.
يتم استخدام األمر Motor Rotationمن قائمة األدوات Sensorوذلك لقياس التحرك
للمحرك إما بالدرجات أو الدورات أو قياس قوة اندفاع المحرك.
التحدي : 1في هذا التحدي اجعل الروبوت يتحرك بمقدار عشوائي من نقطة بداية ومن ثم
العودة إلى نقطة البداية وذلك باستخدام التحرك الذكي؟
األمر األول :قمنا بوضع أمر متغير عددي من نوع كتابة وكتبا فيه المقدار (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.
المراجع
تعليمات برنامج .LEGO MINDISTORM EV3 -1
دليل المستخدم لبرنامج .LEGO MINDISTORM EV3 -2
الدروس المتاحة عبر .www.lego.com: -3
الدروس المتاحة عبرev32014.blogspot.com : -4