استخدام مستشعر العين في VEXcode VR مع Python

يحتوي VEX VR Robot على العديد من أجهزة الاستشعار، بما في ذلك جهازي استشعار للعين.


أجهزة استشعار العين على روبوت الواقع الافتراضي

الجبهة إلى أسفل العين

يحتوي VR Robot على مستشعرين للعين، أحدهما متجه للأمام والآخر متجه للأسفل. يمكن لأجهزة الاستشعار اكتشاف ما إذا كان هناك كائن موجود وكذلك اكتشاف اللون (الأحمر والأخضر والأزرق ولا شيء).

Eye_sensor_dashboard.png

يمكن عرض قيم مستشعر العين على لوحة المعلومات في VEXcode VR. لمعرفة المزيد حول لوحة المعلومات، قم بعرض هذه المقالة.

Screen_Shot_2022-04-20_at_1.41.35_PM.png

يمكن عرض قيم مستشعر العين على وحدة تحكم الشاشة في VEXcode VR. لمعرفة المزيد حول وحدة التحكم بالشاشة، قم بعرض هذه المقالة.


الأوامر المستخدمة مع أجهزة استشعار العين

أمر استشعار العين بالقرب من الكائن

لقطة الشاشة 26-07-2023 الساعة 11.08.46 صباحًا.png

 

يُبلغ الأمر مستشعر العينبالقرب من الكائن ما إذا كان مستشعر العين قريبًا بدرجة كافية من كائن ما لاكتشاف اللون (أحمر، أخضر، أزرق، لا شيء). يحتوي مستشعر العين الأمامية ومستشعر العين السفلية على أوامر خاصة بالأشياء القريبة.

near_object_monitor_console.png

يقوم الأمر مستشعر العينبالقرب من الكائن بإرجاع قيمة منطقية تُبلغ عن True عندما يكون مستشعر العين قريبًا من كائن له ألوان يمكن اكتشافها، ويُبلغ عن False عندما لا يكون قريبًا بما يكفي لـ كائن بألوان يمكن اكتشافها.

مستشعر العين اللون الأمر

لقطة الشاشة بتاريخ 26-07-2023 الساعة 11.09.02 صباحًا.png

يقوم الأمرEye Sensor color بالإبلاغ عما إذا اكتشف Eye Sensor لونًا محددًا.

color_list.png

يتم تعيين اللون الذي يبحث عنه مستشعر العين كمعلمة للأمر. يستطيع كلا مستشعري العين اكتشاف اللون الأحمر أو الأخضر أو ​​الأزرق أو لا شيء.

Sensor_color_monitor_console.png

يقوم الأمر Eye Sensor color بإرجاع قيمة منطقية تُبلغ True عندما يكتشف Eye Sensor اللون المحدد، ويُبلغ False عندما لا يكتشف اللون المعين كمعلمة.


الاستخدامات الشائعة لمستشعر العين

drive_to_blue_disk.png

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

يمكن لمستشعرات العين اكتشاف لون كائن بالقرب من المستشعر، مثل الأقراص الملونة في Disk Mover Playground أو الحدود الحمراء حول Castle Crasher Playground. يعد هذا مفيدًا إذا كنت تريد أن يقوم VR Robot بفرز الكائنات ذات الألوان المختلفة، أو القيادة إلى كائن ملون بشكل محدد، أو اكتشاف لون الكائنات أثناء مرورها بجوار المستشعر.

def main():
while not down_eye.detect(BLUE):
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
Magnet.energize(BOOST)

لاستخدام المثال أعلاه، انسخ هذا الرمز إلى VEXcode VR وقم بتشغيل المشروع على Disk Mover Playground.

front_eye_near_maze_wall.png

يمكن لروبوت الواقع الافتراضي استخدام مستشعرات العين لبدء سلسلة من السلوكيات عندما يكون في المكان الصحيح للقيام بذلك. على سبيل المثال، يمكن لروبوت الواقع الافتراضي القيادة للأمام حتى يكتشف وجوده بالقرب من جسم ما، مثل الحائط، ثم الدوران بزاوية 90 درجة، أو القيادة في الاتجاه المعاكس حتى لا يصطدم بجسم ما، مثل قلعة أو قرص أو جدار.

def main():
بينما لا يوجد front_eye.near_object():
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()

لاستخدام المثال أعلاه، انسخ هذا الرمز إلى VEXcode VR وقم بتشغيل المشروع على Wall Maze Playground.

stop_driving_at_red_border.png

يمكن لروبوت الواقع الافتراضي استخدام مستشعرات العين للقيادة نحو جسم أو سطح حتى يصبح ضمن مسافة محددة، دون لمسه. يمكن استخدام هذا للتأكد من عدم سقوط VR Robot من الملعب أو اصطدامه بالجدران.

def main():
drivetrain.drive_for(FORWARD, 300, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
بينما لا down_eye.detect(RED):
drivetrain.drive(FORWARD)
انتظر (5, MSEC) )
نظام الدفع.توقف()

لاستخدام المثال أعلاه، انسخ هذا الرمز إلى VEXcode VR وقم بتشغيل المشروع على Castle Crasher Playground.


مشروع مثال لمستشعر العين

Driving_to_green_disk.png

في المثال التالي، سيتقدم VR Robot للأمام حتى يكتشف مستشعر العين الأمامية جسمًا أخضر اللون، ثم يتوقف وينتظر، قبل القيادة للخلف. لاحظ أنه في لوحة المعلومات، تُبلغ قيم مستشعر العين الأمامية True أنه تم اكتشاف كائن ما، وأن لون هذا الكائن (القرص) أخضر.

def main():
drivetrain.drive(FORWARD)
بينما صحيح:
إذا front_eye.detect(GREEN):
drivetrain.stop()
انتظر (2، SECONDS)
drivetrain.drive_for(REVERSE، 200، MM)
انتظر (5، مللي ثانية)

لاستخدام المثال أعلاه، انسخ هذا الرمز إلى VEXcode VR وقم بتشغيل المشروع على Disk Maze Playground.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: