Инструментарий учителя этого упражнения
На предыдущей странице студент программировал руку на вращение с помощью кнопки Brain Up. Эта страница будет основана на предыдущем проекте и также запрограммирует руку на вращение вниз с помощью кнопки Brain Down.
Это задание познакомит учащихся с программированием с помощью блоков [If then else] , а также с использованием сенсорных и операторских блоков, чтобы робот проверял, нажаты ли кнопки Brain Up или Down. Если нажать кнопку Brain Up, рука Clawbot поднимется. Если нажать кнопку Brain Down, рука Clawbot опустится. Это основано на предыдущем задании, а также заложит основу для задачи пользовательского интерфейса в разделе «Переосмысление».
Для выполнения задания пользовательского интерфейса учащимся нужно будет запрограммировать своего робота Clawbot так, чтобы он поднимал руку, опускал руку, открывал и закрывал коготь, используя кнопки на IQ Robot Brain.
Для получения дополнительной информации о блоках [If then], [If then else], <Brain>, или [Spin] посетите справочную информацию в VEXcode IQ. Для получения дополнительной информации об этом встроенном справочном инструменте нажмите здесь.
Ниже приводится схема того, что ваши ученики будут делать в этом упражнении:
-
Используйте существующий ArmUp2 для создания предоставленного проекта ArmUpDown и спрогнозируйте, что будет делать этот проект.
-
Просмотрите блок-схему, которая поможет объяснить порядок расположения блоков в проекте.
-
Уточните их объяснения того, что делает проект ArmUpDown .
-
Посмотрите обучающее видео If then Else Blocks ».
-
Отредактируйте свой проект, используя блоки [If then else] .
-
Остановитесь и обсудите: Учащиеся поразмышляют над своими прогнозами о том, что в рамках проекта будет делать Clawbot, по сравнению с их фактическими наблюдениями.
-
Запрограммируйте коготь, используя ту же схему проекта, что и при программировании руки.
Количество | Необходимые материалы |
---|---|
1 |
Суперкомплект VEX IQ |
1 |
VEXcode IQ |
1 |
Инженерный блокнот |
1 |
Шаблон Clawbot (трансмиссия) |
Рука Clawbot готова двигаться вверх и вниз!
Это упражнение даст вам инструменты для программирования вашего робота с условным поведением.
Блок [If then else] является основным в деятельности, но также используются другие блоки Sensing, Control и Operation.
Вы можете использовать справочную информацию внутри VEXcode IQ, чтобы узнать о блоках. Инструкции по использованию функции справки см. в руководстве «Использование справки».
Советы учителям
Если учащийся впервые использует VEXcode IQ, он также сможет просмотреть учебные пособия на панели инструментов, чтобы освоить другие базовые навыки.
Шаг 1: Программирование перемещения руки вниз.
На предыдущей странице вы запрограммировали руку Clawbot на вращение при нажатии кнопки Brain Up. А как насчет того, чтобы опустить руку? Давайте сначала вернемся к предыдущему проекту ArmUp2.
Можно ли использовать тот же блок [If then] для вращения руки вверх, чтобы также повернуть руку вниз? Давай попробуем! Создайте проект ниже, отредактировав уже существующий проект ArmUp2.
-
Сохраните проект как ArmUpDown. Если учащимся нужна помощь в сохранении проекта, обратитесь к руководству «Именование и сохранение».
-
Убедитесь, что имя проекта ArmUpDown теперь находится в окне в центре панели инструментов.
-
Предскажите, что будет делать Clawbot в рамках проекта, в своем инженерном блокноте. Объясните поведение пользователя и Clawbot.
-
Проверьте, верен ли ваш прогноз о том, что в проекте будет делать Clawbot.
-
Загрузите проект в Slot 3 на Clawbot, а затем запустите его.
-
Для получения помощи по загрузке и запуску проекта см. руководство в VEXcode IQ, в котором объясняется, как загрузить и запустить проект.
-
-
Проверьте свои объяснения проекта и добавьте примечания, чтобы исправить их при необходимости.
Инструментарий учителя
Проект, который студенты создают выше, будет работать. При нажатии кнопки Brain Up рука будет вращаться вверх, а при нажатии кнопки Brain Down рука будет вращаться вниз. Несмотря на то, что проект работает как есть, он написан не оптимально. Может быть случай, когда оба условия могут быть истинными одновременно. Также обратите внимание, что, поскольку условие начала нажатия кнопки Brain Up — первое, если кнопку Brain Up удерживать нажатой, а затем также нажать кнопку Brain Down, рука продолжит вращаться вверх. Это действие не прекратится, пока не будет отпущена кнопка Brain Up. Таким образом, на следующем этапе проект будет переписан, чтобы включить блок [If then else] , чтобы избежать этих потенциальных проблем.
Набор инструментов учителя и обсудите
Теперь, когда учащиеся протестировали проект, спросите их, насколько их прогнозы соотносятся с их наблюдениями. Организуйте обсуждение, задав следующие вопросы:
-
Совпало ли ваше предсказание с вашим наблюдением?
-
Что происходит в проекте?
-
Условия нажатия кнопок «Вверх» и «Вниз» проверяются только один раз?
-
Как вы думаете, можно ли реорганизовать проект для более эффективной работы?
Шаг 2: Понимание хода проекта.
На предыдущем этапе проект поднимал и опускал рычаг. Однако, поскольку условие начала нажатия кнопки «Мозг вверх» — первое, если кнопку «Мозг вверх» удерживать нажатой, а затем также нажимать кнопку «Мозг вниз», рука продолжит вращаться вверх, поскольку это действие не прекратится до тех пор, пока не будет нажата кнопка «Мозг вверх». выпущен. Просмотрите следующую блок-схему, объясняющую ход проекта.
Таким образом, проект может заменить блоки [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 не станет ложным (отпущено).
Блок [Навсегда] позволяет постоянно проверять первое условие.
Давайте рассмотрим изменение проекта, добавив [If then else] блоков. Двигатель руки теперь будет продолжать вращаться до тех пор, пока кнопка Brain Up больше не будет нажата (отпущена). Из-за блока [Forever] это условие будет продолжать проверяться до тех пор, пока оно не станет ложным.
Если условие кнопки Brain Up станет ложным, проект перейдет к следующему блоку, который заключается в проверке состояния, если кнопка Brain Down нажата. Если условие нажатия кнопки Brain Down истинно, рука будет вращаться вверх. Опять же, из-за блока [Forever] , это условие будет продолжать проверяться до тех пор, пока оно не станет ложным.
Если состояние кнопки Brain Up станет ложным, проект перейдет к следующему блоку, то есть к блоку [Остановить двигатель] . Таким образом, двигатель рычага остановится только в том случае, если оба условия неверны (ни одна кнопка не нажата).
Мотивировать обсуждение
В: Каков ход выполнения проекта, если условие нажатия кнопки Brain Up имеет значение FALSE (отпущено)?
A: Если условие ложно, поток проекта продолжит проверять состояние нажатой кнопки Brain Down.
Q: Какова цель блоков [If then else] в проекте выше?
A: Использование блоков [If then else] позволяет одновременно принимать только один экземпляр. Таким образом, кнопки «Мозг вверх» и «Мозг вниз» не могут быть истинными одновременно с использованием блоков [If then else] , поскольку второе условие нажатия кнопки «Мозг вниз» даже не будет возможным, если только не будет выполнено первое условие Нажатие кнопки Brain Up было ложным. Другая цель — повысить эффективность программирования.
В: Как будет развиваться проект, если оба условия нажатия кнопок «Вверх» и «Вниз» неверны?
A: Если оба условия ложны, поток проекта продолжится до блока [Stop Motor] , а затем вернется на вершину стека, повторяясь вечно.
Шаг 3: Программирование с блоками [If then else] .
Давайте воспользуемся блоками [If then else] :
-
Добавьте блоки [If then else] в свой проект ArmUpDown, чтобы ваш проект выглядел следующим образом:
-
Сохраните проект как ArmUpDown2. Если учащимся нужна помощь в сохранении проекта, обратитесь к руководству «Именование и сохранение».
-
Загрузите проект в Slot 4 на Clawbot, а затем запустите его.
-
Для получения помощи по загрузке и запуску проекта см. руководство в VEXcode IQ, в котором объясняется, как и запустить проект.
-
Проверьте, будет ли рука теперь вращаться вверх при нажатии кнопки Brain Up и вращаться вниз при нажатии кнопки Brain Down.
-
Убедитесь, что, когда кнопки Brain Up и Down не нажаты (отпущены), двигатель рычага останавливается.
-
Запишите в свой инженерный блокнот свои наблюдения о том, как вел себя Clawbot до и после добавления блоков if then else в ваш проект.
Набор инструментов учителя и обсудите
После того, как учащиеся проверят проект до и после добавления блока [Если, то иначе] , обсудите с учащимися, как это позволяет руке продолжать вращаться до тех пор, пока не будет отпущена кнопка «Брейн вверх». Попросите учащихся поделиться своими наблюдениями из своих инженерных тетрадей. Организуйте дискуссию, задав следующие вопросы:
-
Видите ли вы, что Clawbot ведет себя по-разному при использовании блоков [If then else] и только блоков [If then] ?
-
Как вы думаете, почему важна эффективность программы?
-
Состояние кнопки Brain Up проверяется в проекте только один раз?
Инженерные тетради учащихся можно вести и оценивать индивидуально (Google / .docx / .pdf) или в команде (Google / .docx / .pdf). Предыдущие ссылки предоставляют разные рубрики для каждого подхода. Всякий раз, когда рубрика включается в планирование обучения, рекомендуется объяснить ее или, по крайней мере, раздать копии учащимся до начала занятия.
Инструментарий учителя
Учащиеся могут не заметить большой разницы в поведении своего Clawbot при использовании блоков [If then else] и блоков [If then] . Если учащиеся физически не видят значительной разницы, организуйте обсуждение эффективности программирования и того, как упрощение проекта может привести к использованию меньшего количества блоков. Использование меньшего количества блоков в проекте может уменьшить количество потенциальных ошибок.
Шаг 4: Программирование клешни.
На предыдущем этапе проект был оптимизирован для более эффективной работы с использованием блоков [If then else] . В предыдущем примере манипулирование рукой осуществлялось с помощью кнопок Brain Up и Down.
Используя ту же схему проекта, можно манипулировать Когтем.
-
Просмотрите проект ArmUpDown2 и измените блоки [Spin] на ClawMotor вместо ArmMotor, используя раскрывающееся меню.
Убедитесь, что кнопка Brain Up вращает коготь «открыть», а кнопка Brain Down вращает коготь «закрыть», используя раскрывающиеся меню.
-
Сохраните проект как ClawUpDown. Если учащимся нужна помощь в сохранении проекта, обратитесь к руководству «Именование и сохранение».
-
Загрузите проект в Slot 1 на Clawbot, а затем запустите его.
-
Для получения помощи по загрузке и запуску проекта см. руководство в VEXcode IQ, в котором объясняется, как и запустить проект.
-
Проверьте, будет ли Коготь теперь раскрываться при нажатии кнопки «Мозг вверх» и закрываться при нажатии кнопки «Мозг вниз».
-
Убедитесь, что, когда кнопки Brain Up и Down не нажаты (отпущены), кулачковый двигатель останавливается.
-
Запишите в свой инженерный блокнот свои наблюдения о том, как вел себя Clawbot до и после добавления блоков if then else в ваш проект.
Инструментарий учителя
Теперь, когда учащиеся научились манипулировать рукой и когтями с помощью кнопок, попросите их провести мозговой штурм, как они могут выполнить все четыре действия в одном проекте (рука вверх, рука вниз, раскрытие когтя и закрытие когтя).
Учащиеся будут использовать еще один блок [if then else] в разделе «Переосмысление», чтобы позволить своему роботу выполнить все четыре действия.
Расширьте свое обучение стопорного блока двигателя
Если учащиеся запрограммируют своего робота на подъем и опускание руки, вес «Когтя» может привести к тому, что рука опустится вниз.
В этом случае можно использовать блок [Установить остановку двигателя] , чтобы рука не падала под действием силы тяжести и веса захвата. Этот блок можно использовать в начале проекта и он будет применяться ко всем будущим мотоблокам до конца проекта.
Установленный блок остановки двигателя имеет три настройки:
-
Тормоз вызывает немедленную остановку двигателя.
-
Выбег позволяет двигателю постепенно вращаться до остановки.
-
Удержание вызывает немедленную остановку двигателя и возвращает его в остановленное положение при перемещении.