Это продолжение публикаций о возможностях обучения программированию с роботом.
Примерный начальный урок показывает, что с роботом в рамках небольшой темы (работа "поворотников") можно (по ходу) познакомить детей с целым рядом базовых программистских концепций: цикл, обработка событий, модульность программы...Опробовать урок могут те, кто приобрёл и собрал робот Maqueen с контроллером micro:bit, а те, кто интересуется тематикой, могут просто оценить пример обучения программированию с использованием робота.
Описание даётся в предположении, что дети (или их учитель) знакомы со средой программирования makecode, в которой программируется контроллер micro:bit.
Программы описываются в текстовой форме: Расширение.Блок(параметры блока), сдвиг строк указывает вложенность блоков (в стиле языка Питон).
Итак, открываем https://makecode.microbit.org, собранного робота (с выключенным питанием) подключаем к компьютеру по microUSB и начинаем новый проект...
Тема "Поворотники"
Тема посвящена работе двух лампочек на "бампере" робота, попутно идёт знакомство с модульностью программ (подкачка в среду makecode расширения для поддержки робота) , вводом-выводом и обработкой событий, автономным исполнением программы, циклом.
Makecode - среда, программирования контроллера micro:bit, "мозга" робота Maqueen, но эта среда "на знает" о периферии (устройствах ввода-вывода робота), поэтому сначала в проект нужно добавить специальное расширение, поддерживающее Maqueen:
- В меню Дополнительно, выбрать Расширения,
- в поле URL-адреса ввести https://github.com/jhlucky/maqueen, нажать Поиск
- выбрать мышью найденный модуль
- в меню проекта появится расширение maqueen
Внимание - расширение maqueen не локализовано (локализация - в планах).
А) Проверка работы "поворотников"
Программа составляется в блоке "при начале"
Используемые блоки:
maqueen.led - позволяет включать и выключать "поворотники" на роботе.
Параметры: 1. Поворотник (LEDLeft - левый, LEDRight - правый)
2. Включить/выключить (turnOn - включить, turnOff - выключить)
Основное.пауза - пауза в выполнении программы
Параметры: 1. Время паузы в миллисекундах
Программа:
при начале
maqueen.led(LedLeft, turnOn) // включить левый поворотник
Основное.пауза(1 second)
maqueen.led(LedRight, turnOn) // включить правый поворотник
Основное.пауза(1 second)
maqueen.led(LedRight, turnOff) // выключить правый поворотник
Основное.пауза(1 second)
maqueen.led(LedLeft, turnOff) // выключить левый поворотник
- Скачать программу, скопировать её на диск MICROBIT,- убедиться, что после загрузки запрограммированные действия выполнены.
- Отключить USB, включить питание Maqueen - убедиться, что программа выполнена автономно.
- Выключить питание робота.
Б) Цикл - мигание поворотников
Дополнительный блок - блок повторения операций:
Циклы.повторить - позволяет повторять операции указанное число раз
Параметры: 1. Число повторений
Программа - помигать 5 раз левым поворотником, потом правым.
при начале
Циклы.повторить(5)
maqueen.led(LedLeft, turnOn) // включить левый поворотник
Основное.пауза(500 ms) // пауза 500 миллисекунд, то есть, полсекунды
maqueen.led((LedLeft, turnOff)// выключить левый поворотник
Основное.пауза(500 ms) //
Основное.пауза(1 second) // пауза между левым и правым поворотником
Циклы.повторить(5)
maqueen.led((LedRight, turnOn) // включить левый поворотник
Основное.пауза(500 ms) //
maqueen.led((LedRight, turnOff) // включить левый поворотник
Основное.пауза(500 ms) //
В) Использование кнопок для включения поворотников
Дополнительные блоки: Выполнение операций при нажатии кнопки на micro:bit
Ввод.кнопка нажата - позволяет выполнить операции при нажатии указанной кнопки или при одновременном нажатии обеих кнопок
Параметры: 1. Кнопка(или обе): A, B, A+B
Программа: при нажатии кнопки A помигать правым поворотником, при нажатии кнопки B помигать левым поворотником.
Ввод.кнопка нажата(B)
Циклы.повторить(5)
maqueen.led(LedLeft, turnOn) // включить левый поворотник
Основное.пауза(500 ms) // пауза 500 миллисекунд, то есть, полсекунды
maqueen.led(LedLeft, turnOff)// выключить левый поворотник
Основное.пауза(500 ms) //
Ввод.кнопка нажата(A)
Циклы.повторить(5)
maqueen.led(LedRight, turnOn) // включить левый поворотник
Основное.пауза(500 ms) //
maqueen.led(LedRight, turnOff) // включить левый поворотник
Основное.пауза(500 ms) //
Проверить работу программы.
Г) Дополнительное задание:
Расширить программу так. чтобы дополнительно был реализован сигнал аварийной остановки - при нажатии обеих кнопок оба поворотника мигают синхронно.
Продолжение следует...
,