الدرس 3: استخدام المستشعرات والمغناطيس الكهربائي لالتقاط القرص
استخدام مستشعر العين السفلي مع المغناطيس الكهربائي
سيستخدم هذا الدرس ملاحظات المستشعر المبلغ عنها لحل نفس التحدي الذي يواجه الدرس 2. سيقوم روبوت الواقع الافتراضي بالتقاط ونقل أول قرص أزرق إلى الهدف الأزرق.
- ابدأ مشروعًا جديدًا وحدد Disk Mover Playground عند مطالبتك بذلك.

-
اسم المشروع Unit8Lesson3.

-
أضف أربعة تعليقات إلى المشروع. أضف تعليقات لكل خطوة من الخطوات اللازمة لروبوت الواقع الافتراضي للقيادة إلى القرص الأول، والتقاطه، وإعادته إلى الهدف الأزرق.
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، مللي ثانية) -
سيتم تشغيل الأوامر الموجودة داخل الحلقة و عندما لا يكتشف روبوت الواقع الافتراضي أي كائن. للوصول إلى أحد الأقراص، سيحتاج روبوت الواقع الافتراضي إلى التقدم إلى الأمام حتى يتم اكتشاف القرص.

-
اسحب أو اكتب الأمر 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 ، ثم قم بتشغيل المشروع.
-
يتحرك روبوت الواقع الافتراضي للأمام حتى يتم اكتشاف القرص الأزرق الأول بواسطة مستشعر العين السفلي، ويتوقف عن القيادة، وينشط المغناطيس الكهربائي لالتقاط القرص.

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

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