Чтение онлайн

на главную - закладки

Жанры

Робототехника: практическое введение для детей и взрослых
Шрифт:

Рис. 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).

< image l:href="#"/>

Рис. 2.14. Палитра доступных значков

Как видите, значков довольно много.

Если загрузить нашу программу в память микроконтроллера, на его мониторе появится изображение выбранного вами значка (рис. 2.15).

Рис. 2.15. Изображение значка на мониторе микроконтроллера

Давайте теперь составим программу, которая будет показывать по очереди разные значки.

Прежде всего, добавьте в блок постоянно отображение большого и маленького значка сердца, как это показано на рис. 2.16.

Рис. 2.16. Значки будут показаны по очереди

Эти значки будут показываться в бесконечном цикле по очереди, и вы увидите на мониторе, как бьется сердце!

Код программы записан в файл BoxRover/ch02/microbit-Сердце.hex.

Вы можете показывать несколько значков по очереди, включив их в цикл (рис. 2.17) .

Поделиться:
Популярные книги

Камень Книга седьмая

Минин Станислав
7. Камень
Фантастика:
фэнтези
боевая фантастика
6.22
рейтинг книги
Камень Книга седьмая

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Студиозус 2

Шмаков Алексей Семенович
4. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Студиозус 2

Кодекс Крови. Книга ХVIII

Борзых М.
18. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVIII

Экспансия: Сотрудничество. Том 5

Белов Артем
5. Планетарный десант
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Экспансия: Сотрудничество. Том 5

На границе империй. Том 6

INDIGO
6. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.31
рейтинг книги
На границе империй. Том 6

Эволюционер из трущоб. Том 10

Панарин Антон
10. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 10

Сумеречный стрелок 6

Карелин Сергей Витальевич
6. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок 6

Возвращение Безумного Бога

Тесленок Кирилл Геннадьевич
1. Возвращение Безумного Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Возвращение Безумного Бога

Я тебя не отпускал

Рам Янка
2. Черкасовы-Ольховские
Любовные романы:
современные любовные романы
6.55
рейтинг книги
Я тебя не отпускал

Возвышение Меркурия. Книга 2

Кронос Александр
2. Меркурий
Фантастика:
фэнтези
5.00
рейтинг книги
Возвышение Меркурия. Книга 2

Агенты ВКС

Вайс Александр
3. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Агенты ВКС

Боец с планеты Земля

Тимофеев Владимир
1. Потерявшийся
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Боец с планеты Земля

Зайти и выйти

Суконкин Алексей
Проза:
военная проза
5.00
рейтинг книги
Зайти и выйти