ورقاتورقات تعليمية
تسجيل الدخولإنشاء حساب
درس

شرح درس الحركة التلقائية اول متوسط الفصل الثاني

الحركة التلقائية أن يقرأ الروبوت مستشعراته ويقرر بنفسه ماذا يفعل، بدل أن ننفذ له قائمة حركات ثابتة، وذلك باستخدام الحلقات والشروط.

المرحلة
المتوسطة
المادة
المهارات الرقمية
وقت القراءة
15 دقائق
الاختبار
متاح

🎯أهداف الدرس

  • يشرح معنى الحركة التلقائية ومتى يتخذ الروبوت قراره بنفسه.
  • يستخدم ⁦while True:⁩ و⁦if⁩ مع مستشعر المسافة.
  • يستخدم ⁦front_distance.get_distance(MM)⁩ لقراءة المسافة.
  • يكتب برنامجًا يوقف الروبوت قبل الجدار.
  • يوضح فكرة تجنب العوائق ويقارنها بالسيارات ذاتية القيادة.

💡المفهوم الأساسي

الحركة التلقائية أن يقرأ الروبوت مستشعراته ويقرر بنفسه ماذا يفعل، بدل أن ننفذ له قائمة حركات ثابتة، وذلك باستخدام الحلقات والشروط.

شرح الدرس

حين تمشي في الممر لا تعد خطواتك قبل الباب، بل تنظر وتتوقف قبل أن تصطدم. الروبوت التلقائي يفعل مثلك باستخدام مستشعراته.

لماذا الحركة التلقائية؟

لو برمجنا الروبوت ليتحرك ٥٠٠ مليمتر ثم ظهر عائق في ٣٠٠ فسيصطدم به. أما إن ربطنا الحركة بقراءة المستشعر فيتوقف في الوقت المناسب مهما كان موضع العائق.

مستشعر المسافة

الأمر ⁦front_distance.get_distance(MM)⁩ يعيد المسافة بالمليمتر بين مقدمة الروبوت وأقرب جسم أمامه. تكون القيمة كبيرة عندما يكون الطريق مفتوحًا وصغيرة عندما يقترب الجدار.

الشرط if

if front_distance.get_distance(MM) < 100:
    drivetrain.stop()
  • الشرط: هل المسافة أقل من ١٠٠ مليمتر؟
  • النتيجة: إن تحقق الشرط ينفذ السطر المزاح، وهو إيقاف الروبوت.
  • الإزاحة: الأربع مسافات قبل ⁦drivetrain.stop()⁩ تعني أنه يتبع الشرط.

الحلقة while True

الحلقة ⁦while True:⁩ تكرر الأوامر التي تحتها باستمرار حتى نخرج منها بالأمر ⁦break⁩. وبما أن الروبوت يحتاج إلى فحص المستشعر مرة بعد مرة فنضع الفحص داخلها.

التوقف قبل الجدار

drivetrain.drive(FORWARD)
while True:
    if front_distance.get_distance(MM) < 100:
        drivetrain.stop()
        break
    wait(0.1, SECONDS)
  • السطر الأول: يبدأ الروبوت التحرك للأمام.
  • الحلقة: تفحص المسافة كل عُشر ثانية.
  • الشرط: عندما تقل المسافة عن ١٠٠ مليمتر يقف الروبوت ثم يخرج البرنامج من الحلقة بالأمر ⁦break⁩.

تجنب العوائق

نريد أن يستمر الروبوت في السير بعد لقاء الجدار فيدور بدل أن يقف:

drivetrain.drive(FORWARD)
while True:
    if front_distance.get_distance(MM) < 100:
        drivetrain.turn_for(RIGHT, 90, DEGREES)
        drivetrain.drive(FORWARD)
    wait(0.1, SECONDS)

عند رؤية الجدار يدور الروبوت إلى اليمين ويكمل السير. فهو يتخذ القرار بنفسه دون تدخل منا.

مقارنة بالسيارات ذاتية القيادة

السيارة ذاتية القيادة فكرتها قريبة جدًا: مستشعرات تقيس المسافات وتقرر التوقف أو الدوران، لكنها أعقد بكثير وتستخدم كاميرات وخوارزميات أذكى. ما نتعلمه الآن هو أساس الفكرة.

وتختلف الأوامر قليلًا بين إصدارات المنصة، فراجع ما يظهر لك.

تذكّر

اقرأ المستشعر، وقارن بالشرط، ثم قرر الفعل، وكرر ذلك في الحلقة.

فائدة

اختر مسافة أمان مناسبة، فإن كانت صغيرة جدًا قد يصطدم الروبوت بسبب تأخر التوقف.

نشاط تعليمي

النشاط الأول

لماذا نضع فحص المستشعر داخل الحلقة؟

الإجابة

لأن الروبوت يحتاج إلى فحص المسافة باستمرار أثناء حركته.

الهدف

أن يفسر الطالب دور الحلقة.

التطبيق الثاني

عدّل برنامج التوقف ليقف الروبوت قبل الجدار بمسافة ٢٠٠ مليمتر.

الإجابة

نغير الشرط إلى ⁦front_distance.get_distance(MM) < 200⁩.

الهدف

أن يعدل الطالب قيمة الشرط.

الموقف الثالث

فسّر باختصار كيف تتخذ سيارة ذاتية القيادة قرار التوقف أمام عائق.

الإجابة

مستشعراتها تقيس المسافة فإذا قلت عن حد معين قررت التوقف أو الدوران.

الهدف

أن يربط الطالب الفكرة بالتطبيق الواقعي.

ملاحظات مهمة

  1. 1الإزاحة (٤ مسافات) ضرورية في بايثون لتحديد ما يتبع الشرط والحلقة.
  2. 2⁦while True:⁩ حلقة لا تنتهي إلا بـ⁦break⁩ أو بإيقاف البرنامج.
  3. 3ضع ⁦wait⁩ قصيرة داخل الحلقة حتى لا تُرهق المنصة.
  4. 4اختبر برنامجك في ملاعب مختلفة.

أخطاء شائعة

  • ✗ خطأنسيان النقطتين ⁦:⁩ بعد ⁦if⁩ أو ⁦while True⁩.
    ✓ الصواب: اكتبهما دائمًا.
  • ✗ خطأكتابة ⁦=⁩ في الشرط بدل ⁦<⁩.
    ✓ الصواب: استخدم ⁦<⁩ أو ⁦>⁩ أو ⁦==⁩ للمقارنة.
+عرض جميع الأخطاء (3) ←إخفاء الأخطاء الإضافية
  • ✗ خطأوضع ⁦drivetrain.stop()⁩ خارج الحلقة فلا يصل البرنامج إليه.
    ✓ الصواب: ضعه داخل الشرط في الحلقة.

ملخص الدرس

  • الحركة التلقائية قرار من الروبوت بحسب قراءة المستشعر.
  • ⁦front_distance.get_distance(MM)⁩ تعيد المسافة بالمليمتر.
  • ⁦if⁩ تنفذ أمرًا عند تحقق شرط، و⁦while True:⁩ تكرر الفحص.
  • تجنب العوائق فكرة تشبه السيارات ذاتية القيادة.

هل أتقنت الدرس؟اختبر نفسك من خلال اختبار قصير من عدة أسئلة.

حزمة الدرس