استكشاف أخطاء أجهزة استشعار VEX V5 وإصلاحها

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

خطوات هذه العملية هي:

  1. حدد المشكلة
  2. تحقق من الأجهزة
  3. تحقق من البرامج
  4. تحليل وتطبيق البيانات

تحديد المشكلة

الخطوة الأولى لاستكشاف أخطاء المستشعر وإصلاحها هي تحديد المستشعر الذي يسبب المشكلة. قارن سلوك الروبوت الملاحظ مع سلوك الروبوت المقصود. هل السلوك الإشكالي ناتج عن جهاز استشعار؟ إذا كان الأمر كذلك، أي جهاز استشعار؟ إذا كنت بحاجة إلى مزيد من المعلومات لتحديد المستشعر الذي قد يكون سبب المشكلة، فاقرأ المقالة (المقالات) أدناه المتعلقة بأجهزة الاستشعار الموجودة على الروبوت الخاص بك.

مجسات VEX V5:

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


فحص الأجهزة

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

تحقق من موضع المستشعر

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

ابدأ بالنظر إلى مكان وجود المستشعر على الروبوت الخاص بك. هل تم حظر المستشعر بواسطة أي شيء، مثل جزء آخر من الروبوت الخاص بك؟ تأكد من أن المستشعر لديه المساحة اللازمة للعمل على النحو المنشود.

كما هو موضح هنا، يتمتع المستشعر البصري بخط رؤية واضح للكائن الذي يهدف إلى اكتشافه.

تحقق من اتصال الاستشعار

تظهر شاشة الدماغ في قائمة معلومات الجهاز التي تحتوي على قائمة بجميع المنافذ الذكية للدماغ والأجهزة المتصلة بها. يتم تمييز أيقونة المستشعر البصري في قائمة معلومات الجهاز للإشارة إلى أنه يمكن تحديدها لفتح قائمة معلوماتها.

اختبر وظائف المستشعر من خلال النظر في البيانات الواردة في شاشة الأجهزة على VEX V5 Brain. يمكن أن يساعدك هذا في التحقق من توصيل المستشعر وتشغيله. 

للوصول إلى شاشة الأجهزة، الخطوات الواردة في هذه المقالة. بمجرد فتح شاشة الأجهزة، تحقق مما إذا كان المستشعر مرئيًا في موقع المنفذ الصحيح وقم بالإبلاغ عن البيانات. هنا تم اكتشاف المستشعر البصري في Smart Port 11.

يظهر جهاز V5 Brain متصلاً ببطارية V5 وجهاز V5 Smart Motor. يتم توصيل كابل المحرك الذكي بأحد المنافذ الذكية للدماغ.وحدة المعالجة المركزية V5 مزودة بجهاز ثلاثي الأسلاك متصل بأحد منافذها ثلاثية الأسلاك.

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

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

يمكنك أيضًا محاولة تبديل المستشعر الذي تستخدمه بآخر لمعرفة ما إذا كان ذلك سيحل مشكلتك.

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


تحقق من البرامج

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

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

التحقق من البرامج الثابتة والتكوين

VEXcode V5 مع وحدة Brain متصلة وقائمة Brain المنسدلة مفتوحة، مما يشير إلى أنه يمكن استخدامه للتحقق من البرامج الثابتة لوحدة Brain. تم إدراج إصدار VEXos، ولا يظهر سوى زر "فرض التحديث".

ابدأ بالتأكد من أن برنامج V5 Brain الخاص بك محدّث.

راجع هذه المقالة لمعرفة المزيد حول تحديث البرامج الثابتة على V5 Brain.

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

الآن بعد أن تأكدت من توصيل جميع الأجهزة بشكل صحيح بالدماغ، تحقق من تكوين الجهاز في VEXcode V5.

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

قم بتغيير أي تكوينات غير صحيحة للجهاز.

تشغيل مشروع مثال

قائمة مشاريع VEXcode Blocks النموذجية تحتوي على مجموعة متنوعة من المشاريع عبر فئات مختلفة للاختيار من بينها. تم تسليط الضوء على فئة الاستشعار.

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

للحصول على مزيد من المعلومات حول مشاريع ونماذج V5 Blocks، هذه المقالة.

للحصول على مزيد من المعلومات حول مشاريع ونماذج بايثون V5، هذه المقالة.

للحصول على مزيد من المعلومات حول مشاريع ونماذج V5 C++، هذه المقالة.

VEXcode V5 مع مشروع مثال مفتوح من فئة الاستشعار، بما في ذلك مجموعة من كتل التعليمات البرمجية وملاحظة تتضمن وصفًا للمشروع. تم تمييز الملاحظة.

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

في مثال المشروع الموضح هنا، تشير الملاحظة إلى أن حالة مفتاح المصد أو مفتاح الحد الذي يتم الضغط عليه سيتم طباعتها على شاشة الدماغ. في هذه الحالة، يشير True إلى الضغط عليه ويشير الخطأ إلى عدم الضغط عليه. 

قم بتشغيل المشروع النموذجي ولاحظ سلوك الروبوت. ثم انظر إلى المشروع لترى كيف يتم استخدام بيانات المستشعر للتسبب في السلوكيات المرصودة. قد ترغب في تشغيل المشروع النموذجي عدة مرات للمساعدة في ذلك.

قد ترغب في محاولة إنشاء مشروعك المبسط لتطبيق ما تعلمته من نموذج المشروع على مهمتك.

استخدم أدوات VEXcode V5 الأخرى

هناك أيضًا أدوات واستراتيجيات يمكنك استخدامها لمساعدتك أثناء تعلم المزيد حول تشفير المستشعر الخاص بك في VEXcode V5. يمكنك التعرف على الكتل أو الأوامر الموجودة في Toolbox بشكل فردي باستخدام التعليمات. يمكنك أيضًا عرض بيانات المستشعر أثناء تشغيل المشروع لمعرفة المزيد حول ما يبلغ عنه المستشعر.

VEXcode V5 مع فتح قائمة المساعدة وتحديد كتلة الضغط على المصد. يتم عرض وصف للكتلة وكيفية استخدامها إلى جانب صور توضيحية لاستخداماتها.

المساعدة

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

قم بعرض هذه المقالة لمعرفة المزيد حول الوصول إلى التعليمات في كتل VEXcode V5.

عرض هذه المقالة لمعرفة المزيد حول الوصول إلى التعليمات في VEXcode V5 Python.

عرض هذه المقالة لمعرفة المزيد حول الوصول إلى التعليمات في VEXcode V5 C++.

بيانات الطباعة

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

لاحظ أنه في مشروع الكتل، يمكن استخدام كتلة قبعة {When started} منفصلة للحفاظ على جميع أوامر الطباعة منظمة في مجموعتها الخاصة.

كتل VEXcode V5
مشروع VEXcode V5 Blocks الذي يستخدم حلقة تكرارية دائمة لطباعة بيانات المستشعر إلى وحدة المعالجة المركزية أثناء تشغيل المشروع. الجزء الأول من المشروع يقول: عند البدء، اضبط الخط على Mono Extra Large في Brain. بعد ذلك، توجد كتلة حلقة لا نهائية تحتوي على 5 كتل بداخلها. تقرأ الكتل الموجودة في الحلقة مسح جميع الصفوف في Brain، وتعيين المؤشر إلى الصف 1 العمود 1 في Brain، ثم طباعة المسافة (مم): في Brain. بعد ذلك، اطبع المسافة بين الكائن Distance19 بالمليمتر على برنامج Brain، ثم ضع المؤشر على الصف التالي، ثم انتظر 0.5 ثانية.
فيكس كود V5 بايثون
# بداية كود المشروع

# زيادة حجم الخط لسهولة القراءة على شاشة Brain
brain.screen.set_font(FontType.MONO40)

while True:
  # كل تكرار للحلقة سيمسح الشاشة
  brain.screen.clear_screen()
    
  # بعد مسح الشاشة، أعد مؤشر الطباعة إلى الزاوية العلوية اليسرى
  brain.screen.set_cursor(1, 1)
  
  # اطبع تسمية وقيمة المسافة من الكائن على نفس السطر
  brain.screen.print("المسافة (مم): ")
  brain.screen.print(distance_19.object_distance(MM))
  brain.screen.next_row()
  wait(0.5, SECONDS)
فيكس كود V5 سي ++
int main() {

  // زيادة حجم الخط لتحسين القراءة على شاشة Brain
  Brain.Screen.setFont(mono40);
  
  while (true) {
  
    // كل تكرار للحلقة سيمسح الشاشة
    Brain.Screen.clearScreen();
    
    // بعد مسح الشاشة، أعد مؤشر الطباعة إلى الزاوية العلوية اليسرى
    Brain.Screen.setCursor(1, 1);
    
    // اطبع تسمية وقيمة المسافة من الكائن على نفس السطر
    Brain.Screen.print("المسافة (مم): %.2f", Distance19.objectDistance(mm));
    Brain.Screen.newLine();
    wait(0.5, seconds);
    
  }
  
}

الطباعة إلى V5 Brain مفيدة عندما تريد رؤية القيم تتغير أثناء تشغيل مشروع VEXcode V5. يمكن أن يساعدك هذا في تحديد القيم التي تم الإبلاغ عنها من المستشعر لاستخدامها كمعلمات في مشروعك. يمكن دمج أوامر الطباعة هذه في مشروع VEXcode V5 الذي قمت بإنشائه بالفعل حتى تتمكن من رؤية قيم المستشعر تتغير في أوقات محددة أثناء تحرك الروبوت. 

توضح هذه المشاريع النموذجية أعلاه كيفية طباعة القيم من مستشعر المسافة إلى دماغ V5. توضح التعليقات الموجودة في كل مشروع سير المشروع واستخدام كل أمر.

كتل VEXcode V5
مشروع VEXcode V5 Blocks الذي يستخدم حلقة تكرارية دائمة لطباعة بيانات المستشعر على وحدة التحكم أثناء تشغيل المشروع. الجزء الأول من المشروع يقول: عند بدء التشغيل، اضبط موضع الدوران 15 على 0 درجة. بعد ذلك، توجد كتلة حلقة لا نهائية تحتوي على 3 كتل بداخلها. تقرأ الكتل الموجودة في الحلقة print Position (degrees): on Console, print Rotation15 position in degrees on Console and set cursor to next row, and finally wait 0.5 seconds.
فيكس كود V5 بايثون
# بدء كود المشروع

# إعادة ضبط مستشعر الدوران إلى 0 عند بدء المشروع
rotation_15.set_position(0, DEGREES)

while True:
  # طباعة تسمية وقيمة المسافة من الجسم على نفس السطر
  print("الموضع (بالدرجات): ", end="")
  print(rotation_15.position(DEGREES))
  
  # انتظر حتى تتم طباعة القيمة، ثم كرر الحلقة
  wait(0.5, SECONDS)
فيكس كود V5 سي ++
int main() {

  // إعادة ضبط مستشعر الدوران إلى 0 عند بدء المشروع
  Rotation15.setPosition(0.0, degrees);
  
  while(true) {
  
    // طباعة تسمية وقيمة المسافة من الكائن على نفس السطر
    printf("Position (degrees): %.2f\n", Rotation15.position(degrees));
    
    // الانتظار حتى تتم طباعة القيمة، ثم تكرار الحلقة
    wait(0.5, seconds);
    
  }
  
}

يُنصح بالطباعة إلى وحدة التحكم في الطباعة في VEXcode V5 عند تشغيل مشروع VEXcode V5 حيث لا يتحرك الروبوت. يجب أن يظل V5 Brain متصلاً أثناء تنفيذ المشروع حتى يتمكن من الطباعة إلى وحدة تحكم الطباعة. يعد هذا مفيدًا لأنه يمكنك قراءة القيم من نافذة VEXcode V5 بدلاً من محاولة قراءة البيانات من شاشة Brain.

توضح هذه الأمثلة بيانات مشروع الطباعة من مستشعر الدوران إلى وحدة التحكم في VEXcode V5. 

لمزيد من المعلومات حول استخدام وحدة التحكم بالطباعة في كتل VEXcode V5، راجع هذه المقالة.


تحليل وتطبيق البيانات

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

يمكنك أيضًا طرح أسئلة حول مشروعك لمساعدتك على المضي قدمًا. فكر في أشياء مثل:

  • هل تستخدم أكبر من < أو أقل من > في مشروعك؟ هل الرمز متجه للاتجاه الصحيح؟ إذا كنت تستخدم يساوي = فحاول استبداله بأكبر من أو أقل من لاستخدام نطاق من القيم.
  • هل إعداداتك صحيحة؟ هل تستخدم البيانات الواردة من المستشعر لتعيين المعلمات الخاصة بك؟ هل اخترت خيار القائمة المنسدلة الذي تحتاجه؟
  • هل تقوم بالتحقق من الشروط أكثر من مرة؟ حاول إضافة حلقة للأبد إلى مشروعك، بحيث يتم التحقق من الحالة بشكل متكرر عند تشغيل المشروع.
  • هل مشروعك متعثر؟ هل تم ضبط شروطك بشكل صحيح؟ إذا كنت تستخدم حلقات متداخلة، فحاول تبسيط مشروعك لعزل السلوكيات الفردية.
  • هل تؤثر ظروفك البيئية على المستشعر؟ هل هو مشرق جدًا أم مظلم جدًا؟ هل هناك أشياء أو أشخاص في الطريق؟ حاول تشغيل مشروعك في موقع مختلف لمعرفة ما إذا كان ذلك مفيدًا.
  • هل تقوم بتشغيل أحدث إصدار من مشروعك؟ هل قمت بتنزيل مشروعك المحدث إلى Brain؟ تأكد من إعادة تنزيل المشروع في كل مرة تقوم فيها بإجراء تغيير.
  • هل تكتشف اللون الصحيح؟ هل يظهر المستشعر لونًا مختلفًا عن اللون الموجود في مشروعك؟ حاول تغيير معلمة اللون، أو استخدام نطاق من قيم تدرج اللون، لمعرفة ما إذا كان ذلك مفيدًا.
  • هل تكتشف جسمًا ما ضمن مجال رؤية المستشعر؟ تذكر أن مجال الرؤية يتحرك بالتزامن مع حركة الروبوت.
  • هل تستخدم كتلة الانتظار أثناء التحقق من الحالة؟ تأكد من استخدام الكتل غير المنتظرة في المشروع عند التحقق من وجود حالة ما. اطلع على هذه المقالة لمعرفة المزيد حول الفرق بين الكتل التي تتطلب الانتظار والكتل التي لا تتطلب الانتظار في VEXcode V5.
  • إذا كنت تقوم بالبرمجة في كتل، فهل مجموعتك بأكملها متصلة بكتلة القبعة {When started} ؟ سيتم تشغيل فقط عند اتصالهما. يمكنك الاستماع إلى صوت النقر عند سحب الكتل وتوصيلها معًا.

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

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

Last Updated: