📝 ملخص الصفحة
📚 مثال 5: استخدام العين الأمامية للتحرك واكتشاف الأقراص الملونة
المفاهيم الأساسية
المقطع البرمجي الرئيسي: برنامج يتحكم في حركة الروبوت في الملعب باستخدام عناصر برمجة جديدة.
خريطة المفاهيم
```markmap
مستشعرات العين
أنواع مستشعرات العين في الروبوت
مستشعر العين الأمامية (FrontEye)
- الموقع: الجزء الأمامي (مكان مستشعر المسافة)
- الاتجاه: للأمام
- الوظيفة: اكتشاف الكائنات القريبة
مستشعر العين السفلية (DownEye)
- الموقع: أسفل الروبوت
- الاتجاه: للأسفل
- الوظيفة: اكتشاف الكائنات التي تحته
قدرات الاستشعار
- اكتشاف وجود كائن
- اكتشاف الألوان (الأحمر، الأخضر، الأزرق)
- اكتشاف غياب اللون ("لا شيء")
لبنات برمجة مستشعر العين (في فئة الاستشعار)
اللبنات المستخدمة في هذا الدرس
- ( ) يمثل مجسم قريب؟ ( ) is near object? ( )
- ( ) يستشعر ؟ ( ) ( ) detects ( ) ( )
لبنة أخرى
- ( ) نسبة السطوع بال % ( ) brightness in (%) ( )
استخدام لبنة "يمثل مجسم قريب؟"
المستشعرات المستخدمة
- مستشعر العين الأمامية (FrontEye)
- مستشعر العين السفلية (Bottom Eye)
مثال تطبيقي
#### برمجة روبوت للتحرك والتوقف عند استشعار كائن
- الخوارزمية: البدء ← التحرك للأمام ← التحقق من رؤية مجسم قريب ← (إذا خطأ) العودة للتحرك ← (إذا صواب) إيقاف القيادة ← النهاية
استخدام لبنة مستشعر المسافة (Distance)
الوظيفة
- مراقبة المسافة الفعلية (بالملليمتر) التي يكتشفها مستشعر العين الأمامية للكائن.
مثال من الصفحة
- يكتشف مستشعر العين الأمامية المجسم على مسافة 65 مليمتر.
مثال 2: استشعار كائن عبر مستشعر العين السفلية (DownEye)
المهمة
- برمجة روبوت لالتقاط وإسقاط أقراص معدنية باستخدام مستشعر العين السفلية والمغناطيس الكهربائي.
خطوات تنفيذ المثال
يتحرك الروبوت للأمام لاكتشاف القرص المعدني (باستخدام مستشعر العين السفلية).
يلتقط القرص المعدني (باستخدام المغناطيس الكهربائي).
يتحرك للخلف.
يسقط القرص داخل المربع الأزرق (نقطة البداية).
لبنات البرمجة المستخدمة
#### من فئة (Magnet)
- لبنة تفعيل مغناطيس للـ ( ) (energize magnet to ( ))
- عمليتان داخليتان:
- تعزيز (boost): لالتقاط القرص المعدني.
- إسقاط (drop): لإسقاط القرص المعدني.
التحكم بالمغناطيس الكهربائي
لبنة الانتظار حتى (until wait)
- الاستخدام: عندما يتطلب الأمر انتظاراً حتى يستشعر المستشعر السفلي لا يستشعر شيئاً.
تسلسل البرمجة الكامل (من الصفحة)
البداية
تحرك إلى الأمام
هل يكتشف مستشعر العين السفلية مجسماً؟
- إذا خطأ: العودة للتحرك
- إذا صواب: المتابعة
التقط القرص المعدني (تفعيل مغناطيس للتعزيز)
تحرك إلى الخلف 800 ملليمتر
أسقطه في المربع الأزرق (تفعيل مغناطيس للإسقاط)
النهاية
استخدام لبنة "يستشعر" للكشف عن الألوان
مثال 3: استشعار لون عبر مستشعر العين الأمامية
- المهمة: برمجة روبوت ليتحرك للأمام، وعندما يستشعر مستشعر العين الأمامية اللون الأخضر، ينعطف 90 درجة لليمين.
- لبنة رئيسية: لبنة الانتظار حتى ( ) Wait until ( ) تستخدم لانتظار استشعار اللون الأخضر.
- ملاحظة: يمكن تغيير المستشعر في القائمة المنسدلة للبنة لاستخدام مستشعر العين السفلية.
قراءة لوحة القيادة
- إذا لم يستشعر المستشعر لوناً (أحمر، أخضر، أزرق)، تعرض اللوحة:
-
Object: خطأ (False)
- Color: لا يوجد لون.
مثال 4: توجيه روبوت الواقع الافتراضي حسب عوائق البيئة المحيطة
المهمة
- برمجة روبوت للتنقل في ملعب عوائق متنوعة باستخدام مستشعر العين الأمامية للوصول من نقطة البداية (المربع الأخضر) إلى نقطة النهاية (القرص المعدني الأحمر).
خطوات الخوارزمية
التحرك إلى الأمام حتى يستشعر العين الأمامية الأقراص الخضراء والزرقاء.
التحرك إلى الخلف حتى تصبح المسافة من القرص أكبر من 80 ملليمتر.
الانعطاف 90 درجة إلى اليمين عند اكتشاف قرص أخضر، و90 درجة إلى اليسار عند اكتشاف قرص أزرق.
إنشاء مقاطع برمجية جديدة
#### Route after green disk
- الشرط: إذا استشعرت العين الأمامية اللون الأخضر.
- الإجراءات:
1. التحرك إلى الخلف.
2. الانتظار حتى تصبح المسافة الأمامية (بالملليمتر) أكبر من حد معين.
3. الانعطاف يميناً 90 درجة.
4. التحرك إلى الأمام.
- النتيجة: ينعطف الروبوت 90 درجة يميناً أمام القرص الأخضر وعلى مسافة معينة منه.
#### Route after blue disk
- الشرط: إذا استشعرت العين الأمامية اللون الأزرق.
- الإجراءات:
1. التحرك إلى الخلف.
2. الانتظار حتى تصبح المسافة الأمامية (بالملليمتر) أكبر من حد معين.
3. الانعطاف يساراً 90 درجة.
4. التحرك إلى الأمام.
- النتيجة: ينعطف الروبوت 90 درجة يساراً أمام القرص الأزرق وعلى مسافة معينة منه.
قراءة لوحة القيادة (حالة الروبوت)
- Heading: 90°
- Rotation: 90°
- Front Eye: Object: False, Color: None
- Down Eye: Object: False, Color: None
- Location: X: -402 mm, Y: -207 mm
- Location Angle: 90°
- Bumper: Left: False, Right: False
- Distance: 301 mm
- Timer: 00:02:4
مثال 5: استخدام العين الأمامية للتحرك واكتشاف الأقراص الملونة
المهمة
- إنشاء مقطع برمجي يتحكم في روبوت الواقع الافتراضي في ملعب نقل القرص (Disk Transport).
- استخدام القرصين المعدنين (اللونين الأحمر والأزرق) الموجودين على الجانب الأيسر من المنطقة المحاطة بالجدار.
- نقل القرصين إلى المنطقة المربعة (منطقة البداية).
المقطع البرمجي الرئيسي
- عندما بدأت
- تحرك إلى الأمام
- تكرار حتى يستشعر أحمر العين الأمامية
- Route after green disk
- Route after blue disk
- أوقف القيادة
عناصر البرمجة الجديدة
- أحداث
- تحكم
- الاستشعار
- العمليات
- المتغيرات
- عناصر برمجة جديدة
```
نقاط مهمة
- المهمة: برمجة روبوت لنقل أقراص ملونة (أحمر وأزرق) من مكانها إلى منطقة البداية في ملعب افتراضي.
- يستخدم الروبوت مستشعر العين الأمامية للكشف عن الألوان (مثل الأحمر) أثناء حركته.
- يتضمن المقطع البرمجي استخدام عناصر برمجة جديدة من فئات مثل الأحداث والتحكم والاستشعار.
- يظهر المثال كيفية دمج مقاطع برمجية مخصصة (مثل `Route after green disk`) داخل البرنامج الرئيسي.
📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
نوع: محتوى تعليمي
أنشئ المقطع البرمجي الرئيسي الآتي واستخدم عنصري البرمجة الجديدين لإنشاء أنشاتهما من قبل لجعل الروبوت يتنقل في الملعب.
نوع: محتوى تعليمي
عندما بدأت
تحرك إلى الأمام
تكرار حتى يستشعر أحمر العين الأمامية
Route after green disk
Route after blue disk
أوقف القيادة
إنشاء عنصر
نوع: محتوى تعليمي
أحداث
تحكم
الاستشعار
العمليات
المتغيرات
عناصر برمجة جديدة
نوع: محتوى تعليمي
مثال 5: استخدام العين الأمامية للتحرك واكتشاف الأقراص الملونة
نوع: محتوى تعليمي
في هذا المثال، ستنشئ مقطعًا برمجيًا يتحرك فيه روبوت الواقع الافتراضي في ملعب نقل القرص (Disk Transport)، ويستخدم القرصين المعدنين لوهمه أحمر يقعان على الجانب الأيسر من المنطقة المحاطة بالجدار، وينقلهما إلى المنطقة المربعة التي تعد أيضاً منطقة البداية لروبوت الواقع الافتراضي.
نوع: METADATA
403
نوع: METADATA
وزارة التعليم
Ministry of Education
2025 - 1447
🔍 عناصر مرئية
Block Programming Interface
Shows a drag-and-drop interface with different colored blocks representing events, control flow, sensing, and actions. Includes blocks like 'when started', 'move forward', 'repeat until sensor sees red', 'Route after green disk', 'Route after blue disk', and 'stop driving'. A sidebar lists categories like 'Events', 'Control', 'Sensing', 'Operations', 'Variables', and 'New programming elements'.
Virtual Robot Arena Simulation
A 3D view of a virtual arena with a grid floor. A small orange robot is positioned near the start line. The arena contains several colored disks (red, blue, green) placed on specific grid squares. Walls form pathways. The robot has VEX branding on its chassis and wheels. The floor grid has VEX CODE VR branding. Arrows indicate movement directions. Two specific colored disks (red and blue) are highlighted as targets for transport.
📄 النص الكامل للصفحة
أنشئ المقطع البرمجي الرئيسي الآتي واستخدم عنصري البرمجة الجديدين لإنشاء أنشاتهما من قبل لجعل الروبوت يتنقل في الملعب.
عندما بدأت
تحرك إلى الأمام
تكرار حتى يستشعر أحمر العين الأمامية
Route after green disk
Route after blue disk
أوقف القيادة
--- SECTION: إنشاء عنصر ---
أحداث
تحكم
الاستشعار
العمليات
المتغيرات
عناصر برمجة جديدة
مثال 5: استخدام العين الأمامية للتحرك واكتشاف الأقراص الملونة
في هذا المثال، ستنشئ مقطعًا برمجيًا يتحرك فيه روبوت الواقع الافتراضي في ملعب نقل القرص (Disk Transport)، ويستخدم القرصين المعدنين لوهمه أحمر يقعان على الجانب الأيسر من المنطقة المحاطة بالجدار، وينقلهما إلى المنطقة المربعة التي تعد أيضاً منطقة البداية لروبوت الواقع الافتراضي.
403
وزارة التعليم
Ministry of Education
2025 - 1447
--- VISUAL CONTEXT ---
**DIAGRAM**: Block Programming Interface
Description: Shows a drag-and-drop interface with different colored blocks representing events, control flow, sensing, and actions. Includes blocks like 'when started', 'move forward', 'repeat until sensor sees red', 'Route after green disk', 'Route after blue disk', and 'stop driving'. A sidebar lists categories like 'Events', 'Control', 'Sensing', 'Operations', 'Variables', and 'New programming elements'.
Context: Illustrates how to construct a program using block-based coding for a robot, focusing on movement and sensor input for navigation.
**DIAGRAM**: Virtual Robot Arena Simulation
Description: A 3D view of a virtual arena with a grid floor. A small orange robot is positioned near the start line. The arena contains several colored disks (red, blue, green) placed on specific grid squares. Walls form pathways. The robot has VEX branding on its chassis and wheels. The floor grid has VEX CODE VR branding. Arrows indicate movement directions. Two specific colored disks (red and blue) are highlighted as targets for transport.
X-axis: Grid coordinate
Y-axis: Grid coordinate
Data: The simulation shows a robot in an arena with colored disks. The text describes the robot's task to pick up two specific colored disks (red and blue) from the left side and transport them.
Key Values: Robot starts on the left side., Target disks are red and blue., Disks are located near walls., Robot needs to transport disks to a square area.
Context: Visual representation of the programming task described in the text, showing the virtual environment where the robot will operate and the objective of transporting colored disks.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 3 بطاقة لهذه الصفحة
ما هو الغرض من استخدام كتلة 'تكرار حتى' مع شرط 'العين الأمامية تستشعر أحمر' في المقطع البرمجي الرئيسي للروبوت؟
- أ) لجعل الروبوت يتوقف فوراً عند رؤية أي لون.
- ب) لجعل الروبوت يستمر في التنقل والتعامل مع الأقراص الملونة حتى يصل إلى الهدف النهائي (اللون الأحمر).
- ج) لتغيير اتجاه الروبوت تلقائياً عند استشعار اللون الأزرق.
- د) لإعادة تشغيل البرنامج من البداية عند استشعار اللون الأخضر.
الإجابة الصحيحة: b
الإجابة: لجعل الروبوت يستمر في التنقل والتعامل مع الأقراص الملونة حتى يصل إلى الهدف النهائي (اللون الأحمر).
الشرح: 1. كتلة 'تكرار حتى' تنشئ حلقة تكرارية. 2. الشرط 'العين الأمامية تستشعر أحمر' يعني أن الحلقة ستستمر في تنفيذ الأوامر داخلها. 3. بمجرد استشعار اللون الأحمر، يتوقف التكرار ويخرج البرنامج من الحلقة. 4. هذا يسمح للروبوت بالاستمرار في مهمته (التنقل والتعامل مع الأقراص) حتى تحقيق الهدف.
تلميح: فكر في وظيفة الحلقات التكرارية في البرمجة وكيفية استخدامها للتحكم في تنفيذ الأوامر بناءً على شرط معين.
التصنيف: مفهوم جوهري | المستوى: متوسط
ما هو التسلسل الصحيح للمقطع البرمجي الرئيسي الذي يجعل الروبوت يتنقل في الملعب باستخدام العناصر المخصصة؟
- أ) عندما بدأت → Route after blue disk → Route after green disk → تحرك إلى الأمام → أوقف القيادة.
- ب) تكرار حتى (العين الأمامية تستشعر أحمر) → عندما بدأت → تحرك إلى الأمام → Route after green disk → أوقف القيادة.
- ج) عندما بدأت → تحرك إلى الأمام → تكرار حتى (العين الأمامية تستشعر أحمر) → Route after green disk → Route after blue disk → أوقف القيادة.
- د) تحرك إلى الأمام → عندما بدأت → Route after green disk → تكرار حتى (العين الأمامية تستشعر أحمر) → أوقف القيادة.
الإجابة الصحيحة: c
الإجابة: عندما بدأت → تحرك إلى الأمام → تكرار حتى (العين الأمامية تستشعر أحمر) → Route after green disk → Route after blue disk → أوقف القيادة.
الشرح: 1. يبدأ البرنامج بكتلة 'عندما بدأت' لبدء التنفيذ. 2. 'تحرك إلى الأمام' لبدء الحركة. 3. تدخل في حلقة 'تكرار حتى' تستمر طالما لم يستشعر الأحمر. 4. داخل الحلقة، يتم تنفيذ العناصر المخصصة للتعامل مع الأقراص. 5. بعد الخروج من الحلقة (عند استشعار الأحمر)، يتم تنفيذ 'أوقف القيادة'.
تلميح: تذكر أن البرنامج يبدأ بحدث، ثم حركة أولية، ثم حلقة تحتوي على الأوامر المتكررة، وينتهي بإيقاف الحركة.
التصنيف: صيغة/خطوات | المستوى: متوسط
في سياق برمجة الروبوت، ما هي وظيفة العناصر البرمجية المخصصة مثل 'Route after green disk' و 'Route after blue disk' داخل حلقة التكرار؟
- أ) قياس سرعة الروبوت وتعديلها تلقائياً.
- ب) إعادة تعيين موقع الروبوت إلى نقطة البداية.
- ج) احتواء التسلسل المنطقي للتعامل مع الأقراص الملونة (الأخضر والأزرق) التي يواجهها الروبوت أثناء تنقله.
- د) تغيير لون الروبوت ليتناسب مع لون القرص الذي يستشعره.
الإجابة الصحيحة: c
الإجابة: احتواء التسلسل المنطقي للتعامل مع الأقراص الملونة (الأخضر والأزرق) التي يواجهها الروبوت أثناء تنقله.
الشرح: 1. العناصر المخصصة هي وحدات برمجية تم إنشاؤها مسبقاً. 2. تحتوي على مجموعة من الأوامر (مثل الحركة والاستدارة) المصممة خصيصاً. 3. وظيفتها هي التعامل مع موقف محدد (مثل المرور بقرص أخضر أو أزرق). 4. وضعها داخل الحلقة يسمح للروبوت بتنفيذها بشكل متكرر حسب الحاجة.
تلميح: فكر في مفهوم 'التجريد' في البرمجة، حيث يتم تجميع مجموعة من الأوامر تحت اسم واحد لتبسيط البرنامج الرئيسي.
التصنيف: مفهوم جوهري | المستوى: صعب