Публикации сообщества

Михаил Семионенков • 7 апреля 2019

"Техосмотр" робота Maqueen: работа с поворотниками

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

Примерный начальный урок показывает, что с роботом в рамках небольшой темы (работа "поворотников") можно (по ходу) познакомить детей с целым рядом базовых программистских концепций: цикл, обработка событий, модульность программы...Опробовать урок могут те, кто приобрёл и собрал робот 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)        // 

Проверить работу программы.

Г) Дополнительное задание:

Расширить программу так. чтобы дополнительно был реализован сигнал аварийной остановки - при нажатии обеих кнопок оба поворотника мигают синхронно.

Продолжение следует...


 

 

Кол-во комментариев: (2)