Усунення несправностей датчиків VEX V5

Якщо ваш робот не працює належним чином під час використання зворотного зв’язку датчика, ви можете виконати покрокову процедуру усунення несправностей, щоб знайти та усунути проблеми. У цій статті пояснюються етапи процесу усунення несправностей і надаються поради щодо використання цих кроків.

Етапи цього процесу:

  1. Визначте проблему
  2. Перевірте обладнання
  3. Перевірте програмне забезпечення
  4. Аналізуйте та застосовуйте дані

Визначте проблему

Першим кроком до усунення несправностей датчика є визначення датчика, який викликає проблему. Порівняйте спостережувану поведінку робота з запланованою поведінкою робота. Проблемна поведінка викликана датчиком? Якщо так, то який датчик? Якщо вам потрібна додаткова інформація, щоб визначити, з яким датчиком може виникнути проблема, прочитайте наведену нижче статтю (статті), яка стосується датчиків вашого робота.

Датчики VEX V5:

Після того, як ви визначили, який датчик спричиняє небажану поведінку, ви можете рухатися вперед у процесі.


Перевірте обладнання

Другим кроком є ​​перевірка апаратного забезпечення робота, щоб переконатися, що датчик працює належним чином. Кожне з наведених нижче питань апаратного забезпечення може впливати на функціональність вашого датчика.

Перевірте розташування датчика

Збірка V5 Clawbot, що їздить по полю. Робот має прикріплений оптичний датчик, який підсвічується та вказує на червоний Бакібол перед ним.

Почніть із того, що подивіться, де розташований датчик на вашому роботі. Датчик заблоковано чимось, наприклад іншою частиною вашого робота? Переконайтеся, що датчик має простір, необхідний для належної роботи.

Як показано тут, оптичний датчик має чітке поле зору для об’єкта, який він має виявити.

Перевірте підключення датчика

Екран Brain відображається в меню «Інформація про пристрій», яке містить список усіх смарт-портів Brain та підключених пристроїв. Піктограма оптичного датчика в меню «Інформація про пристрій» виділена, що вказує на те, що її можна вибрати для відкриття інформаційного меню.

Перевірте функціональність датчика, переглянувши дані на екрані пристроїв на VEX V5 Brain. Це може допомогти вам перевірити, чи датчик підключено та працює. 

Щоб отримати доступ до екрана «Пристрої», кроки, описані в цій статті. Відкривши екран пристроїв, перевірте, чи видно датчик у правильному розташуванні порту та звітних даних. Тут оптичний датчик виявлено в Smart Port 11.

V5 Brain показано підключеним до акумулятора V5 та пристрою V5 Smart Motor. Кабель Smart Motor підключено до одного з Smart Ports Brain.V5 Brain з 3-провідним пристроєм, підключеним до одного з його 3-провідних портів.

Якщо датчик не повідомляє дані, переконайтеся, що ваші датчики підключено правильно. Під час підключення датчиків до порту Smart Port ви маєте почути клацання, коли фіксатор датчика повністю зафіксується в порту.

Під час підключення датчиків до 3-провідного порту кабель має бути повністю вставлений у правильній орієнтації, причому білий провід ближче до екрана Brain. 

Ви також можете спробувати замінити датчик, який ви використовуєте, на інший, щоб побачити, чи це вирішить вашу проблему.

Якщо ви щось змінили в розташуванні або підключенні датчика, перевірте свій проект ще раз, щоб побачити, чи це вирішило проблему. Якщо розташування датчика та підключення не змінилися, перейдіть до наступного кроку, щоб продовжити процес усунення несправностей.


Перевірте програмне забезпечення

Після того, як ви переконалися, що датчик успішно встановлено та підключено до робота, ви можете перейти до проекту VEXcode V5. Ітерація проекту може допомогти вам переконатися, що дані з датчика ефективно використовуються у вашому проекті. Наступні стратегії можуть допомогти вам із кодуванням датчика.

Якщо ви застосуєте будь-яку з цих стратегій до свого проекту VEXcode V5, перевірте свій проект ще раз, щоб побачити, чи це вирішило проблему.

Перевірте мікропрограму та конфігурацію

VEXcode V5 з підключеним Brain та відкритим випадаючим меню Brain, що вказує на те, що його можна використовувати для перевірки прошивки Brain. Версія VEXos у списку, і відображається лише кнопка «Примусове оновлення».

Почніть із того, що переконайтеся, що прошивка вашого V5 Brain оновлена.

Перегляньте цю статтю, щоб дізнатися більше про оновлення мікропрограми на V5 Brain.

Меню пристроїв VEXcode V5 з довгим списком підключених пристроїв. Це меню можна використовувати, щоб переконатися, що кожен датчик підключено правильно, а також перевірити його конкретний порт на Brain.

Тепер, коли ви впевнені, що всі пристрої правильно підключено до Brain, перевірте конфігурацію пристрою у VEXcode V5.

Переконайтеся, що всі датчики присутні в конфігурації. Потім перевірте, чи кожен з них під’єднано до правильного порту.

Змініть усі неправильні конфігурації пристрою.

Запустіть приклад проекту

Меню прикладів проектів блоків VEXcode з різноманітними проектами з різних категорій на вибір. Категорію «Зондування» виділено.

Відкрийте приклад проекту, який використовує датчик, який ви вирішуєте. Щоб відфільтрувати приклади проектів, ви можете вибрати категорію «Сенсори».

Для отримання додаткової інформації про приклади проектів та шаблонів V5 Blocks див. цю статтю.

Для отримання додаткової інформації про приклади проектів та шаблонів Python V5 цю статтю.

Для отримання додаткової інформації про приклади проектів та шаблонів V5 C++ див. цю статтю.

VEXcode V5 з відкритим з категорії «Зондування» прикладом проекту, включаючи стек блоків коду та примітку з описом проекту. Нотатку виділено.

Після відкриття прочитайте примітку, щоб визначити, чи функціональність у прикладі проекту узгоджується з тим, що ви намагаєтеся зробити з датчиком.

У прикладі проекту, наведеному тут, примітка вказує, що стан бамперного вимикача або кінцевого вимикача, який натискається, буде надруковано на екрані Brain. У цьому випадку True вказує на натискання, а False вказує на те, що натиснуто не було. 

Запустіть приклад проекту та спостерігайте за поведінкою робота. Потім подивіться на проект, щоб побачити, як дані датчика використовуються для того, щоб викликати спостережувану поведінку. Ви можете запустити приклад проекту кілька разів, щоб допомогти з цим.

Ви можете спробувати створити власний спрощений проект, щоб застосувати те, що ви дізналися з прикладу проекту, до свого завдання.

Використовуйте інші інструменти VEXcode V5

Існують також інструменти та стратегії, якими ви можете скористатися, щоб дізнатися більше про кодування датчика у VEXcode V5. Ви можете дізнатися про блоки або команди в панелі інструментів окремо, використовуючи довідку. Ви також можете переглядати дані датчика під час виконання проекту, щоб дізнатися більше про те, що повідомляє датчик.

VEXcode V5 з відкритим меню «Довідка» та вибраним блоком «Натискання буфера». Описи блоку та способи його використання наведено разом із зображеннями прикладів використання.

Допомога

Прочитайте довідку для блоків або команд у прикладі проекту або у вашому проекті, щоб дізнатися про дані, які використовуються, які значення повідомляє команда та приклади використання команди в проекті.

Перегляньте цю статтю, щоб дізнатися більше про доступ до довідки в блоках VEXcode V5.

Перегляньте цю статтю, щоб дізнатися більше про доступ до довідки у VEXcode V5 Python.

Перегляньте цю статтю, щоб дізнатися більше про доступ до довідки у VEXcode V5 C++.

Друк даних

Ви також можете роздрукувати дані з датчика як приклад проекту або ваш проект працює, щоб краще зрозуміти, що датчик повідомляє в реальному часі. Це може допомогти вам визначити, які значення, отримані від датчика, використовувати як параметри у вашому проекті. 

Зверніть увагу, що в проекті Blocks можна використовувати окремий блок {When started} hat, щоб усі команди друку були організовані у власному стеку.

Блоки VEXcode V5
Проект VEXcode V5 Blocks, який використовує цикл Forever для друку даних датчиків до Brain під час виконання проекту. Перша частина проєкту гласить: «Після запуску встановіть шрифт Mono Extra Large для Brain». Далі йде блок циклу Forever з 5 блоками всередині. Блоки в циклі зчитують очищують усі рядки на Brain, встановлюють курсор на рядок 1 стовпець 1 на Brain, а потім виводять Відстань (мм): на Brain. Далі, виведіть відстань до об'єкта Distance19 у мм на Brain та встановіть курсор на наступний рядок, а потім зачекайте 0,5 секунди.
VEXcode V5 Python
# Початок коду проєкту

# Збільшення розміру шрифту для зручності читання на екрані 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, СЕКУНД)
VEXcode V5 C++
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 Brain. Коментарі в кожному проекті пояснюють послідовність проекту та використання кожної команди.

Блоки VEXcode V5
Проект VEXcode V5 Blocks, який використовує цикл Forever для виведення даних датчиків на консоль під час виконання проекту. Перша частина проекту гласить: «Після запуску встановіть положення Rotation15 на 0 градусів». Далі йде блок циклу Forever з 3 блоками всередині. Блоки в циклі зчитують print Position (degrees): на консолі, print Rotation15 position у градусах на консолі та встановлюють курсор на наступний рядок, і нарешті чекають 0,5 секунди.
VEXcode V5 Python
# Початок коду проєкту

# Скидання датчика обертання до 0 на початку проєкту
rotation_15.set_position(0, DEGREES)

while True:
  # Виведення мітки та значення відстані від об'єкта в одному рядку
  print("Позиція (градуси): ", end="")
  print(rotation_15.position(DEGREES))
  
  # Зачекання друку значення, потім повторення циклу
  wait(0.5, SECONDS)
VEXcode V5 C++
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 має залишатися підключеним під час виконання проекту, щоб друкувати на Print Console. Це корисно, оскільки ви можете читати значення з вікна VEXcode V5, а не намагатися читати дані з екрана Brain.

У цих прикладах показано друк даних проекту з датчика обертання на консоль у VEXcode V5. 

Щоб отримати додаткові відомості про використання консолі друку в блоках VEXcode V5, перегляньте цю статтю.


Аналізуйте та застосовуйте дані

Далі використовуйте те, що ви навчилися на попередніх кроках, щоб відкоригувати свій оригінальний проект. Ви можете продовжувати використовувати такі інструменти, як довідка та друк даних, щоб ви могли ефективно використовувати датчик для досягнення своєї мети.

Ви також можете поставити запитання про свій проект, щоб допомогти вам рухатися вперед. Подумайте про такі речі, як:

  • Ви використовуєте більше < або менше > у своєму проекті? Чи символ спрямований у правильному напрямку? Якщо ви використовуєте дорівнює =, спробуйте замінити його на більше або менше, щоб використовувати діапазон значень.
  • Ваші параметри правильні? Чи використовуєте ви дані з датчика для встановлення параметрів? Ви вибрали потрібний вам параметр спадного меню?
  • Ви перевіряєте умови більше одного разу? Спробуйте додати цикл Forever до свого проекту, щоб умова багаторазово перевірялася під час виконання проекту.
  • Ваш проект зависає? Чи правильно встановлено умови? Якщо ви використовуєте вкладені цикли, спробуйте спростити свій проект, щоб виокремити індивідуальну поведінку.
  • Чи впливають ваші умови навколишнього середовища на датчик? Надто яскравий чи темний? Чи є на шляху предмети або люди? Спробуйте запустити свій проект в іншому місці, щоб перевірити, чи це допоможе.
  • Ви використовуєте останню версію свого проекту? Ви завантажили свій оновлений проект у Brain? Переконайтеся, що ви завантажуєте проект щоразу, коли вносите зміни.
  • Ви визначаєте правильний колір? Чи повідомляє датчик інший колір, ніж той, який ви маєте у вашому проекті? Спробуйте змінити параметр кольору або використати діапазон значень відтінку, щоб побачити, чи це допоможе.
  • Ви виявляєте об’єкт у полі зору датчика? Пам’ятайте, що поле зору змінюється разом із рухом робота.
  • Ви використовуєте блок очікування під час перевірки умови? Обов’язково використовуйте в проекті блоки без очікування під час перевірки умови. Перегляньте цю статтю, щоб дізнатися більше про блоки очікування та неочікувані блоки у VEXcode V5.
  • Якщо ви кодуєте блоками, чи весь ваш стек приєднаний до блоку {When started} hat? Блоки працюватимуть лише тоді, коли вони підключені. Ви можете прослухати звук клацання, коли ви перетягуєте блоки та з’єднуєте їх разом.

Відповідаючи на ці запитання, обов’язково змінюйте одну річ у своєму проекті за раз, тестуйте її, а потім оцінюйте, чи ця зміна була ефективною. Часте тестування проекту може допомогти вам легше побачити, як ваш код пов’язаний із поведінкою робота.  Можливо, вам знадобиться кілька разів повторити кроки процесу усунення несправностей, щоб вирішити проблему, і це нормально. Кожна ітерація допоможе вам дізнатися більше про датчик, який ви використовуєте, і про те, як його кодувати у VEXcode V5.

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

Last Updated: