Александр Фролов
Робототехника: практическое введение для детей и взрослых
Содержание книги
Эта книга поможет вам быстро освоить основы робототехники и приступить к конструированию собственных роботов, систем автоматизации и даже элементов умного дома.
Если вы не программист, то наша книга позволит вам реализовать свои идеи в области робототехники с помощью визуальных средств разработки, не требующих программирования. Вам не потребуется паяльник современные компоненты можно устанавливать на макетных платах, не вдыхая запах канифоли.
Изучайте микроконтроллеры и робототехнику по нашей книге, и вы сможете быстро освоить современные профессии.
Вы научитесь программировать micro:bit версий 1.5 и 2, научитесь работать с кнопками, светодиодами, светодиодным и OLED-экраном, измерять температуру, ускорение, напряженность магнитного поля.
Используя интерфейс GPIO, предусмотренный на плате micro:bit, вы подключите такие устройства, как моторы, сервоприводы, обычные и сенсорные кнопки, датчики движения, расстояния и многие другие.
Данные, полученные от контроллеров, вы сможете передавать на другие контроллеры с помощью радиоканала Bluetooth, а также контроллеров LoRa, способных обеспечить радиосвязь на расстояния, исчисляемые километрами.
В отдельной главе мы расскажем о том, как организовать электропитание робота или других конструкций с микроконтроллерами.
В главе1 «Запускаем микроконтроллерmicro:bit» вы научитесь создавать простые программы для micro:bit версий 1.5 и 2 с помощью визуального редактора блоков Microsoft MakeCode for micro:bit.
Эти программы вы будете загружать в микроконтроллер через браузер, через сайт https://makecode.microbit.org/, через автономную программу Microsoft MakeCode, установленную на компьютере или ноутбуке, а также через приложение micro:bit, установленное в смартфоне или планшете.
Глава 2 «Управляем светодиодами» расскажем вам о том, как можно легко выводить на экран micro:bit, состоящий из 25 светодиодов, различную графическую, числовую и текстовую информацию.
Также с помощью генератора случайных чисел вы создадите на этом экране простую анимацию звездное небо и блуждающую точку.
В главе 3 «Работаем с кнопками» мы будем использовать кнопки A и B, расположенные на плате micro:bit, а также сенсорную кнопку в виде логотипа, доступную в micro:bit версии 2. Вы научитесь обрабатывать события, возникающие при нажатии этих кнопок, а также проверять их состояние во время работы программы. Кроме этого, вы сможете использовать контакты P0, P1 и P2 в качестве сенсорных кнопок.
Эти знания помогут вам управлять с помощью обычных и сенсорных кнопок работой программы звездного неба, созданной во второй главе, и другими различными программами.
В главе 4 «Измеряем температуру» вы научитесь пользоваться измерителем температуры, встроенным в процессор платы micro:bit. Это позволит вам создать программы, которые показывают текущую температуру процессора, а также контролировать превышение температуры сверх заданного значения.
Глава 5 «Измеряем ускорение» позволит вам контролировать движение платы micro:bit с ускорением или нахождение ее в состоянии невесомости. Вы научитесь обрабатывать жесты поворот платы микроконтроллера логотипом вверх или вниз, наклон вправо или влево, поворот монитором вверх или вниз, встряхивание.
Все это будет возможно, когда вы научитесь работать с акселерометром, специально предназначенным для измерения ускорения во всех трех направлениях движения. Это устройство встроено в плату micro:bit.
Вы создадите программы, способные обнаружить невесомость и значительные перегрузки, реагировать на жесты, строить гистограмму значений ускорения.
Глава 6 называется «Встроенный магнитометр». В ней вы научитесь использовать магнитометр, расположенный на плате micro:bit, для исследования напряженности магнитного поля, а также сделаете простейший компас.
В главе 7 «Подключаем внешние устройства» мы научим вас работать с некоторыми внешними устройствами из набора DFRobot для micro:bit. Набор хорош тем, что не требует никаких навыков пайки и позволяет легко изучить способы подключения и программирования таких устройств, как светодиод, кнопки, моторы, потенциометры, датчики движения.
Вы сможете управлять яркостью небольшой светодиодной ленты и даже превратите свой micro:bit в простую музыкальную шкатулку.
Глава 8 «ОсваиваемGPIO» посвящена подключению различных периферийных устройств к разъему GPIO микрокомпьютера micro:bit. Мы расскажем об этом разъеме и назначении его контактов, научим вас подключать к нему потенциометры, светодиоды, мощные лампочки. МЫ также расскажем об использовании широтно-импульсной модуляции для управления яркостью светодиодов и лампочек, а также скоростью вращения моторов.
Вы подключите ультразвуковой и инфракрасный дальномеры, которые пригодятся при создании роботов, например, для исключения столкновений с препятствиями при движении.
Мы также расскажем об использовании макетных плат для сборки различных схем без помощи пайки.
Глава 9 «Запускаем радиоканал» будет полезна, если в вашем проекте используется несколько плат micro:bit. Для создания радиоканала между платами вы будете использовать контроллеры Bluetooth. Такое контроллер уже встроен в плату micro:bit.
Работая с этой главой, вы сделаете устройство с пультом управления, позволяющее включать и выключать дистанционно лампочку и вентилятор, а также научитесь передавать по радио данные телеметрии. Мы также расскажем, как управлять мощностью передаваемого сигнала, и как измерять мощность принятого сигнала.
Глава 10 «Подключаемmicro:bitк компьютеру и второмуmicro:bit» научит вас передавать данные из micro:bit в терминальную программу, работающую на компьютере, подключенном к плате micro:bit через порт USB. Такая возможность будет очень удобна при отладке программ, работающих на micro:bit.
Также вы научитесь передавать данные между двумя платами micro:bit, соединенными двумя проводами с помощью интерфейса UART.
В главе 11 «МарсоходBoxRoverзаводит моторы» вы приблизитесь к созданию ровера модели радиоуправляемого марсохода. Вы научитесь управлять моторами ровера с помощью транзистора и контроллера MX1508, реализующих функции H-моста и создадите программу, управляющую вращением двигателя.
Работая над этой главой, вы создадите первый прототип ровера BoxRover с микроконтроллером micro:bit, управляемого по радио со второго такого же контроллера.
В качестве домашнего задания вы сделаете простейшую систему передачи данных телеметрии, способную передавать в пульт управления температуру процессора micro:bit ровера. При этом на экране ровера будет отображаться температура процессора micro:bit пульта управления.
Глава 12 «Управляем сервоприводами» также посвящена управлению двигателями, только другого типа. В этой главе мы расскажем о сервоприводах, которые могут поворачивать свою ось на заданный угол, а также о сервоприводах непрерывного вращения, способных поддерживать скорость и направление вращения вала.
В этой главе вы узнаете, как устроены сервоприводы, а также научитесь создавать программы для micro:bit, способные ими управлять.
Вы создадите программу для ручного управление сервоприводом при помощи потенциометра, а в качестве домашнего задания систему автоматического управления шлагбаумом. Она будет открывать шлагбаум, когда к нему приближается автомобиль, а после проезда автомобиля автоматически закрывать шлагбаум.
В главе 13 «ОсваиваемI2C» мы расскажем об интерфейсе I2C, специально предназначенном для подключения периферийных устройств к микроконтроллерам. На плате micro:bit уже есть все необходимое для работы с I2C.
Вы научитесь подключать к этому интерфейсу измеритель освещенности BH1750 FVI GY-30, погодную станцию Grove-BME280 или Grove-BMP280, а также OLED монитор, и, конечно, напишете программы для работы с ними.
На базе контроллера часов реального времени DS-3231 вы соберете часы с таймером и погодной станцией, позволяющие устанавливать текущую дату, текущее время, время срабатывания таймера. Когда таймер установлен, горит светодиод желтого цвета, а когда он сработал белого. С помощью кнопок A и B, расположенных на плате micro:bit, вы сможете установить текущие дату и время, время срабатывания таймера, сбрасывать и устанавливать таймер.
Погодная станция будет показывать на экране монитора OLED температуру, давление, влажность и температуру точки росы.
Глава 14 «ОбновлениеBoxRover» приблизит нас еще на один шаг к созданию управляемого ровера.
Теперь наш прототип марсохода, управляемый по радио с помощью жестов, научится останавливаться перед препятствием при движении вперед и сигнализировать о такой остановке на экране монитора micro:bit, а также поднятием красного флажка с помощью сервопривода.
Теперь наш прототип марсохода, управляемый по радио с помощью жестов, научится останавливаться перед препятствием при движении вперед и сигнализировать о такой остановке на экране монитора micro:bit, а также поднятием красного флажка с помощью сервопривода.
,Кроме всего этого, наш ровер будет отправлять в пульт управления телеметрические данные температуру процессора и окружающей среды, давление, влажность, освещенность и температуру точки росы. Эти данные мы будем выводить на OLED-монитор, смонтированный в пульте управления.
В главе 15 «Электропитание робота» рассказано о том, какие существуют батарейки и аккумуляторы, как выбрать нужный тип питающих элементов для вашего робота. Будут рассмотрены особенности работы и зарядки аккумуляторов разных типов, применения контроллеров заряда и разряда Battery Management System (BMS).
Также вы узнаете, как использовать преобразователи и стабилизаторы для устройств, которым нужно разное напряжение питания, как подключать аккумуляторы и батарейки к макетной плате и устройствам робота с помощью отсеков и переходников, как питать робота от электрической сети 220 В на этапе отладки.
В главе 16 «Дальняя радиосвязь» рассмотрено использование технологии LoRa для создания каналов радиосвязи, способных передавать данные на большие расстояния, порядка километров и даже больше. При этом используются недорогие платы micro:bit и модули LoRa производства компании EBYTE.
Вы соберете погодную станцию, способную передавать информацию о температуре, давлении, влажности и температуре точки росы через канал дальней радиосвязи.