Skip to main content

الدرس 3: استخدام المستشعرات والمغناطيس الكهربائي لالتقاط القرص

استخدام مستشعر العين السفلي مع المغناطيس الكهربائي

سيستخدم هذا الدرس ملاحظات المستشعر المبلغ عنها لحل نفس التحدي الذي يواجه الدرس 2. سيقوم روبوت الواقع الافتراضي بالتقاط ونقل أول قرص أزرق إلى الهدف الأزرق.

  • ابدأ مشروعًا جديدًا وحدد Disk Mover Playground عند مطالبتك بذلك. مربع تحديد ساحة تشغيل محرك القرص، يقرأ محرك القرص في الجزء السفلي.
  • اسم المشروع Unit8Lesson3.شريط أدوات VEXcode VR مع تمييز مربع اسم المشروع. اسم المشروع هو الوحدة 8 الدرس 3.

     

  • أضف أربعة تعليقات إلى المشروع. أضف تعليقات لكل خطوة من الخطوات اللازمة لروبوت الواقع الافتراضي للقيادة إلى القرص الأول، والتقاطه، وإعادته إلى الهدف الأزرق.

    def main ():
        # 1. قم بالقيادة إلى القرص الأول
    
        رقم 2. التقط القرص الأول
    
        رقم 3. انطلق نحو الهدف
    
        رقم 4. أسقط القرص في المرمى

     

  • اسحب أو اكتب حلقة while مع شرط وليس في مساحة العمل أسفل التعليق الأول، بحيث يبدو مشروعك مثل هذا:

    def main ():
        #1. قم بالقيادة إلى القرص الأول
        بدون شرط:
            انتظر(5، مللي ثانية)
    
        # 2. التقط القرص الأول
    
        رقم 3. انطلق نحو الهدف
    
        رقم 4. أسقط القرص في المرمى
  • يشير  الأمر down_eye.near_object إلى صحيح عندما يكتشف مستشعر العين السفلية على روبوت الواقع الافتراضي قرصًا ملونًا في ملعب Disk Mover. توجد الأقراص على أرضية الملعب ولا يمكن اكتشافها بواسطة مستشعر العين الأمامية، وبالتالي فإن مستشعر العين السفلية سوف يكتشف الأقراص. اسحب أو اكتب الأمر down_eye.near_object كشرط للحلقة while ، بحيث يبدو القسم الأول من مشروعك كما يلي:

    def main ():
        #1. محرك الأقراص إلى القرص الأول
        في حين لاdown_eye.near_object ():
            انتظر(5، مللي ثانية)
  • سيتم تشغيل الأوامر الموجودة داخل الحلقة  و عندما لا يكتشف روبوت الواقع الافتراضي أي كائن. للوصول إلى أحد الأقراص، سيحتاج روبوت الواقع الافتراضي إلى التقدم إلى الأمام حتى يتم اكتشاف القرص.

    منظر خلفي لملعب Disk Mover، يظهر روبوت VR في موقع البداية، والأقراص الزرقاء الثلاثة على التوالي تمتد على طول الملعب أمام الروبوت.
  • اسحب أو اكتب الأمر drive داخل الحلقة while ، بحيث يبدو قسم التعليقات الأول للمشروع مثل هذا:

    	#1. محرك الأقراص إلى القرص الأول
        في حين لاdown_eye.near_object (): drivetrain.drive (
            إلى الأمام)
            انتظر(5، مللي ثانية)
  • عند اكتشاف قرص، سيحتاج روبوت الواقع الافتراضي إلى التوقف عن القيادة لالتقاطه. اسحب أو اكتب الأمر stop خارج حلقة التكرار while ، بحيث يبدو قسم التعليقات الأول للمشروع كما يلي:

    	#1. محرك الأقراص إلى القرص الأول
        في حين لاdown_eye.near_object (): drivetrain.drive
            (إلى الأمام)
            انتظر(5، مللي ثانية
        )drivetrain.stop ()
  • لاحظ أن الأوامر drive و wait مسننة أسفل رأس الحلقة while ، مما يعني أن الأوامر موجودة داخل الحلقة . يمكن أن يساعد الخط الرمادي أيضًا في الإشارة إلى الأوامر التي يتم إدخالها بشكل صحيح وداخل الحلقة. إن الأمر stop يتوافق مع رأس الحلقة، مما يعني أن الأمر stop يقع خارج الحلقة. تأكد من أن الأوامر مزودة بمسافة بادئة بشكل صحيح، أو قد لا يعمل المشروع كما هو متوقع. 
  • الآن، أطلب من روبوت الواقع الافتراضي التقاط القرص باستخدام المغناطيس الكهربائي عن طريق سحب أو كتابة الأمر energize بعد التعليق الثاني، بحيث يبدو القسم الثاني من المشروع كما يلي:

    	# 2. التقط أول مغناطيس للقرص. قم
        بتنشيط(تعزيز)
  • افتح نافذة الملعب إذا لم تكن مفتوحة بالفعل. تأكد من فتح Disk Mover Playground ، ثم قم بتشغيل المشروع.
  • يتحرك روبوت الواقع الافتراضي للأمام حتى يتم اكتشاف القرص الأزرق الأول بواسطة مستشعر العين السفلي، ويتوقف عن القيادة، وينشط المغناطيس الكهربائي لالتقاط القرص.

    منظر جانبي لروبوت الواقع الافتراضي على الملعب في أول موقع قرص أزرق، مع توصيل القرص بالمغناطيس الكهربائي.

تدفق المشروع لالتقاط القرص الأول

لاحظ كيف تستخدم حلقة بينما مع شرط وليس ردود فعل المستشعر لالتقاط القرص الأول بنجاح:

  • يتحرك روبوت الواقع الافتراضي للأمام  بينما لا يكتشف مستشعر العين السفلية أي شيء.
  • بمجرد أن يكتشف مستشعر العين السفلية على روبوت الواقع الافتراضي جسمًا ما، ينتقل المشروع إلى الأمر التالي خارج حلقة بينما ويتوقف عن القيادة.
  • يستمر المشروع، لذلك يقوم روبوت الواقع الافتراضي بتنشيط الكهرومغناطيس لالتقاط القرص.
رسم تخطيطي لتدفق المشروع أعلاه، يوضح التدفق مع حلقة while. يظهر القسمان الأولان من المشروع إلى اليسار، وإلى اليمين، يحتوي القسم الأول على سهم دوري أحمر يوضح أنه في حين أن العين السفلية لا تكتشف كائنًا، فإن الروبوت سيقود إلى الأمام، حيث تفيد الحالة بأنها خاطئة. بعد ذلك، يشير السهم الأخضر الهابط بجانب أمر STOP إلى أنه عندما تكتشف العين السفلية كائنًا، سيخرج المشروع من الحلقة وسيتوقف الروبوت. بعد ذلك، يتحاذى سهم أخضر ثانٍ لأسفل مع القسم الثاني من المشروع، مما يشير إلى أنه سيتم تنشيط المغناطيس الكهربائي بعد ذلك.

قم باختيار الزر التالي لمواصلة بقية هذا الدرس.