Дистанційне керування роботом
Ми найчастіше використовуємо пульти дистанційного керування для взаємодії з нашими телевізорами. Ми натискаємо кнопки, які змушують телевізор відображати потрібний канал або екран інформації/доступу. Технічно пульт дистанційного керування телевізором є інтерфейсом користувача. Однак це набагато менш складний інтерфейс користувача, ніж той, який використовує ваш смартфон.
Програмування вашого IQ Controller набагато складніше. Під час змагань під керуванням водіїв ви хочете, щоб ваш водій/команда мали якомога більше переваг. Ви можете запрограмувати кнопки та джойстики на виконання кількох простих дій, а також ви можете запрограмувати їх на виконання складних дій, коли кнопки та джойстики використовуються разом – подібно до роботи деяких ігрових контролерів. Як програміст свого контролера, ви обмірковуєте, які кнопки використовувати в поєднанні, з’ясовуючи, як мають бути розташовані ваші пальці та руки, щоб дістатися до всіх задіяних кнопок.
На зображенні вище показано проект із прикладу проекту Controller Buttons із VEXcode IQ. Ви бачите, як цикл [Forever] містить два блоки [If then else] , вкладені всередину? Він змушує проект перевіряти, чи натиснуто кнопки R Up або R Down, і робот обертає Claw Motor закритим або відкритим залежно від натискання однієї з них. Цей цикл [Forever] дуже важливий. Це змушує ваш IQ Controller неодноразово перевіряти, яка(-і) кнопка(-и) натиснута, щоб робот виконував належну(-і) поведінку(-и).
Подумайте, що ви можете помістити два блоки чутливості <Controller Pressed> в блок оператора <and>. Це змусило б проект перевірити, чи були натиснуті дві кнопки. Ви також можете розмістити блок <and> всередині іншого блоку <and> і перевірити три умови перед виконанням поведінки. Це дозволить вам запрограмувати послідовності поведінки, які можна запустити, просто натиснувши кнопки на контролері.
Подумайте, скільки ще комбінацій умовних виразів ви можете створити з усіма кнопками та їх комбінаціями на контролері. Звичайно, у міру того як ви програмуєте більш складну поведінку для функціонування контролера, проект наближається до того, щоб робот був автономним. Змагальна команда повинна з’ясувати, яку поведінку краще запрограмувати в свої контролери у вигляді складних послідовностей, а які поведінки краще залишити розбитими на кілька частин, щоб контролер дозволяв водієві (користувачу) мати більше контролю над швидкістю та точністю поведінка.
Поради вчителю - Моделювання
Змоделюйте, як поєднати <and> блоки для студентів, якщо їм важко уявити поєднання <and> блоків, щоб включити більше однієї умови. Ось приклад:
У цьому прикладі показано лише перший блок команд і півтора наступних, але робот може виконувати цілу послідовність дій, коли всі ці три кнопки (E вниз, F вгору та F вниз) натиснуті.
Мотивуйте дискусію
Щороку VEX кидає виклик своїм користувачам новою грою. Команди змагаються в матчах, які складаються з однієї хвилини (60 секунд) автономного періоду (без контролера), після чого одна хвилина (60 секунд) контрольованого водієм періоду (контролер). Деякі студенти, можливо, раніше брали участь у змаганнях з робототехніки в складі клубу чи команди. Запитання нижче пропонують студентам поділитися своїм досвідом та/або інтересами до конкурсів.
Q: Хтось із вас або хтось із ваших знайомих брав участь у змаганнях з робототехніки?
A: Заохочуйте учнів, які змагалися, поділитися своїм досвідом. Додайте додаткові запитання, наприклад, «яким роботом ви користувалися?» та/або «яка частина вашого досвіду була вашою улюбленою?».
Q: Хтось хоче дізнатися більше про цьогорічний конкурс/гру VEX?
A: Коли студенти дадуть ствердну відповідь, ви можете направити їх на веб-сайт VEX Competition і показати відео цьогорічного завдання.