مستشعرات المسافة - المهارات الرقمية - ثالث متوسط
الفصل الدراسي الأول
الوحدة الأولى: الأمن السيبراني
الوحدة الثانية: قواعد البيانات
الوحدة الثالثة: البرمجة المتقدمة في بايثون
الفصل الدراسي الثاني
الوحدة الأولى: التجارة الإلكترونية
الوحدة الثانية: مهارات متقدمة في برامج الأوفيس
الوحدة الثالثة: هياكل البيانات الخطية
الفصل الدراسي الثالث
الوحدة الأولى: المتاجر الإلكترونية
الوحدة الثانية: صيانة الحاسب والتخزين السحابي
الوحدة الثالثة: مستشعرات الروبوت
378 الوحدة الثالثة: مستشعرات الروبوت ستتعرف في هذه الوحدة على مستشعرات روبوت الواقع الافتراضي التي تسمح له بالتعرف على بيئته وأداء مهامه، وبشكل أكثر تحديدًا، ستتعلم استخدام مستشعرات المسافة (Distance Sensors)، ومستشعرات العين (Eye Sensors)، ومستشعرات الاصطدام (Bumper Sensors). أهداف التعلم ستتعلم في هذه الوحدة > المستشعرات الخاصة ببيئة فيكس كود في آر. > ماهية مستشعر المسافة وتطبيقاته في الحياة اليومية. التحكم في حركة الروبوت الافتراضي باستخدام مستشعرات المسافة. > إضافة تعليقات نصية إلى المقطع البرمجي. > ماهية مستشعرات العين وتطبيقاتها في الحياة اليومية. > استخدام مستشعرات العين لروبوت الواقع الافتراضي لاستشعار وجود كائن أو لاستشعار الألوان. > ماهية مستشعر الاصطدام وتطبيقاته في الحياة اليومية. > استخدام مستشعر اصطدام روبوت الواقع الافتراضي للكشف عن اصطدام الروبوت بالكائنات في بيئة فيكس كود في آر. > إنشاء برامج للتحكم في الروبوت الافتراضي باستخدام العمليات المنطقية مع المستشعرات المتعددة. الأدوات فيكس كود في آر (VEXcode VR) VEXVA VEX VEX وزارة التعليم Ministry of Education 2024-1446
هل تذكر؟ بيئة فيكس كود في آر VEXcode VR)، يمكنك إنشاء المتغيرات واستخدامها. تعمل المتغيرات مثل الحاويات في البرامج للاحتفاظ بالبيانات. يمكنك العثور على جميع لبنات المتغيرات في فئة المتغيرات (Variables)، من أجل تخزين وتغيير قيمة البيانات التي يخزنها المتغير. مجموعة myVariable myVariable myVariable عرض متغیر (Reports a variable) عندما تريد استخدام المتغير مع لبنة أخرى، فإنك تستخدم لبنة عرض المتغير. تهيئة متغير Initialize a variable) 0 عندما تريد تعيين أو تحديث قيمة متغير محدد، يمكنك استخدام لبنة مجموعة ( ) إلى ( ) ( ) set ( ) to ) . تغییر متغیر (Change a variable) من قبل . عندما تريد تغيير قيمة مخزنة بالفعل في متغير، يمكنك استخدام لبنة تغيير .( change ( ) by ( ) ) ( ) Jio is ( ) في بيئة فيكس كود في آر يمكنك استخدام المتغيرات لإجراء العمليات الحسابية أو يمكنك إنشاء متغيرات للتحكم في السرعة ودرجة الدوران والمسافة المقطوعة وما إلى ذلك بواسطة روبوت الواقع الافتراضي اضبط القيمة الأولية 10 J من قبل 0 1 بنك لمتغير speed إلى 10 كرّر 10 مرات. مجموعة speed إلى 10 اضبط سرعة الروبوت لتكون مساوية للقيمة تكرار 4 التي يأخذها متغير speed في كل مرة. اضبط سرعة القيادة إلى speed % Mutiplication 6 تحرك إلى الأمام عند 200 اطبع Multiplication إنقل المؤشر للصف التالي speed من قبل 20 mm اطبع قيمة المتغير Multiplication عند كل تكرار. يطبع المخرجات ويرسل مؤشر وحدة تحكم العرض (Print Console) إلى الصف التالي. اضبط متغیر Multiplication يساوي 6 مضروبا في x . زد قيمة متغير speed بمقدار 20 وحدة في نهاية كل حلقة. وزارة التعو37 Ministry of Education 2024-1446
بيئة فيكس كود في آر يمكنك إنشاء عناصر برمجة مخصصة قابلة لإعادة الاستخدام تسمى عناصر برمجة جديدة (My blocks واستخدامها داخل المقطع البرمجي الرئيس، وتقسيمها إلى عناصر أصغر. في الوقت نفسه، يمكنك إنشاء سلسلة من اللبنات مرة واحدة والتي تتكرر في المقطع البرمجي ، وتجميعها في عنصر البرمجة الجديد واستخدامها عدة مرات في المقطع البرمجي الرئيس كلبنة واحدة. المقطع البرمجي عنصر البرمجة الجديد Petal. المقطع البرمجي الرئيس لرسم الزهرة. 12 Pulal Pete اضبط القلم على اللون أحمر أضبط القلم على العرض نحيف للغاية 180 تحرك إلى ا انعطف يمين المدة: 30 العطف المدة 120 العطف يمين لمدة 90 180 تحرك إلى العطف يمين المدة 30 درجة يمكنك أيضًا إضافة وإنشاء معاملات رقمية (Numeric Parameter) إلى عناصر برمجة جديدة يمكن تكييفها في أكثر من حالة واحدة. وزارة التعليم Ministry of Education 2024-1446 I I I I I mm Petal side length Jeng Petal الضبط القلم على اللون أحمر لضبط القلم نحيف للغاية . 3 تحرك إلى الأمام. عد Fahad made bargh العطف يمين المدة 30 Petal side length 1980 لمدة 90 3 إنعطف تحرك إلى الأمام العطف يمين المدة 30 Make a Block طول جانب البتلة. Patal Petal side length Add an input number Add a Boolean Add a label Cancel OK 10 380
الدرس الأول مستشعرات المسافة رابط الدرس الرقمي www.ien.edu.sa تحتوي الروبوتات على مستشعرات تساعدها على الإحساس بالبيئة المحيطة بها وما يتواجد فيها من مكونات كالأجسام والألوان وأيضًا المسافات بينها وبين هذه المكونات، ويعمل البرنامج الذي يشغل الروبوت على معالجة البيانات التي يتلقاها من المستشعرات لإكمال تنفيذ المهمة المطلوبة من الروبوت. مستشعرات فيكس كود في آر يمنحك فيكس كود في آر القدرة على برمجة روبوت الواقع الافتراضي باستخدام مستشعرات الاصطدام (Bumper) والمسافة (Distance) والعين (Eye) ، ومع وجود كل هذه المستشعرات يمكنك أن تجعل روبوت الواقع الافتراضي يتصرف مثل المركبة ذاتية القيادة. في الجدول الآتي، مقارنة بين الحواس البشرية والمستشعرات المطابقة لها المستخدمة للتحكم في حركة روبوت الواقع الافتراضي حواس الإنسان مقارنةً بالمستشعرات: حواس الإنسان اللمس الرؤية مستشعرات الروبوت مستشعر الاصطدام (Bumper) مستشعر المسافة (Distance) ومستشعر العين (Eye) VEXVA مستشعر العين الأمامية (FrontEye) ومستشعر المسافة (Distance). مستشعر الاصطدام الأيسر .(BumperLeft) VEX VEX مستشعر العين السفلية .(DownEye) مستشعر الاصطدام الأيمن .(BumperRight) مستشعر المغناطيس الكهربائي .(Electromagnet) وزارة التعر38 Ministry of Education 2024-1446
382 مستشعرات المسافة يساعد مستشعر المسافة (Distance Sensor الروبوت على التنقل من خلال اكتشاف موقعه وأي شيء قد يكون في مساره، كما يمكن للروبوتات قياس المسافة بينها وبين كائن ما في بيئتها باستخدام هذه المستشعرات. هناك نوعان من مستشعرات المسافة: مستشعرات المسافة بالموجات فوق الصوتية (Ultrasonic Distance Sensor) يقيس مستشعر الموجات فوق الصوتية المسافة إلى الجسم المستهدف عن طريق إرسال موجات فوق صوتية. يمكن استخدام مستشعر المسافة بالموجات فوق الصوتية لقياس منسوب المياه أو السوائل الأخرى في خزان، أو في تقنية الوقوف الذاتي (Self-Parking) وأنظمة السلامة المضادة للتصادم Anti-Collision Safety) في السيارات. HHHH درود مستشعر المسافة بالليزر (Laser Distance Sensor) مستشعر المسافة بالليزر هو جهاز يستخدم شعاع الليزر لتحديد المسافة إلى الجسم، ونظرًا لسرعة الضوء الفائقة يمكن لمستشعرات المسافة بالليزر قياس المسافات بدقة تبدأ من بضع مليمترات إلى مئات أو حتى آلاف الأمتار. تُستخدم مستشعرات المسافة بالليزر في تطبيقات مثل مراقبة الجودة وعملية المراقبة Process Monitoring وفي التصنيع كوضع المكونات بدقة أثناء عملية التجميع في صناعة السيارات. HHH معلومة تُستخدم الموجات فوق الصوتية في مجالات مختلفة، مثل التصوير بالموجات فوق الصوتية أو لتسريع العمليات الكيميائية. وزارة التعليم Ministry of Education 2024-1446
مستشعر المسافة لروبوت الواقع الافتراضي تم بناء مستشعر المسافة بالليزر (Laser Distance Sensor على الجزء الأمامي من روبوت الواقع الافتراضي لتوضيح المسافة بين الروبوت وأقرب كائن، وحساب المسافة باستخدام الوقت الذي يستغرقه ضوء الليزر للارتداد من الجسم إلى المستشعر. VEX VEX VEXVA VEX VEX يستطيع مستشعر المسافة اكتشاف أي كائن قريب من روبوت الواقع الافتراضي والأشياء البعيدة والجدار على الجانب الآخر في ملاعب فيكس كود في آر. وعندما لا يكون هناك شيء أمام الروبوت، يبلغ مستشعر المسافة أن المسافة أكبر من 3000 مليمتر. ACTIVITIES CLOVE Heading Rotation Front Eye Down Eye Location Location Angle Bumper Distance 0° 0° Object: False Object: False Color: None Color: None X: 0 mm Y: -800 mm Left: False 0° 1354 mm Right: False 00:00:0 عدد معلومة يركز الليزر على بقعة ضيقة، وهذا يتيح تطبيقات متعددة مثل: القطع بالليزر والطباعة الحجرية (Lithography)، ومحركات الأقراص الضوئية، وطابعات الليزر وماسحات الباركود الضوئية Barcode Scanners وغير ذلك. وزارة التع383 Ministry of Education 2024-1446
لاحظ أنه يمكن اكتشاف الكائنات البعيدة من خلال مستشعر روبوت الواقع الافتراضي عندما تكون زاوية المجال (Angle Field) قريبة من مركز شعاع الليزر VEXVA لبنات فئة الاستشعار المجال (Field 10 درجات - المدى (Range) 1000 مليمتر. المجال (Field 5 درجات - المدى (Range 2000 مليمتر. المجال (Field) 2 درجة - المدى (Range) أكبر من 2000 مليمتر. تتضمن فئة الاستشعار (Sensing) اللبنات التي ستستخدمها لبرمجة روبوت الواقع الافتراضي للتفاعل مع الشروط، واتخاذ القرارات وتنفيذ الإجراءات بناءً على البيانات التي يتلقاها من المستشعرات الخاصة به. لبنات المراسل (Reporter Blocks) لبنة المُراسِل هي لبنة لها شكل دائري أو سداسي ولا يمكن استخدامها بمفردها، ولكن تستخدم داخل لبنة أخرى مثل: فئة التحكم (Control) أو فئة العمليات (Operators). لبنات المراسل المنطقية (Boolean Reporter) لبنات المُراسِل المنطقية هي لبنات ذات شكل سداسي تُستخدم لتكوين الشروط، وتكون النتائج التي تُرسلها هذه الشروط هي صواب (True) أو خطأ (False). القيادة تم عملها؟ القيادة مازال يتحرك؟ 384 لبِنَتا مستشعر المسافات (Distance Sensing) تحتوي فئة الاستشعار على لبنتين أساسيتين من لبنات مستشعر المسافة وهما: > لبنة المسافة الأمامية وجدت كائنًا ؟ (?FrontDistance found an object). > لبنة المسافة الأمامية في (( (()FrontDistance in). فئة الاستشعار (Sensing). BumperLeft • مضغوط؟ المسافة الأمامية وجدت كائنا؟ العين الأمامية يمثل مجسم قريب؟ العين الأمامية يستشعر احمر احداث مستشعر المسافات المسافة الأمامية . وجدت كائنا؟ المسافة الأمامية . الاستشعار mm وزارة التعليم Ministry of Education 2024-1446
لبنة المسافة الأمامية وجدت كائنًا ؟ ?FrontDistance found an object) لبنة المسافة الأمامية وجدت كائنًا ؟ هي لبنة مُراسِل منطقية تُرجع صوابًا أو خطأ إذا اكتشف مستشعر المسافة كائنا أو لم يكتشفه. المسافة الأمامية وجدت كائنا؟ في المقطع البرمجي الآتي، يتحرك الروبوت إلى الأمام حتى يكتشف مستشعر المسافة كائنًا في ملعب شبكة خريطة Grid Map) ويكون العائق الذي يكتشفه المستشعر هو جدار الملعب، لذلك يتحرك الروبوت خطوة واحدة فيكتشف المستشعر الجدار كعائق ويتوقف. البداية إذا اكتشف مستشعر المسافة عندما بدات كائنًا، فستُرجع اللبنة القيمة صوابًا ثم يتوقف الروبوت. تحرك إلى الأمام تحرك إلى الأمام الانتظار حتى المسافة الأمامية وجدت كائنا؟ خطأ هل وجدت كائنًا أمامك ؟ أوقف القيادة صواب أوقف القيادة النهاية تتيح لك وحدة المراقبة (Monitor Console رؤية النتيجة التي تُرجعها لبنة المسافة الأمامية (FrontDistance). توقف لبنة الانتظار حتى ( ) ( ) wait until المقطع البرمجي مؤقتًا حين يكون شرط المسافة الأمامية وجدت كائنا؟ ?FrontDistance found an object) صحيحًا. مستشعر المسافات الاستشعار ☑ <> ? Location Angle Bumper Left: False Right: False Distance 1839 mm Location Location Angle Bumper Distance VEX X: -900 mm Y:-890 mm 0° Left: False Right: False 1829 mm يتحرك الروبوت 10 مليمتر فقط، فيكتشف جدار الملعب ثم يتوقف. Vex vx المسافة الأمامية - وجدت كائنا؟ أجهزة الاستشعار مرا کائن؟ FrontDistance وجدت Heading Rotation Front Eye 0 Down Eye Object: False Object: False Color: None Color: None. Location X: -900 mm Y: 900 mm وضع البداية للروبوت. 3 00:00:0 38599 Ministry of Education 2024-1446
حرارة التعليم Ministry of Education 2024-1446 لبنة المسافة الأمامية في )) ((( FrontDistance in) لبنة المسافة الأمامية في (( هي لبنة مستشعر المسافة (Distance Sensor) والتي تبين المسافة بين روبوت الواقع الافتراضي وأقرب كائن من خلال قيم رقمية بوحدة المليمتر (mm) أو البوصة (Inches). تتيح لك اختيار وحدة قياس المسافة بين الروبوت والكائن. mm $10. mm / بوصة 100 mm توقف لبنة الانتظار حتى ( ) ( ) wait until المقطع البرمجي مؤقتًا حين يكون شرط المسافة أقل من 100 مليمتر صحيحًا. المسافة الأمامية عندما بدأت تحرك إلى الأمام الانتظار حتى المسافة الأمامية أوقف القيادة تُرجع اللبنات ذات الشكل البيضاوي القيم الرقمية Heading Rotation 0° 0° Front Eye Object: True Color: None Down Eye Object: False Color: None Location Location Angle Bumper Distance X: -900 mm 360° : 860 mm Left: False Right: False 79 mm 00:17:3 يتوقف الروبوت على مسافة 79 مليمتر قبل الحائط. 386
لبنة إلى الأبد لبنة إلى الأبد (Forever) هي لبنة تكرار الأوامر (RepeatCommand توجد في فئة تحكم، وتكرر اللبنات الموجودة بداخلها إلى الأبد. إلى الأبد لبنة إلى الأبد، تُستخدم عند تكرار اللبنات البرمجية الموجودة لعدد غير محدد من المرات وبدون توقف. مثال 1: التوقف قبل الاصطدام بعائق ستبرمج روبوت الواقع الافتراضي للتحرك نحو القلعة في ملعب القلعة الحم Castle Case بالسرعة الافتراضية، وعندما تصبح المسافة من الروبوت إلى القلعة 50 مليمتر ، فإنه يتوقف عن الحركة. Heading Rotation Front Eye 0° 0° Down Eye Object: False Object: False Color: None Color: None Location Location Angle Bumper Distance X: 0 mm Y: -510 mm 0° Left: False Right: False 261 mm Distance 00:00:5 وزارة التع38 Ministry of Education 2024-1446
هذا المثال، يتم التحقق من حالة لبنة إذا ثم آخر if the else المسافة بالمليمتر (50 بشكل متكرر أثناء تحرك الروبوت للأمام، يتم وضع لبنة إذا ثم آخر داخل لبنة إلى الأبد. العرض أحداث الأنصار 1 10 عندما ينك الأبد المسافة الأمامية تحرك إلى الأمام الاستشعار أوقف القيادة المتغيرات 髌 عندما لا تزيد المسافة عن 50 مليمتر يتم تنفيذ أمر أوقف القيادة (stop driving) 50 < mm عند اختبار هذا المقطع البرمجي، ستلاحظ أن روبوت الواقع الافتراضي يتوقف لتجنب الاصطدام بالقلعة، عندما تصبح المسافة عن العائق أقل من 50 مليمتر. 388 Location Location Angle Bumper Distance X: 0 mm Y:-270 mm 0° Left: False Right: False 21 mm Heading Rotation Front Eye Down Eye 0° 0° Object: True Object: False Color: None Color: None معلومة كلما زادت سرعة الروبوت، تأخر في التوقف. ✓ 00:01:0 وزارة التعليم Ministry of Education 2024-1446
كلما زادت سرعة الروبوت، تأخر في التوقف.
مثال 2: تجنب العائق مع حدوث تباطؤ متناسب مع المسافة لتشاهد مثالًا يتباطأ فيه روبوت الواقع الافتراضي عند التحرك نحو العائق. اضبط سرعة الروبوت المسافة الأمامية في mm(6) لخفض سرعته بشكل مناسب. ابدات إلى الأبد المسافة الأمامية 50 < mm تم ضبط سرعة روبوت الواقع الافتراضي المسافة الأمامية في mm/6 ) % .(FrontDistance in mm/6) %)) اضبط سرعة القيادة إلى المسافة الأمامية تحرك إلى الأمام أوقف القيادة t ,% 6 mm تمثل قيمة سرعة الروبوت النسبة المئوية لقيمة السرعة القصوى له، أي ما يعادل 100 عند اختبار هذا المقطع البرمجي، ستلاحظ أن مكابح روبوت الواقع الافتراضي تساعده على تفادي الاصطدام بالقلعة بعد مسافة 50 مليمتر. Heading Rotation Front Eye Down Eye Location Location Angle Bumper Distance 0° 0° Object: True Object: False Color: None Color: None X: 0 mm 360° Y: -294 mm Left: False Right: False 45 mm 00:01:3 وزارة التكو38 Ministry of Education 2024-1446
مثال :3: تجنب عائق متبوع بقرار الانعطاف لتشاهد مثالًا ينعطف فيه روبوت الواقع الافتراضي في ملعب شبكة خريطة إلى اليسار بمقدار 90 درجة ليقيس المسافة من العائق، ثم يعود لينعطف 180 درجة إلى اليمين لقياس المسافة من العائق، وبعد ذلك يقارن بين المسافتين ويقرر أن ينعطف في الاتجاه الذي تكون فيه المسافة أكبر ويتحرك في هذا الاتجاه. يخزن متغیر Distance _to_right قيمة يخزن متغیر Distance _to_ left قيمة المسافة عندما ينعطف الروبوت إلى اليمين. المسافة عندما ينعطف الروبوت إلى اليسار mm mm تعريف Tum 90 left or right إنعطف اليسار لمدة 90 Distance_to_left المسافة الأمامية إنعطف يمين المدة 180 المسافة الأمامية Distance to left تتم مقارنة قيمتي المسافة، وينعطف الروبوت باتجاه المسافة الأطول الخالية. وزارة التعليم Ministry of Education 2024-1446 المتغيرات نظام الدفع إنشاء متغير Distance_to_litt Distanco_to_night 0 Distance to left أحداث Distance to eft الاستشعار إنشاء متغير منطقي Distance_to_night Distance_to_right إنشاء قائمة إنعطف اليسار المدة 180 D إنشاء قائمة 2 المتغيرات عناصر برمجة جديدة تحرك إلى الأمام عناصر برمجة جديدة إنشاء علمن 90° 90° BAX 180° 90° 390
ستستخدم الآن عنصر البرمجة الجديد Turn 90 left or right لجعل الروبوت يتحرك بشكل مستمر. عناصر برمجة جديدة أحداث هنما بدات إنشاء عنصر إلى الأبد Turn 90 left or right الاستشعار التعليقات العمليات المتغيرا عناصر برمجة جديدة التعليقات المسافة الأمامية Turn 90 left or right تحرك إلى الأمام 100 > mm المسافة. من الجدار الأيسر أقل من المسافة من الجدار الأيمن، ولذلك ينعطف الروبوت إلى اليمين. وزارة التعاو3 Ministry of Education 2024-1446
392 إضافة تعليقات نصية في البرامج التعليقات هي لبنات نصية تُضاف إلى المقطع البرمجي لجعله مفهومًا وذلك من خلال وصف اللبنات، كما لا تؤثر التعليقات على المقطع البرمجي، بل تساعد على صيانته أو تطويره في المستقبل. لإضافة تعليقات في أحد المقاطع البرمجية في بيئة فيكس كود في ،آر عليك استخدام لبنة تعليق (comment) الموجودة في فئة التعليقات (Comments). أنشئ المقطع البرمجي الآتي الذي يتحرك الروبوت فيه إلى الأمام وأضف تعليقات إليه. لإضافة تعليق > من فئة التعليقات (Comments) 3 اسحب لبنة تعليق (comment)، وضعها قبل أمر اللبنة 3 2 > اضغط على لبنة تعليق (comment)، ثم اكتب " يتحرك الروبوت إلى الأمام مسافة 200 مليمتر 6 1 العرض التعليقات احداث تحكم الاستشعار العمليات المتغيرات 2 تعليق عندما يدك تحرك إلى الأمام 4 3 تحرك إلى الأمام . عنما يدات عناصر برمجة التعليق عدد mm 200 mm 200 5 يتحرك الروبوت إلى الأمام مسافة 200 مليمتر تحرك إلى الأمام عدد 200 معلومة في جميع لغات البرمجة توجد رموز تسبق التعليقات أو يمكن تضمينها، وتخبر هذه الرموز المحول البرمجي (Compiler) الذي يحول لغة البرمجة إلى لغة يفهمها الحاسب بأن يتجاهل النص الذي يليها. mm وزارة التعليم Ministry of Education 2024-1446
برمجة الروبوت ليتحرك باتباع الحائط بعد أن تعرفت على مستشعرات المسافة الخاصة بالتحكم في حركة روبوت الواقع الافتراضي في بيئة فيكس كود في آر؛ ستبرمج الروبوت ليتحرك ويتبع حائط الملعب، ويستمر في التحرك إلى الأمام وينعطف عندما يجد عوائق أمامه. ستنشئ عنصر البرمجة الجديد Follow the wall، وستقسّم مشروعك إلى وحدات أصغر. لإنشاء عنصر البرمجة الجديد Follow the wall > من فئة عناصر البرمجة الجديدة ( My blocks اضغط على إنشاء عنصر Make a block). 2 > اضغط على عنصر البرمجة الجديد الذي تم إنشاؤه واكتب اسمه Follow the wall". 3 > اضغط على موافق .(OK) 0 4 4 text جعل كتلة إضافة تسمية منطقية موافق الغاء 3 Follow the wall 1 أحداث 2 عناصر برمجة جديدة إنشاء عنص التعليقات الاستشعار العمليات المتغيرات عناصر برمجة جديدة إضافة مدخلا رقم تعليق وزارة التع393 Ministry of Education 2024-1446
وزارة التعليم Ministry of Education 2024-1446 0 الكود ستنشئ الآن المقطع البرمجي لعنصر البرمجة الجديد Follow the wall ، وتضيفه أسفل اللبنة المحددة التي تم إنشاؤها. لإضافة المقطع البرمجي إلى عنصر البرمجة الجديد Follow the wall > من فئة التحكم (Control) ، أضف لبنة إذا )) ثم ( ) آخر () ()) if ( ) then ( ) else ) ضمن لبنة تعريف عنصر البرمجة الجديد Follow the wall. © > من فئة العمليات (Operators) اضف لبنة أكبر من Greater than). 3 > من فئة الاستشعار (Sensing) ، أضف لبنة المسافة الأمامية في (( (( FrontDistance in () في الجانب الأيمن من لبنة (( أكبر من () ()) ثم اكتب "200" في الجانب الأيسر. @ > من فئة نظام الدفع Drive train)، أضف لبنة تحرك ) ( عدد )) ((( drive ( ) for) داخل حالة لبنة إذا )) ثم ( ) آخر () ()) if ( ) then ( ) else ) . > من فئة نظام الدفع Drive train)، أضف لبنة انعطف ( ) لمدة )) (( ) turn ( ) for) بعد لبنة تحرك (( عدد )) (() ثم اضغط على القائمة المنسدلة واختر اليسار ⑦.(left) 8 > من فئة نظام الدفع (Driverain) ، أضف لبنة انعطف ( ) لمدة ( ) ( ) turn ( ) for) داخل حالة آخر (else) للبنة إذا )) ثم ( آخر ( ) ( ) if ( ( then ( ) else ) ، ثم اضغط على القائمة المنسدلة واختر يمين .(right) Follow the wall 2 200 1 ? العمليات نظام الدفع 8888 اختیار عشوائي 1 إلى 10 50 50 50 مغناطيس أحداث 394
أحداث ? مستشعرات نظام الدفع القيادة تم عملها؟ القيادة مازال يتحرك؟ الاستشعار إتجاه المواجهه لنظام القيادة بالدرجات دوران القيادة بالدرجات العمليا مستشعر الإصطدام BumperLeft مضغوط؟ عناصر مستشعر المسافات المسافة الأمامية. التعليقات وجدت كائنا؟ く المسافة الأمامية mm نظام الدفع تحرك إلى الأمام مغناطيس تحرك إلى الأمام العرض العطف يمين mm 200 Follow the wall المسافة الأمامية تعريف Follow the wall المسافة الأمامية 3 4 200 < mm 200 mm أحداث العطف يمين لمدة 90 درجة 5 تحرك تحرك إلى الأمام . عدد 200 الحكم إنعطف لمواجهة 90 درجة الاستشعار 6 انعطف اليسار . لمدة 90 درجة إنعطف للدوران 90 درجة | المتغيرات أوقف القيادة عناصر برمجة اضيط سرعة القيادة إلى 50 % التعليق إضبط سرعة الإنعطاف إلى 50 % 7 8 إنعطف يمين لمدة 90 درجة 9 اليسار يمين mm (( الكود 1 وزارة التع395 Ministry of Education 2024-1446
396 الآن في منطقة البرمجة وبعد لبنة عندما بدأت when started ستنشئ الآن في منطقة البرمجة وبعد لبنة عندما بدأت when started) ستنشئ البرنامج الرئيس باستخدام عنصر البرمجة الجديد Follow the wall . الرئيس باستخدام عنصر البرمجة الجديد Follow the wall. لإنشاء المقطع البرمجي الرئيس > من فئة التحكم ،Control) بعد لبنة عندما بدأت (when started أضف لبنة إلى الأبد (forever). 1 > من فئة عناصر برمجة جديدة ( My blocks) أضف عنصر البرمجة الجديد Follow the wall . @ > من فئة التعليقات (Comments)، أضف لبنات تعليق (comment) إلى المقطع البرمجي الخاصة بك. © VEX التعليقات عناصر برمجة جديدة التعليقات التعليق 3 إضافة لبنات التعليق إلى المقطع البرمجي الخاص بك يسهل قراءته. Follow the wal إذا كانت المسافة أكبر من 200 مليمتر المسافة الأمامية الروبوت مبرمج ليتبع الحائط إلى الأبد. 1 200 mm 2 Follow the wall يتحرك الروبوت إلى الأمام بمقدار وحدة مربعة. تحرك إلى الأمام عند mm 200 وينعطف 90 درجة إلى اليسار للبحث عن الحائط إنعطف اليسار المدة 90 وإلا فإنه ينعطف إلى الاتجاه السابق بالعطاف 90 إنعطف يمين المدة 90 اليمين وزارة التعليم Ministry of Education 2024-1446
تعريف Follow the wall إذا كانت المسافة أكبر من 200 مليمتر. المسافة الأمامية 200 < mm يتحرك الروبوت إلى الأمام بمقدار وحدة مربعة. تحرك إلى الأمام عدد 200 mm وينعطف 90 درجة إلى اليسار للبحث عن الحائط. إنعطف اليسار لمدة 90 وإلا فإنه ينعطف إلى الاتجاه السابق بانعطاف 90 درجة إلى اليمين. إنعطف يمين لمدة 90 1 T حالة إذا (if). غرفة 514 2 5 إذا كانت المسافة الخالية أمام الروبوت أكبر من طول وحدة مربعة (200 مليمتر)، فإن الروبوت ينفذ حالة إذا (if). علما بنات الروبوت مبرمج ليتبع الحائط إلى الأبد. إلى الأبد Follow the wall إذا كانت المسافة أقل من 200 مليمتر عندها سيتم تنفيذ حالة آخر (else). 3 حالة آخر (else). حالة إذا if) : إذا كانت المسافة أكبر من 200 مليمتر يتحرك الروبوت إلى الأمام بمقدار 200 مليمتر ثم ينعطف إلى اليسار 90 درجة للبحث عن الحائط. حالة آخر (else): إذا كانت المسافة أقل من 600 الروبوت 90 درجة إلى اليمين. وزارة التعدون 397 Ministry of Education 2024-1446
398 لنطبق معًا تدريب 1 • طابق اللبنات في العمود الأيمن مع وصفها الصحيح في العمود الأيسر باستخدام أرقام اللبنات المسافة الأمامية - 1 mm المسافة الأمامية وجدت كائنا؟ إلى الأبد 2 3 4 comment تُستخدم للتعليق على المقطع البرمجي. تجعل المقطع البرمجي الموجود بداخلها يتكرر لعدد غير محدد بدون توقف. تُرجع المسافة الخالية التي اكتشفها مستشعر المسافة. يتم استخدامها لبرمجة الروبوت لأداء مهمتين الحالة. مختلفتين حسب تُرجع صواب عندما يكون الكائن أمام روبوت الواقع الافتراضي. تدريب 2 برمج روبوت الواقع الافتراضي في ملعب القلعة المحطم Castle Crasher) لينفذ المقطعين البرمجيين الآتيين التحرك إلى الأمام بسرعة 100 ، والتوقف عن الحركة إذا اكتشف عائقًا على بعد 200 مليمتر. التباطؤ ثم التوقف إذا اكتشف عائقًا على بُعد 200 مليمتر، ولتنفيذ ذلك برمج قيمة السرعة لتتغير وتتناسب مع مسافة الروبوت من العائق واضبطها على المسافة الأمامية في mm / 7 ) . وزارة التعليم Ministry of Education 2024-1446
تدريب 3 > برمج روبوت الواقع الافتراضي ليثبع الحائط الأيسر لملعب شبكة خريطة Grid Map وينشئ خطا لمساره في نفس الوقت للتحقق من المسافة بينه وبين الحائط، برمج الروبوت لينعطف 45 درجة إلى اليسار في كل وحدة مربعة من الملعب. > أضف تعليقات إلى المقطع البرمجي. تدريب 4 برمج روبوت الواقع الافتراضي ليعثر على مخرج ملعب ديناميكية جدار المتاهة > افترض أن الملعب مقسم إلى وحدات مربعة كما تظهر الشبكة بالخط الأصفر المتقطع، وطول جانب كل وحدة مربعة 250 مليمتر. > سيتغير ملعب ديناميكية جدار المتاهة (Dynamnic Wall Maze) في كل مرة يتم تحديثه، وتوجد العديد من المتاهات المختلفة التي يجب أن يعالج المقطع البرمجي مشكلة كل منها. > عندما يواجه الروبوت المخرج فإن مستشعر المسافة يكتشف أن المسافة أكبر من 3000 مليمتر ويمكن استخدامها كشرط لإنهاء المقطع البرمجي. vExm وزارة التعو39 Ministry of Education 2024-1446