يحتوي VEX IQ Smart Motor على العديد من الوظائف التي يمكن استخدامها عند البرمجة في VEXcode IQ. يمكن أن يكون هذا مفيدًا عند برمجة الأذرع والمخالب والمآخذ بالإضافة إلى محركات الأقراص والآليات الأخرى التي تم إنشاؤها باستخدام VEX IQ. إن فهم كيفية ترميز المحركات سيساعد في تخفيف المشكلات مثل توقف المشاريع أو عدم عمل المحركات على النحو المنشود.
مُشفِّر المحرك
لا يقوم محرك VEX IQ الذكي بتحويل الطاقة الكهربائية إلى طاقة ميكانيكية فحسب، كما تفعل معظم المحركات، ولكنه يتمتع أيضًا بميزات لا تمتلكها معظم المحركات، مما يجعله "ذكيًا". إحدى ميزاته الرئيسية هي التشفير التربيعي. يتم تثبيت جهاز التشفير هذا على الجزء الداخلي للمحرك من أجل تتبع سرعة و/أو موضع عمود المحرك.
تتيح التقارير الواردة من برنامج تشفير VEX IQ Smart Motor معرفة:
- اتجاه دوران المحرك (للأمام/للخلف أو مفتوح/مغلق)
- موضع المحرك ومقدار دوران المحرك وموضعه (إما بالتناوب أو بالدرجات)
- سرعة دوران المحرك (استنادًا إلى موضع جهاز التشفير مع مرور الوقت)
نظرًا لأن جهاز التشفير يبلغ عن حالات المحرك، فيمكن استخدامه في الحسابات التي تتم خلف الكواليس لجعل العديد من أوامر الحركة والاستشعار تعمل ضمن VEXcode IQ.
ترميز المحركات الفردية
قبل البدء في ترميز المحركات الذكية الفردية في VEXcode IQ، تحتاج إلى تكوين المحرك. تُستخدم المحركات الفردية بشكل متكرر لآليات إضافية مثل المآخذ والأذرع والمخالب. ومع ذلك، فإن جميع المعلومات لا تزال تنطبق على الآليات الأخرى التي تستخدم المحركات الفردية.
اتبع الخطوات المذكورة في هذه المقالة لتكوين المحرك الفردي الخاص بك في VEXcode IQ.
مع تكوين محرك واحد، ستظهر أوامر التحكم في هذا المحرك في صندوق الأدوات. ستلاحظ وجود أنواع مختلفة من الأوامر: الانتظار وعدم الانتظار.
أوامر الانتظار مقابل أوامر عدم الانتظار
لاحظ أن جميع الصور هنا تظهر الكتل. يمكن إعادة بناء كل هذه المشاريع بلغة Python أو C++ وتحتوي على نفس وظيفة الكتل.
أوامر الانتظار تمنع المشروع من الاستمرار حتى يكتمل السلوك. يتضمن ذلك أوامر مثل [Spin for] و[Spin to Position].
يستخدم المشروع الموضح هنا قالب Clawbot (محركين) وجميع الأوامر في انتظاره. لذلك، في السلسلة، سيغلق المحرك المخلبي 90 درجة، وسيتحرك الروبوت في الاتجاه المعاكس، ثم يدور الذراع لأعلى للوصول إلى الوضع 180 درجة.
وفي المقابل هناك أوامر غير الانتظار. سيقوم أمر عدم الانتظار بتنفيذ السلوك إلى أجل غير مسمى أو حتى يُطلب منه التغيير إلى سلوك آخر. وتشمل هذه الأوامر مثل [Spin].
يستخدم المشروع الموضح هنا BaseBot مع إضافة كمية. هنا سيبدأ محرك السحب في الدوران. أمر [الانتظار] هو أمر انتظار، لذا سيستمر الإدخال في الدوران حتى انتهاء ثانيتين، ثم ينتقل إلى الأمر التالي في المشروع وهو أمر [إيقاف]. ثم يتوقف المحرك عن الدوران.
مهلة المحرك
عند ترميز المحرك كجزء من ذراع أو مخلب، من المهم أن تتذكر الفرق بين الكتل المنتظرة وغير المنتظرة وكيف ستؤثر تلك الكتل على حركة الروبوت الخاص بك. تسمح لك مهلة المحرك بتعيين حد زمني للمحرك للوصول إلى الموضع المستهدف المقصود. إذا لم يصل إلى هذا الوضع عند انتهاء الوقت، فسيتوقف المحرك عن محاولة الدوران وسينتقل المشروع إلى الأمر التالي.
في هذا المثال، تم ضبط مهلة المحرك على ثانيتين. إذا لم يقترب المخلب من 90 درجة خلال ثانيتين، فسيتوقف المحرك عن الدوران عند علامة الثانيتين ثم ينتقل إلى الأمر التالي ويتحرك للأمام.
إذا لم تكن متأكدًا من المسافة التي يجب أن تتحرك بها المحرك، فاستخدم لوحة أجهزة الاستشعار. تُبلغ لوحة القيادة عن موضع المحرك بالدرجات والثورات، لذا عندما تقوم بتحريك المحرك (مثل فتح وإغلاق المخلب) ستتغير الأرقام. استخدم هذا الاختبار لتحديد عدد الدرجات أو الدورات اللازمة لإغلاق المخلب، أو رفع الذراع، أو تدوير المدخول، وما إلى ذلك.
راجع هذه المقالات للتعرف على كيفية استخدام لوحة معلومات المستشعر.
ترميز المحركات الذكية كجزء من نظام الدفع
قبل البدء في ترميز مجموعة نقل الحركة في VEXcode IQ، تحتاج إلى تكوين مجموعة نقل الحركة بما في ذلك المحركات المستخدمة. يتم تكوين المحركات داخل مجموعة نقل الحركة لضمان التحكم فيها بنفس الأوامر مثل [Drive] و[Drive for].
أوامر الانتظار وعدم الانتظار
عند برمجة مجموعة نقل الحركة، تتوفر أوامر الانتظار وعدم الانتظار للتحكم في حركة الروبوت.
أوامر الانتظار تمنع المشروع من الاستمرار حتى يكتمل السلوك. تتضمن هذه الأوامر أوامر مثل [Drive for] [Turn for] و[Turn to Head].
يستخدم المشروع الموضح هنا قالب Clawbot (محركين) وجميع الأوامر في انتظاره. لذا، في السلسلة، سيتقدم الروبوت للأمام لمسافة 200 ملم ثم يستدير لليمين، كل ذلك باستخدام مجموعة نقل الحركة.
وفي المقابل هناك أوامر غير الانتظار. سيقوم أمر عدم الانتظار بتنفيذ السلوك إلى أجل غير مسمى أو حتى يُطلب منه التغيير إلى سلوك آخر. تتضمن هذه الأوامر مثل [Drive].
يستخدم المشروع الموضح هنا BaseBot. هنا سيتحرك الروبوت للأمام إلى أجل غير مسمى حتى يتم الضغط على مفتاح المصد. ثم ينتقل المشروع إلى الأمر التالي ويتوقف الروبوت عن القيادة وينعطف يمينًا بمقدار 90 درجة.