Опубликовано

Представляем 3-е издание книги “Мобильные роботы на базе Arduino”

Мобильные роботы на базе Arduino, 3-е изд.

Представляем третье издание книги Михаила Момота “Мобильные роботы на базе Arduino”.

уководство для начинающих конструкторов написано в форме практических проектов по построению мобильных роботов. Для их реализации выбрана популярная платформа Arduino и четырехколесная конструкция. Рассказано, как управлять моторами, осуществлять сборку механики и электроники, программировать основные функции и управлять роботом. Роботы смогут обходить препятствия, выбираться из запутанных лабиринтов,

В 3-м издании добавлены проекты по передаче изображения с камеры, удержанию направление движения по гироприборам,  модель  двухколесного балансирующего робота на моторах с энкодерами. Все сложные алгоритмы вынесены в отдельную библиотеку.

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

Для читателей, интересующихся электроникой и робототехникой

Эта книга написана для начинающих Конструкторов, людей, которым нравится конструировать мобильных роботов на популярной платформе Arduino .
В новом издании сделан упор на практическую реализацию описанных конструкций, а также на расширение функциональных возможностей роботов с помощью современных датчиков (гироприбора, видеокамеры, энкодеров и др.) и продвинутого программирования. Но в книге нет пространных листингов: большинство сложных участков программного кода перенесено в библиотеку, которая предлагается с книгой. Потому процесс конструирования остается по-прежнему доступным и увлекательным.

— Михаил Момот, автор книги

Книгу “Мобильные роботы на базе Arduino, 3-е изд.” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Предисловие………………………………………………………………………………………….. 9

Глава 1. Основные составные части робота………………………………………. 13

Информационно-измерительная система………………………………………………………. 13

Датчик касания…………………………………………………………………………………….. 14

Датчик температуры……………………………………………………………………………… 14

Датчик освещенности……………………………………………………………………………. 15

Датчик препятствия………………………………………………………………………………. 15

Ультразвуковой датчик расстояния………………………………………………………… 16

Оптический рефлекторный датчик расстояния………………………………………….. 16

Детектор шума…………………………………………………………………………………….. 17

Энкодер……………………………………………………………………………………………… 17

Датчик движения………………………………………………………………………………….. 18

Датчик газа………………………………………………………………………………………….. 18

Датчик влажности………………………………………………………………………………… 18

Видеокамера……………………………………………………………………………………….. 19

Система принятия решений………………………………………………………………………….. 20

Контроллер Arduino……………………………………………………………………………… 20

Система связи…………………………………………………………………………………………… 22

Инфракрасный приемник……………………………………………………………………….. 22

Канал Bluetooth……………………………………………………………………………………. 23

Канал Wi-Fi………………………………………………………………………………………….. 23

Устройства отображения информации (дисплеи)………………………………………. 24

Исполнительная система…………………………………………………………………………….. 24

Электрический двигатель постоянного тока……………………………………………… 25

Сервомотор………………………………………………………………………………………… 26

Шаговый двигатель………………………………………………………………………………. 26

Система энергоснабжения…………………………………………………………………………… 27

Механика робота……………………………………………………………………………………….. 27

Элементы электрической схемы…………………………………………………………………… 27

Резистор…………………………………………………………………………………………….. 27

Светодиод………………………………………………………………………………………….. 28

Выключатель………………………………………………………………………………………. 28

Сервисные платы……………………………………………………………………………………….. 28

Arduino Sensor Shield v5.0……………………………………………………………………… 28

Макетная плата……………………………………………………………………………………. 29

Выводы……………………………………………………………………………………………………. 30

Глава 2. Провода и их соединения………………………………………………………. 31

Виды проводов…………………………………………………………………………………………. 31

Одножильные………………………………………………………………………………………. 31

Многожильные…………………………………………………………………………………….. 31

Тип изоляции……………………………………………………………………………………….. 32

Способы соединений проводов……………………………………………………………………. 32

Скрутка………………………………………………………………………………………………. 32

Разъемные соединения…………………………………………………………………………. 33

Пайка и ее основы………………………………………………………………………………… 35

Оборудование и материалы……………………………………………………………. 35

Этапы пайки………………………………………………………………………………….. 36

Выбор паяльника………………………………………………………………………….. 37

Уход за паяльником………………………………………………………………………. 38

Припои………………………………………………………………………………………… 38

Флюсы…………………………………………………………………………………………. 39

Выводы……………………………………………………………………………………………………. 39

Глава 3. Электропитание……………………………………………………………………… 40

Закон Ома………………………………………………………………………………………………… 40

Электрическая мощность……………………………………………………………………………. 40

Характеристики элементов питания………………………………………………………………. 40

Номинальное напряжение……………………………………………………………………… 40

Номинальный ток…………………………………………………………………………………. 41

Внутреннее сопротивление источника питания…………………………………………. 41

Емкость батареи или аккумулятора………………………………………………………… 41

Форм-фактор………………………………………………………………………………………. 41

Типы элементов электрического питания……………………………………………………….. 41

Солевые батареи…………………………………………………………………………………. 42

Алкалиновые батареи…………………………………………………………………………… 42

Никель-металлогидридные аккумуляторы………………………………………………… 42

Литий-ионные и литий-полимерные аккумуляторы…………………………………….. 42

Стабилизация электропитания……………………………………………………………………… 43

Стабилизация напряжения……………………………………………………………………… 44

Стабилизация электрического тока…………………………………………………………. 46

Измерение электрического тока, напряжения и сопротивления…………………………. 46

Защита от короткого замыкания по питанию………………………………………………….. 48

Защита от неверной установки элементов питания (переполюсовки)…………………. 50

Зарядка аккумуляторов на примере Li-ion и Li-pol…………………………………………… 51

Выводы……………………………………………………………………………………………………. 52

Глава 4. Основы программирования Arduino…………………………………….. 53

Компьютерная программа…………………………………………………………………………… 53

Алгоритм………………………………………………………………………………………………….. 54

Среда разработки Arduino IDE…………………………………………………………………….. 55

Установка Arduino IDE…………………………………………………………………………… 55

Начало работы с Arduino IDE…………………………………………………………………. 56

Подключение контроллера Arduino к ПК………………………………………………….. 56

Мигаем светодиодом………………………………………………………………………………….. 60

Мониторинг работы программы…………………………………………………………………… 61

Переменные………………………………………………………………………………………………. 62

Условные операторы………………………………………………………………………………….. 64

Оператор if … else……………………………………………………………………………….. 64

Оператор switch … case………………………………………………………………………… 67

Операторы циклов while и for……………………………………………………………………….. 68

Функции……………………………………………………………………………………………………. 70

Элементы объектно-ориентированного программирования……………………………… 71

Разделение программы (внутренние библиотеки)……………………………………………. 72

Выводы……………………………………………………………………………………………………. 73

Глава 5. Ходовая часть………………………………………………………………………… 74

Типы ходовых частей………………………………………………………………………………….. 74

Гусеницы…………………………………………………………………………………………….. 74

Колеса с дифференциалом…………………………………………………………………… 75

Колеса на моторах………………………………………………………………………………. 75

Летающие роботы………………………………………………………………………………… 76

Выбор двигателей……………………………………………………………………………………… 76

Драйверы двигателей…………………………………………………………………………………. 78

Сборка макета…………………………………………………………………………………………… 80

Управляем двигателем без Arduino…………………………………………………………. 80

Широтно-импульсная модуляция……………………………………………………………. 82

Подключаем контроллер Arduino……………………………………………………………. 83

Подключаем библиотеку mobrob3.zip и пишем тестовую программу…………….. 86

Добавляем регулирование на основе ШИМ……………………………………………… 87

Тестовая программа управления двигателями
с регуляцией на основе ШИМ…………………………………………………………………. 87

Выводы……………………………………………………………………………………………………. 89

Глава 6. Сборка базовой модели…………………………………………………………. 90

Минимальный комплект………………………………………………………………………………. 90

Двигатели…………………………………………………………………………………………………. 92

Система электропитания…………………………………………………………………………….. 93

Подбираем компоненты………………………………………………………………………………. 96

Схемы………………………………………………………………………………………………………. 98

Проверка правильности подключения платы драйвера и двигателей……………….. 102

Пример использования платы Arduino Sensor Shield……………………………………… 103

Установка устройств обратной связи………………………………………………………….. 104

Укладка проводов……………………………………………………………………………………. 107

Выводы…………………………………………………………………………………………………… 107

Глава 7. Схема управления движением…………………………………………….. 108

Переменные и функции управления моторами………………………………………………. 108

Подключение управления моторами……………………………………………………… 108

Управление мощностью………………………………………………………………………. 108

Движение в нужном направлении………………………………………………………….. 109

Первая поездка………………………………………………………………………………………… 109

Алгоритм…………………………………………………………………………………………… 109

Программа………………………………………………………………………………………… 110

Сигнал светодиодом…………………………………………………………………………………. 111

Выводы…………………………………………………………………………………………………… 112

Глава 8. Дистанционное управление роботом………………………………….. 113

Способы дистанционного управления…………………………………………………………. 113

Управление роботом по каналу инфракрасной связи…………………………………….. 114

Схема подключения……………………………………………………………………………. 114

Рекомендации по установке…………………………………………………………………. 116

Установка библиотеки IRremote…………………………………………………………….. 117

Получение кодов кнопок для используемого пульта……………………………….. 117

Программа………………………………………………………………………………………… 120

Управление роботом по каналу Bluetooth…………………………………………………….. 123

Подбор элементной базы…………………………………………………………………….. 124

Подключение к Arduino………………………………………………………………………… 125

Смена имени контроллера Bluetooth и робота………………………………………… 126

Настройка смартфона…………………………………………………………………………. 127

Устранение радиопомех………………………………………………………………………. 129

Программа………………………………………………………………………………………… 129

Управляем роботом по Wi-Fi (ESP-01)…………………………………………………………. 133

Выводы…………………………………………………………………………………………………… 138

Глава 9. Робот, держащий направление
по электронному гироскопу-акселерометру……………………………………… 139

Гироскоп…………………………………………………………………………………………………. 139

Акселерометр………………………………………………………………………………………….. 141

Электронный гироскоп………………………………………………………………………………. 142

Подключение гироскопа-акселерометра MPU-6050……………………………………….. 143

Получение данных с MPU-6050…………………………………………………………………… 145

Шкала значений MPU-6050…………………………………………………………………………. 148

Модернизация робота………………………………………………………………………………. 148

Монтаж устройства…………………………………………………………………………….. 148

Программирование…………………………………………………………………………….. 148

Основные функции для получения углов…………………………………………. 148

Стабилизация поворотов: ПИД-регулятор……………………………………….. 150

Добавляем функцию движения………………………………………………………. 153

Выводы…………………………………………………………………………………………………… 157

Глава 10. Движение по черной линии………………………………………………… 158

Обнаружение черной линии……………………………………………………………………….. 159

Фотодиод………………………………………………………………………………………….. 159

Фоторезистор……………………………………………………………………………………. 160

Фототранзистор…………………………………………………………………………………. 161

Инфракрасный датчик отражения TCRT 5000…………………………………………… 161

Подготовка робота: установка датчиков……………………………………………………… 163

Упрощенная программа движения………………………………………………………………. 166

Используем аналоговые данные «на всю катушку»………………………………………… 169

Выводы…………………………………………………………………………………………………… 173

Глава 11. Измерение расстояния и поворотная голова……………………. 174

Измеряем расстояние……………………………………………………………………………….. 174

Инфракрасный датчик расстояния GP2Y0A021YK0F………………………………………. 175

Лазерный датчик расстояния VL53L1X…………………………………………………………. 176

Ультразвуковые дальномеры HC-SR04 и US-026/25……………………………………….. 177

Поиск препятствия……………………………………………………………………………………. 179

Поворотная голова…………………………………………………………………………………… 184

Схемы подключения……………………………………………………………………………. 185

Управление сервомашинкой…………………………………………………………………. 187

Монтаж головы………………………………………………………………………………….. 189

Тестовая программа «Ведение цели»…………………………………………………….. 190

Если что-то пошло не так………………………………………………………………………….. 191

Выводы…………………………………………………………………………………………………… 192

Глава 12. Ходовые испытания: обход препятствий…………………………. 193

Программа проверки и настройки основных функций робота…………………………. 193

Выводы…………………………………………………………………………………………………… 200

Глава 13. Робот, находящий выход из лабиринта…………………………….. 201

Способ обхода лабиринта…………………………………………………………………………. 202

Обход лабиринта без модернизации робота………………………………………………… 203

Программа………………………………………………………………………………………… 207

Выводы…………………………………………………………………………………………………… 213

Глава 14. Робот с видеокамерой………………………………………………………… 214

Аналоговое видео с робота………………………………………………………………………. 214

Цифровое видео для робота: ESP32-CAM…………………………………………………… 216

Робот с камерой ESP32-CAM…………………………………………………………………….. 218

Добавление контроллеров ESP в среду ArduinoIDE………………………………… 219

Прошивка ESP32-CAM…………………………………………………………………………. 221

Настройка программного обеспечения робота……………………………………………… 222

Сборка электроники…………………………………………………………………………………. 224

Сборка механики……………………………………………………………………………………… 224

Выводы…………………………………………………………………………………………………… 226

Глава 15. Робот и пройденное расстояние………………………………………… 227

Моторы с инкрементальным энкодером………………………………………………………. 227

Как работает инкрементальный энкодер?………………………………………………. 228

Получение информации о вращении с инкрементальных энкодеров…………… 229

Следим за энкодерами в приложении……………………………………………………. 236

Выводы…………………………………………………………………………………………………… 243

Глава 16. Балансирующий робот……………………………………………………….. 244

Теория……………………………………………………………………………………………………. 244

Как найти угол наклона робота?…………………………………………………………… 246

Регулятор балансировки робота………………………………………………………….. 247

Программирование…………………………………………………………………………………… 248

Порядок подбора коэффициентов пропорциональности регулятора…………. 254

Выводы…………………………………………………………………………………………………… 260

Приложение. Описание электронного архива…………………………………… 261

Предметный указатель………………………………………………………………………. 265

Момот Михаил Викторович, сотрудник Томского политехнического университета, основатель и директор фирмы «Юрга-Технологии-Инновации», занимающейся разработкой роботов. Увлекается робототехникой, поклонник и пропагандист проекта Arduino с 2014 года. Основатель неформального клуба робототехников «Лига роботов ЮТИ ТПУ», объединяющего школьников студентов, преподавателей и энтузиастов. Автор популярных книг “Мобильные роботы на базе Arduino“, “Мобильные роботы на базе ESP32 в среде Arduino IDE“.

Опубликовано

Уже в продаже! «Интернет вещей. Набор для экспериментов с контроллерами Arduino UNO/ESP32/ATtiny84»

SPBot: робототехника в школе и дома. Набор электронных компонентов + КНИГА

Представляем  обновленнный набор “Интернет вещей. Набор для экспериментов с контроллером Arduino”. Новый набор получил новое название “Интернет вещей. Набор для экспериментов с контроллерами Arduino UNO/ESP32/ATtiny84“, потому что наряду с контроллером Arduino Uno в комплект также входят контроллеры ESP32 и ATtiny84.

Набор подготовлен по материалам 3-го издания популярной книги Тома Иго “Умные вещи: Arduino, датчики и сети для связи устройств, 3-е изд“, которая в увлекательной форме вводит читателя в мир Интернета вещей.

Выполнив 25 экспериментов, описанных в прилагаемом руководстве, вы научитесь осуществлять взаимодействие устройств с помощью контроллеров Arduino, ESP32 и ATtiny84 по каналам USB, Bluetooth, Wi-Fi и др.. Создадите сетевой измеритель качества воздуха, осуществите инфракрасное управление цифровой камерой, сможете идентифицировать объекты с помощью Web-камеры и модулей RFID и др.

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

Состав набора

✔ КОНТРОЛЛЕРЫ
x1 Arduino Uno R3+кабель USB
x1 ESP32S NodeMCU + кабель USB
x1 Микроконтроллер ATtiny84-20PU

✔ МАКЕТНЫЕ ПЛАТЫ, ПРОВОДА
x1 Макетная плата средняя [400 точек] 8,5х5,5 см
x20 Провода “папа-папа” (косынка), 20 см
x20 Провода “мама-мама” (косынка), 20 см
x20 Провода “папа-мама” (косынка), 10 см
x1 Набор перемычек для макетной платы

✔ БАЗОВЫЕ КОМПОНЕНТЫ
x10 Резисторы 10 кОм ¼ Вт
x10 Резисторы 220 Ом ¼ Вт
x5 Конденсаторы керамическией 10 мкФ

✔ КНОПКИ
x2 Кнопкиа тактовыеая 6х6 мм

✔ ДАТЧИКИ
x1 ИК-датчик расстояния Sharp GP2Y0Axx
x1 УЗ-датчик расстояния HC-SR04
x3 Фоторезисторы GL5516
x1 3х-осевой акселерометр и магнитометр GY-511 LSM303DLHC
x1 Датчик температуры и влажности DHT11
x1 Датчик угла поворота (энкодер) с кнопкой EC11
x1 Потенциометр 10 кОм (WH148 B10K)

✔ МОДУЛИ
x1 RFID-модуль RC522
x1 Последовательный конвертер USB—UART (CP2102)
x1 Модуль реле 1х 5 В

✔ СВЕТОДИОДЫ, ЖК-ДИСПЛЕИ
x2 Cветодиоды красныей
x2 Cветодиоды желтыей
x2 Cветодиоды синией
x2 Cветодиоды зеленыей
x2 Светодиоды ИК
x2 Светодиоды RGB
x1 Светодиод адресный WS2812 3Bit 5V 5050 RGB
x1 Текстовый дисплей (LCD 1602) с платой I2C

✔ ДОПОЛНИТЕЛЬНО
x1 Веб-камера
x1 Клипса для батарейки “Крона”
x1 Монтажная диэлектрическая площадка для Arduino

✔ КНИГА
x1 Иго Т. Умные вещи: Arduino, датчики и сети для связи устройств: Пер. с англ.— 3-е изд. — СПб.: БХВ-Петербург, 2019— 608 с.

В набор входит книга Тома Иго “Умные вещи: Arduino, датчики и сети для связи устройств: Пер. с англ. 3-е изд.“, в которой рассмотрено создание проектов на основе различных микроконтроллеров (Arduino, RapberryPi, ATTiny84 и др.). Показано, как сделать, чтобы электронные устройства могли обмениваться между собой данными и реагировать на команды. Описана работа с четырьмя программными платформами и библиотеками с открытым исходным кодом: Arduino IDE 1.8, Processing, node.js и p5.js.

Умные вещи: Arduino, датчики и сети для связи устройств: Пер. с англ. 3-е изд.