Інструменти вчителя - Мета цієї діяльності
На попередній сторінці учень програмував руку на обертання за допомогою кнопки Brain Up. Ця сторінка базуватиметься на попередньому проекті, щоб також запрограмувати обертання руки вниз за допомогою кнопки Brain Down.
Ця вправа познайомить студентів з програмуванням за допомогою блоків [If then else] , а також із використанням блоків датчиків і операторів, щоб робот перевіряв, чи натиснуто кнопки Brain Up або Down. Якщо натиснути кнопку Brain Up, рука Clawbot підніметься. Якщо натиснути кнопку Brain Down, рука Clawbot опуститься. Це ґрунтується на попередній активності, а також стане основою для виклику інтерфейсу користувача в розділі «Переосмислення».
Для завдання з користувальницького інтерфейсу учням потрібно буде запрограмувати свого Clawbota піднімати руку, опускати руку, відкривати та закривати клешні за допомогою кнопок на IQ Robot Brain.
Щоб дізнатися більше про блоки [If then], [If then else], <Brain button pressed>, або [Spin] , перегляньте довідкову інформацію у VEXcode IQ. Щоб отримати додаткові відомості про цей вбудований довідковий інструмент, натисніть тут.
Нижче наведено схему того, що ваші студенти будуть робити в цій діяльності:
-
Використовуйте існуючий ArmUp2, щоб побудувати наданий проект ArmUpDown і передбачити, що проект робитиме.
-
Перегляньте блок-схему, щоб пояснити потік блоків у проекті.
-
Уточніть свої пояснення того, що робить проект ArmUpDown .
-
Перегляньте навчальне відео If Then Else Blocks .
-
Відредагуйте їхній проект, використовуючи блоки [If then else] .
-
Зупиніться та обговоріть: учні розмірковують над своїми прогнозами щодо того, що Clawbot буде робити в рамках проекту, порівняно з їхніми фактичними спостереженнями.
-
Запрограмуйте кіготь, використовуючи ту саму схему проекту, що й програмування руки.
Кількість | Необхідні матеріали |
---|---|
1 |
VEX IQ Super Kit |
1 |
VEXcode IQ |
1 |
Інженерний зошит |
1 |
Шаблон Clawbot (трансмісія). |
Рука Clawbot готова рухатися вгору та вниз!
Ця вправа дасть вам інструменти для програмування вашого робота з умовною поведінкою.
Блок [If then else] є основним фокусом у діяльності, але також використовуються інші блоки Sensing, Control та Operator.
Ви можете скористатися довідковою інформацією у VEXcode IQ, щоб дізнатися про блоки. Щоб отримати вказівки щодо користування функцією Довідка , перегляньте підручник з використання довідки.
Поради вчителю
Якщо учень вперше використовує VEXcode IQ, він також може переглянути навчальні посібники на панелі інструментів, щоб отримати інші базові навички.
Крок 1: Програмування переміщення руки вниз.
На попередній сторінці ви запрограмували руку Clawbot обертатися, коли натискається кнопка Brain Up. Але як щодо опускання руки? Давайте спочатку повернемося до попереднього проекту ArmUp2.
Чи можливо було б використати той самий блок [If then] для обертання руки вгору, щоб також обертати руку вниз? Давайте спробуємо! Створіть наведений нижче проект, відредагувавши вже наявний проект ArmUp2.
-
Збережіть проект як ArmUpDown. Якщо студентам потрібна допомога у збереженні проекту, зверніться до підручника з іменування та збереження.
-
Переконайтеся, що назва проекту ArmUpDown тепер у вікні в центрі панелі інструментів.
-
Передбачте, що Clawbot буде робити в проекті у вашому інженерному блокноті. Поясніть поведінку як користувача, так і Clawbot.
-
Перевірте, чи правильне ваше передбачення того, що Clawbot має робити в проекті.
-
Завантажте проект у слот 3 на Clawbot, а потім запустіть його.
-
Щоб отримати допомогу щодо завантаження та запуску проекту, перегляньте підручник у VEXcode IQ, який пояснює, як завантажити та запустити проект.
-
-
Перевірте свої пояснення до проекту та додайте примітки, щоб виправити їх за потреби.
Інструменти вчителя
Проект, який учні створили вище, буде працювати. Якщо натиснути кнопку Brain Up, рука обертатиметься вгору, а якщо натиснути кнопку Brain Down, рука обертатиметься вниз. Незважаючи на те, що проект працює як є, він написаний не оптимально. Може бути випадок, коли обидві умови можуть бути істинними одночасно. Крім того, зверніть увагу на те, що, оскільки спочатку починається натискання кнопки Brain Up, якщо утримувати кнопку Brain Up, а потім також натиснути кнопку Brain Down, рука продовжуватиме обертатися вгору. Ця дія не припиниться, доки не буде відпущена кнопка Brain Up. Таким чином, проект буде переписано на наступному кроці, щоб включити блок [If then else] , щоб уникнути цих потенційних проблем.
Інструменти вчителя - Зупиніться та обговоріть
Тепер, коли студенти перевірили проект, запитайте їх, як їхні прогнози порівнюються з їхніми спостереженнями. Полегшіть обговорення, поставивши такі запитання:
-
Чи ваш прогноз збігався з вашим спостереженням?
-
Що, здається, відбувається в проекті?
-
Чи перевіряються умови натискання кнопок «Вгору» та «Вниз» лише один раз?
-
Як ви вважаєте, чи можна було б реорганізувати проект, щоб працювати ефективніше?
Крок 2: Розуміння потоку проекту.
На попередньому етапі проект піднімав і опускав руку. Однак, оскільки спочатку починається натискання кнопки Brain Up, якщо кнопку Brain Up утримувати, а потім також натиснути кнопку Brain Down, рука продовжуватиме обертатися вгору, оскільки ця дія не припиниться, доки не буде натиснута кнопка Brain Up звільняється. Перегляньте наступну блок-схему, яка пояснює потік проекту.
Таким чином, проект може замінити блоки [If then] блоками [If then else] , щоб лише один екземпляр міг бути істинним у будь-який час.
Перегляньте наступне навчальне відео про блоки [If then else] :
Почніть із перегляду навчального відео If-Then-Else у VEXcode IQ.
Використання блоків [If then else] також позбавить потреби в блоках [Wait until], оскільки рука продовжуватиме обертатися вгору, доки не буде відпущена кнопка Brain Up. Це відбувається тому, що частина «else» [If then else] ніколи не досягається, доки умова кнопки Brain Up не стане помилковою (відпущена).
Блок [Forever] дозволяє безперервно перевіряти першу умову.
Давайте дослідимо, як змінити проект, додавши [If then else] блоків. Двигун Arm тепер продовжуватиме обертатися, доки кнопка Brain Up більше не буде натиснута (відпущена). Завдяки блоку [Forever] , ця умова продовжуватиме перевірятися, доки вона не стане хибною.
Якщо умова кнопки Brain Up стає хибною, проект продовжиться до наступного блоку, який перевіряє умову, якщо натиснуто кнопку Brain Down. Якщо умова натискання кнопки Brain Down виконується, то рука обертається вгору. Знову ж таки, завдяки блоку [Forever] ця умова продовжуватиме перевірятися, доки вона не стане хибною.
Якщо умова кнопки Brain Up стає хибною, проект продовжиться до наступного блоку, який є блоком [Stop motor] . Таким чином, двигун Arm зупиниться лише тоді, коли обидві умови є помилковими (жодна кнопка не натиснута).
Мотивуйте дискусію
Q: Яким є прогрес проекту, якщо умова натискання кнопки Brain Up є FALSE (відпущена)?
A: Якщо умова хибна, потік проекту продовжить перевіряти стан натиснутої кнопки Brain Down.
З: Яке призначення блоків [If then else] у проекті вище?
A: Використання блоків [If then else] дозволяє лише одному екземпляру бути істинним одночасно. Таким чином, кнопки Brain Up і Brain Down не можуть бути істинними одночасно за допомогою блоків [If then else] , оскільки друга умова натискання кнопки Brain Down навіть не буде доступною, якщо перша умова Натискання кнопки Brain Up було помилковим. Інша мета — підвищити ефективність програмування.
Q: Яким є прогрес проекту, якщо обидві умови натискання кнопок «Вгору» та «Вниз» є хибними?
A: Якщо обидві умови хибні, потік проекту продовжуватиметься до блоку [Stop motor] перед тим, як повернутися до верхньої частини стека, повторюючись вічно.
Крок 3: Програмування за допомогою [If then else] блоків.
Давайте використаємо блоки [If then else] :
-
Додайте блоки [If then else] до вашого проекту ArmUpDown, щоб ваш проект виглядав так:
-
Збережіть проект як ArmUpDown2. Якщо студентам потрібна допомога у збереженні проекту, зверніться до підручника з іменування та збереження.
-
Завантажте проект у слот 4 на Clawbot, а потім запустіть його.
-
Щоб отримати довідку щодо завантаження та запуску проекту, перегляньте підручник у VEXcode IQ, який пояснює, як завантажити та запустити проект.
-
Перевірте, чи обертається рука тепер, коли натискається кнопка Brain Up, і обертається вниз, коли натискається кнопка Brain Down.
-
Переконайтеся, що коли кнопки «Вгору» та «Вниз» не натискаються (відпускаються), двигун рукоятки зупиняється.
-
Запишіть свої спостереження про те, як Clawbot поводився до та після додавання блоків if then else до вашого проекту у ваш інженерний блокнот.
Інструменти вчителя - Зупиніться та обговоріть
Після того як студенти перевірять проект до та після додавання блоку [If then else] , обговоріть зі студентами, як це дозволяє руці продовжувати обертатися, доки не буде відпущена кнопка Brain Up. Попросіть студентів поділитися своїми спостереженнями зі своїх інженерних зошитів. Сприяйте обговоренню, ставлячи такі запитання:
-
Ви бачите, що Clawbot поводиться по-різному між використанням блоків [If then else] порівняно з блоками [If then] ?
-
Чому, на вашу думку, важлива ефективність програми?
-
Чи перевіряється умова кнопки Brain Up лише один раз у проекті?
Технічні зошити учнів можна вести та оцінювати індивідуально (Google ) або командою (Google ). Попередні посилання містять різні рубрики для кожного підходу. Кожного разу, коли рубрику включено до навчального планування, добре пояснювати рубрику або принаймні роздавати копії студентам перед початком заняття.
Інструменти вчителя
Учні можуть не помітити великої різниці в тому, як їхній Clawbot поводиться між використанням блоків [If then else] і [If then] . Якщо студенти фізично не бачать великої різниці, сприяйте обговоренню ефективності програмування та того, як спрощення проекту може призвести до використання меншої кількості блоків. Використання меншої кількості блоків у проекті може зменшити кількість потенційних помилок.
Крок 4: Програмування Claw.
На попередньому кроці проект було оптимізовано для більш ефективної роботи за допомогою блоків [If then else] . У попередньому прикладі рукою маніпулювали за допомогою кнопок Brain Up і Down.
Використовуючи той самий план проекту, Кігтем також можна маніпулювати.
-
Перегляньте проект ArmUpDown2 і змініть блоки [Spin] на ClawMotor замість ArmMotor за допомогою спадного меню.
Переконайтеся, що кнопка Brain Up повертає кіготь «відкрито», а кнопка «Мозок вниз» обертає кіготь «закриваючи», використовуючи спадні меню.
-
Збережіть проект як ClawUpDown. Якщо студентам потрібна допомога у збереженні проекту, зверніться до підручника з іменування та збереження.
-
Завантажте проект у слот 1 на Clawbot, а потім запустіть його.
-
Щоб отримати допомогу щодо завантаження та запуску проекту, перегляньте підручник у VEXcode IQ, який пояснює, як Завантажити та запустити проект.
-
Перевірте, чи відкривається кіготь, коли натискається кнопка Brain Up, і закривається, коли натискається кнопка Brain Down.
-
Переконайтеся, що коли кнопки Brain Up і Down не натиснуті (відпущені), Claw Motor зупиняється.
-
Запишіть свої спостереження про те, як Clawbot поводився до та після додавання блоків if then else до вашого проекту у ваш інженерний блокнот.
Інструменти вчителя
Тепер, коли студенти мають навички маніпулювати рукою та кігтем за допомогою кнопок, попросіть студентів подумати, як вони можуть виконувати всі чотири дії в одному проекті (рука вгору, рука вниз, кігті відкриті та кігті закриті).
Студенти використовуватимуть ще один блок [if then else] у розділі переосмислення, щоб дозволити своєму роботу виконувати всі чотири дії.
Розширте своє навчання - комплект блоку зупинки двигуна
Якщо учні запрограмують свого робота піднімати й опускати руку, вага Кігтя може спричинити дрейф руки вниз.
У цьому випадку можна використовувати блок [Установити зупинку двигуна] , щоб рука не впала під дією сили тяжіння та ваги кігтя. Цей блок можна використовувати на початку проекту та застосовуватиметься до всіх майбутніх мотоблоків до кінця проекту.
Встановлений блок зупинки двигуна має три налаштування:
-
Гальмо викликає негайну зупинку двигуна.
-
Coast дозволяє двигуну поступово обертатися до зупинки.
-
Утримання викликає негайну зупинку двигуна та повертає його в положення зупинки, якщо рухати.