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

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

Жанры

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

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

Если вы кладете контроллер горизонтально на стол экраном вверх, на экране будет нарисован квадрат большого размера. Если же вы перевернете плату контроллера экраном вниз, то увидите на экране квадрат маленького размера.

Все возможные варианты показаны на рис. 5.5.

< image l:href="#"/>

Рис. 5.5. Изображение на экране контроллера зависит от его

расположения в пространстве

Программа находится в файле BoxRover/ch05/microbit-Жесты.hex.

Обнаружение невесомости и перегрузок

Если ваш микроконтроллер micro:bit находится в космосе, или просто упал со стола, то возникнет событие от жеста свободное падение.

На рис. 5.6 показана очень простая программа, которая может обнаружить состояние невесомости.

Рис. 5.6. Программа обнаружения невесомости

Когда ваш micro:bit окажется в невесомости, на его экране будет нарисован ромб (рис. 5.7).

Рис. 5.7. Обнаружено состояние невесомости

Код программы мы сохранили в файле BoxRover/ch05/microbit-Невесомость.hex.

Испытывая программу, соблюдайте осторожность чтобы не повредить ваш micro:bit. Вы можете бросать его на что-то мягкое, на подушку или диван, либо просто ловить рукой.

Невесомость не всегда означает опасность, но вот перегрузки – совсем другое дело. Давайте создадим программу, которая обнаруживает перегрузки из-за слишком сильного ускорения (рис. 5.8). Эта программа записана в файл BoxRover/ch05/microbit-Перегрузка.hex.

Рис. 5.8. Программа обнаружения перегрузок

Когда будет обнаружена перегрузка свыше 8g, на экране сначала будет нарисована галочка, потом на одну секунду —крестик (рис. 5.9), и затем снова галочка.

Рис. 5.9. Обнаружена перегрузка

Вы можете менять значение порога ускорения в блоке по жесту, указывая там 3g, 6g или 8g.

Но будьте осторожны, подвергая плату микроконтроллера перегрузкам – она может выйти из строя. Для проверки работы программы возьмите плату micro:bit в руку и встряхните. Если плата подключена к компьютеру через разъем микро-USB, не держите ее за кабель, чтобы не повредить разъем. Прикладывайте усилия таким образом, чтобы не сломать разъем на плате контроллера.

Рисуем гистограмму значений ускорения

Возможно, вы никогда не сталкивались с понятием гистограммы. Расскажем кратко, что это такое.

Гистограммой называется графический

способ представления табличных данных. При построении графика гистограммы по горизонтальной оси откладываются интервалы, в которые могут попадать значения. В нашем случае мы будем использовать здесь значения ускорения, полученные от акселерометра micro:bit.

По вертикальной оси откладывается частота попадания значений в тот или иной интервал. При этом площадь прямоугольника, соответствующая интервалам горизонтальной оси, соответствует количеству значений, попавших в данный интервал.

Перейдем от теории к практике.

Подготовим программу, которая строит гистограмму значений, полученных от акселерометра микроконтроллера, на его экране (рис. 5.10). Она находится в файле BoxRover/ch05/microbit-Гистограмма-ускорения.hex.

Рис. 5.10. Построение гистограммы значений ускорения

Здесь мы определяем переменную ускорение, после чего запускается бесконечный цикл. В цикле в эту переменную записывается значение ускорения в тысячных долях g, полученное от акселерометра micro:bit.

Далее управление получает блок plot bar graf, добавленный из палитры Светодиоды.

В качестве параметра мы передаем этому блоку текущее значение ускорения, полученное от акселерометра. В параметра up to нужно указать максимальное значение, которое может вернуть акселерометр. Мы знаем, что это значение равно 1023.

Теперь загрузим программу в память микроконтроллера и оставим его плату спокойно лежать на столе. На экране будет картина, показанная слева на рис. 5.11.

Рис. 5.11. Гистограммы значений от акселерометра

Если потихоньку трясти плату микрокомпьютера, то вы увидите быстро меняющуюся гистограмму (средняя и правая картинка на рис. 5.11). Чем сильнее вы будете трясти плату micro:bit, тем больше будет высота линий, нарисованных на экране.

Домашнее задание

В качестве первого домашнего задания доработайте программу бросания костей BoxRover/ch05/microbit-Кости.hex (рис. 5.3). Сделайте так, чтобы через секунду после встряхивания на экране micro:bit по очереди показывалось два случайных числа (как будто мы бросаем две кости). При этом сначала должно показываться одно случайное число, потом символ ромбика, а затем – второе случайное число.

Решение вы найдете в файле BoxRover/ch05/microbit-Бросаем-кости.hex.

Вторым домашним заданием будет сделать прототип пульта управления вашим марсоходом. Для управления движением ровера используйте кнопки A и B, а также жесты.

Результатом выполнения любой команды должно быть отображение кода команды на экране micro:bit. Вот список кодов команд:

0 – движение вперед при нажатии кнопки A или жесте «логотип вниз»;

1 – движение назад при нажатии кнопки B или жесте «логотип вверх»;

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

Тринадцатый IV

NikL
4. Видящий смерть
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Тринадцатый IV

Огненный князь 6

Машуков Тимур
6. Багряный восход
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 6

Изгой. Пенталогия

Михайлов Дем Алексеевич
Изгой
Фантастика:
фэнтези
9.01
рейтинг книги
Изгой. Пенталогия

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Искушение генерала драконов

Лунёва Мария
2. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Искушение генерала драконов

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Смерть может танцевать 2

Вальтер Макс
2. Безликий
Фантастика:
героическая фантастика
альтернативная история
6.14
рейтинг книги
Смерть может танцевать 2

Гром над Академией Часть 3

Машуков Тимур
4. Гром над миром
Фантастика:
фэнтези
5.25
рейтинг книги
Гром над Академией Часть 3

Провалившийся в прошлое

Абердин Александр М.
1. Прогрессор каменного века
Приключения:
исторические приключения
7.42
рейтинг книги
Провалившийся в прошлое

Последняя жертва

Мид Райчел
6. Академия вампиров
Фантастика:
ужасы и мистика
9.51
рейтинг книги
Последняя жертва

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

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

Наследник старого рода

Шелег Дмитрий Витальевич
1. Живой лёд
Фантастика:
фэнтези
8.19
рейтинг книги
Наследник старого рода

Книга 5. Империя на марше

Тамбовский Сергей
5. Империя у края
Фантастика:
альтернативная история
5.00
рейтинг книги
Книга 5. Империя на марше

Кодекс Охотника. Книга XVI

Винокуров Юрий
16. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVI