Страница 7 из 15
Перетащите блок переключить в блок постоянно. После этого откройте палитру Основное и перетащите из нее блок пауза, расположив его под блоком переключить, как это показано на рис. 2.2.
Теперь щелкните кнопку Скачать, и через некоторое время вы сможете наблюдать, как на плате micro:bit начнет мигать светодиод с координатами (0, 0). Интервал мигания составит, как и следовало ожидать, 1 сек.
На рис. 2.3 показан момент, когда светодиод включен.
Рис. 2.3. Мигает светодиод с координатами (0,0)
Система координат для выбора светодиодов показана на рис. 2.4.
Рис. 2.4. Система координат для выбора светодиодов
Если расположить микроконтроллер разъемом вниз, то начало системы координат будет в левом верхнем углу. Ось X пойдет вправо, а ось Y – вниз.
Все, что вы добавите в блок постоянно, будет выполняться в зацикленном режиме, как бы по кругу. Вначале сработает блок переключить, потом пауза, дальше опять переключить и пауза, и так бесконечно, пока на микроконтроллер подается напряжение питания.
В палитре Основное также есть блок при начале, содержимое которого исполняется только один раз после включения питания микроконтроллера.
Теперь давайте сохраним проект с помощью кнопки с изображением дискеты, задав для него имя «Мигаем-светодиодом». Код программы будет сохранен в файле BoxRover/ch02/microbit-Мигаем-светодиодом.hex, и вы сможете его скачать на сайте автора http://frolov-lib.ru/books/boxrover/.
Теперь давайте проведем некоторые эксперименты.
Прежде всего, попробуйте изменить расположение мигающего светодиода, отредактировав его координаты в блоке переключить.
Если щелкнуть мышью значение координаты, появится слайдер, с помощью которого можно выбрать число от 0 до 4. Число также можно задать и с клавиатуры, если предварительно щелкнуть мышью соответствующее поле. Установите координаты светодиода (4,4), как это показано на рис. 2.5.
Рис. 2.5. Изменяем координаты мигающего светодиода
Если теперь загрузить программу в память micro:bit, то будет мигать уже другой светодиод (рис. 2.6).
Рис. 2.6. Мигает светодиод с координатами (4,4)
В качестве следующего эксперимента попробуйте уменьшить интервал мигания, изменив значение в панели пауза.
Установите там, например, задержку 100 мс. Мигание светодиода заметно ускорится. Вы даже можете совсем убрать задержку из блока постоянно (рис. 2.7) .
Рис. 2.7. Цикл переключения светодиода без задержки
Светодиод начнет мигать еще быстрее.
Рисуем линию
Итак, мы только что научились мигать любым из 25 светодиодов, имеющихся в нашем распоряжении на плате микроконтроллера micro:bit. Теперь поставим перед собой более сложную задачу – нарисуем на светодиодном дисплее линию. Для этого нужно включить несколько светодиодов, расположенных вдоль линии.
Для того чтобы включить светодиод, можно воспользоваться блоком построить из панели компонентов Светодиоды. Этому блоку нужно передать в качестве параметров два значения – координаты светодиода, который нужно включить.
Проще всего добавить в блок при начале несколько блоков построить, задав для каждого из них нужные координаты.
Вы можете перетащить сначала один такой блок, а потом просто продублировать его, щелкнув правой клавишей мыши и выбрав из появившегося контекстного меню строку Дублировать.
На рис. 2.8 мы добавили пять блоков построить, указав для них координату по оси X, равную 0. По оси Y мы задали значения от 0 до 4.
Рис. 2.8. Включаем пять светодиодов вдоль линии
Если загрузить такую программу, то мы увидим, что на дисплее нашего микроконтроллера появилась вертикальная линия (рис. 2.9).
Рис. 2.9. Мы нарисовали линию
Код этой программы мы сохранили в файле BoxRover/ch02/microbit-Линия1.hex.
Но повторять одни и те же блоки – скучное дело. Давайте нарисуем линию с помощью так называемого цикла.
Что такое цикл?
В программировании цикл представляет собой конструкцию, позволяющую организовать многократное выполнение одних и тех же операций.
Сразу перейдем от слов к делу.
Добавьте в блок при начале из палитры Циклы блок для, а внутрь него поместите блок построить, как это показано на рис. 2.10.
Рис. 2.10. Рисование линии с помощью цикла
В блоке для имеется так называемая переменная цикла индекс. Задайте для этой переменной конечное значение в поле до, равное 4 (мышью с помощью слайдера или с клавиатуры).
Перетащите мышью переменную индекс из поля для в поле y блока построить.
Тело нашего цикла (т.е. блок построить) выполнятся пять раз, при этом переменная индекс будет принимать последовательно значения от 0 до 4.
В результате на дисплее нашего micro:bit будет нарисована точно такая же вертикальная линия, что показана выше на рис. 2.9. Но теперь в программе нет скучного повторения блоков.
Теперь нарисуем линию по диагонали монитора micro:bit. Для этого измените программу так, как это показано на рис. 2.11.
Рис. 2.11. Рисование линии по диагонали
Теперь в цикле одновременно будут изменяться координаты по обеим осям, X и Y. Результат показан на рис. 2.12.
Рис. 2.12. Наклонная линия на мониторе micro:bit
Код программы, рисующий наклонную линию, мы сохранили в файле BoxRover/ch02/microbit-Линия.hex.
Рисуем на экране micro:bit фигуры и значки
Как мы уже говорили, на экране платы micro:bit есть 25 светодиодов, что позволяет рисовать простейшие фигуры. Но делать это, зажигая каждый нужный светодиод отдельно – довольно утомительная задача. К счастью, в редакторе MakeCode есть удобные средства для рисования на экране различных значков.
Откройте палитру Основное и добавьте в блок при начале блок показать значок (рис. 2.13).
Рис. 2.13. Рисуем значок
По умолчанию будет нарисовано сердечко, но вы можете задать и другие значки. Чтобы увидеть их список, щелкните изображение треугольника в блоке показать значок. На экране появится палитра доступных значков (рис. 2.14).