أمثلة مضمنة#

تسرد هذه الصفحة المشاريع النموذجية المضمنة التي توضح كيفية التحكم في روبوت VEX AIM Coding باستخدام لغة بايثون عبر WebSocket.

أساسي#

ستجد داخل الدليل الأساسي basic:

اسم الملف

وصف

ai_vision_for_loops.py

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

angled_moving.py

يقوم هذا المشروع بتحريك الروبوت بزوايا 45 درجة وبسرعة 100% لرسم شكل ماسي.

colorful_square.py

يجعل هذا المشروع الروبوت يتحرك في مسار مربع، ويغير لون مصباح LED عند كل لون.

conditional_kicker.py

سيُتيح هذا المشروع لروبوت AIM الدوران 180 درجة إلى اليمين. إذا كان الروبوت يحمل برميلًا برتقاليًا، فسيركله؛ وإلا فلن يفعل شيئًا.

creating_timeouts.py

سيدور هذا المشروع في مكانه أثناء البحث عن برميل برتقالي. إذا لم يتم العثور على أي برميل خلال 10 ثوانٍ، فسيصدر صوت “فشل” ويتوقف البحث.

emoji_reaction.py

يعرض هذا المشروع رمزًا تعبيريًا سعيدًا عندما تكون زاوية الروبوت مستقرة، ورمزًا تعبيريًا متفاجئًا عند إمالته.

emoji_touch.py

يقوم هذا المشروع بتغيير الرموز التعبيرية على الشاشة بناءً على عدد مرات الضغط على الشاشة، حيث يعرض تعبيرًا مختلفًا لكل ضغطة.

get_blue_barrel.py

سيبحث هذا المشروع عن البرميل الأزرق، وينتقل إليه، ويحتفل بمجرد حصوله عليه.

led_color_cycle.py

يقوم هذا المشروع بالتناوب بين كل لون من ألوان مصابيح LED، مع التوقف لمدة ثانية واحدة بين كل لون.

level_detector.py

في هذا المشروع، ستظهر الشاشة بخلفية خضراء مع كلمة “مسطح” عندما يكون الروبوت غير مائل. أما إذا مال الروبوت، فستتحول الشاشة إلى اللون الأحمر وتظهر كلمة “مائل”.

move_and_stop.py

يقوم هذا المشروع بتحريك الروبوت للأمام مسافة 300 مم ويصدر صوت “الاكتمال” بمجرد أن يكمل حركته.

move_to_apriltag.py

يقوم هذا المشروع بتدوير الروبوت حتى يكتشف معرف AprilTag 1، ثم يتحرك نحوه.

multi_step_pickup.py

يتجه هذا المشروع يمينًا حتى يتم العثور على برميل برتقالي، ثم يتحرك للخلف ويضعه في مكانه.

musical_thread.py

سيقوم هذا المشروع بتشغيل أغنية (باستخدام النوتات الموسيقية) في خيط واحد أثناء تشغيلها في خيط آخر في نفس الوقت.

object_detection_alert.py

سيعمل هذا المشروع على تحريك روبوت AIM للأمام حتى يتم العثور على أي حمولة. عند اكتشافها، سيصدر الروبوت صوت تنبيه، ويتوقف عن الحركة تمامًا.

obstacle_avoidance.py

سيُحرك هذا المشروع روبوت AIM للأمام حتى يعثر على أي حمولة. وعند اكتشافها، سينعطف الروبوت يمينًا بزاوية 45 درجة.

screen_drawing.py

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

sensor_monitor.py

سيقوم هذا المشروع بطباعة قيم المؤقت والاتجاه وزاوية الانعطاف على شاشة الروبوت.

tap_to_start.py

ينتظر هذا المشروع نقرة على الشاشة اللمسية قبل أن يتحرك للأمام مسافة 200 مم ويعرض رمزًا تعبيريًا في النهاية.

timing_events.py

يبدأ هذا المشروع بالتحرك للأمام ولكنه يتوقف تلقائيًا بمجرد مرور خمس ثوانٍ، ثم يعرض عبارة “انتهى الوقت!” على الشاشة.

متقدم#

ستجد داخل الدليل advanced ما يلي:

اسم الملف

وصف

aim_example_base.py

يوفر AimExample فئة أساسية، تقوم بتحليل الوسائط، وتحاول العثور على عنوان IP الخاص بـ AIM Robot، وتقوم بتهيئة aim.Robot مثيل.

fpv.py

يُمكّن هذا المشروع المستخدم من التحكم في الروبوت أثناء بث الصور من الكاميرا. تضيء مصابيح LED باللون الأخضر عندما يتحرك الروبوت، وباللون الأحمر عندما يتوقف.

multiple_robots.py

يقوم هذا المشروع بجعل روبوتين يتحركان في مسار مربع، مع تغيير لون مصباح LED عند كل لون.

play_sounds.py

سيقوم الروبوت بتشغيل ملف صوتي محلي، ثم سيعزف بعض النوتات الموسيقية من سيمفونية بيتهوفن رقم 5.

save_jpg.py

احفظ الصورة بصيغة JPEG في نظام الملفات المحدد باسم الملف، والاسم الافتراضي هو aim_img.jpg

stream_video.py

يتم عرض دفق صور JPEG باستخدام مكتبة OpenCV على الشاشة.