Введение 11
Глава 1. Основные составные части робота
15
Информационно-измерительная система 16
Датчик касания 16
Датчик температуры 17
Датчик освещенности 17
Датчик препятствия 17
Ультразвуковой датчик расстояния 18
Оптический рефлекторный датчик расстояния 18
Детектор шума 19
Энкодер 20
Датчик движения 20
Датчик газа 21
Датчик влажности 21
Видеокамера 22
Система принятия решений 22
Микроконтроллер 23
Контроллер Arduino 23
Система связи 25
Инфракрасный приемник 25
Канал Bluetooth 26
Канал Wi-Fi 26
Дисплей 27
Исполнительная система 27
Электрический двигатель постоянного тока 28
Сервомотор 29
Шаговый двигатель 30
Система энергоснабжения 30
Механика робота 30
Вспомогательные элементы 30
Резистор 31
Светодиод 31
Выключатель 31
Выводы 32
Глава 2. Провода и их соединения
33
Виды проводов 33
Одножильные 33
Многожильные 34
Способы соединений проводов 34
Скрутка 35
Соединение клеммами 35
Пайка и ее основы 36
Оборудование и материалы 36
Этапы пайки 37
Выбор паяльника 38
Уход за паяльником 39
Припои 39
Флюсы 39
Выводы 40
Глава 3. Электропитание
41
Закон Ома 41
Электрическая мощность 41
Характеристики элементов питания 42
Номинальное напряжение 42
Номинальный ток 42
Емкость 42
Форм-фактор 42
Типы элементов электрического питания 42
Солевые батареи 43
Алкалиновые батареи 43
Никель-металлогидридные аккумуляторы 43
Литий-ионные аккумуляторы 44
Стабилизация электропитания 44
Стабилизация напряжения 45
Стабилизация электрического тока 47
Выводы 47
Глава 4. Основы программирования Arduino
49
Компьютерная программа 49
Алгоритм 50
Среда разработки Arduino IDE 51
Установка Arduino IDE 51
Начало работы с Arduino IDE 52
Подключение контроллера Arduino к ПК 54
Мигаем светодиодом 56
Мониторинг работы программы 57
Переменные 58
Условные операторы 61
Оператор If … else 61
Оператор switch case 65
Операторы циклов while и for 66
Функции 68
Элементы объектно-ориентированного программирования 69
Выводы 70
Глава 5. Ходовая часть
71
Типы ходовых частей 71
Ноги 71
Гусеницы 73
Колеса с дифференциалом 74
Колеса на моторах 74
Летающие роботы 75
Выбор двигателей 76
Драйверы двигателей 77
Широтно-импульсная модуляция 80
Вращение в обе стороны 80
Выводы 82
Глава 6. Сборка базовой модели
83
Минимальный комплект 83
Элементы питания 86
Двигатели 86
Драйвер двигателей 90
Соединение платы драйвера и двигателей 92
и двигателей 93
Подключение платы драйвера к контроллеру Arduino 95
Верх корпуса 96
Выключатель 99
Бокс для элементов питания 99
Подключение электропитания 101
Укладка проводов 103
Выводы 104
Глава 7. Схема управления движением
105
Переменные и функции управления моторами 105
Функции движений 106
Первая поездка 106
Алгоритм 106
Программа 107
Выводы 110
Глава 8. Дистанционное управление роботом
111
Способы дистанционного управления 111
Управление роботом по каналу инфракрасной связи 113
Схема подключения 114
Рекомендации по установке 114
Установка расширенной библиотеки 115
Получение кодов кнопок для используемого пульта 116
Программа 118
Управление роботом по каналу Bluetooth 125
Подбор элементной базы 125
Подключение к Arduino 127
Смена имени робота 128
Настройка смартфона 130
Устранение радиопомех 131
Программа 131
Выводы 136
Глава 9. Поворотная голова
137
Ультразвуковой дальномер HC-SR04 137
Схема подключения 138
Измерение расстояния 140
Управление сервомотором 141
Монтаж головы 143
Если что-то пошло не так… 147
Выводы 148
Глава 10. Ходовые испытания — обход препятствий
149
функций робота 149
Константы и постоянные времени 154
Отладка программы 156
Выводы 162
Глава 11. Робот, находящий выход из лабиринта
163
Способ обхода лабиринта 165
Обход лабиринта без модернизации робота 166
Программа 168
Сравнение и выбор датчиков 171
Ультразвуковой датчик HC-SR04 171
Инфракрасный детектор препятствия 172
Инфракрасный датчик Sharp GP2Y0A21YK 173
Обоснование выбора датчика препятствия 173
Модернизация робота 174
Монтаж детекторов препятствия 174
Программа для робота с детекторами препятствия 178
Модернизируем программу 182
Выводы 184
Глава 12. Робот, играющий в кегельринг
185
Простой кегельринг 186
Двухцветный кегельринг 188
Порядок обхода 188
Обнаружение черной линии 189
Фотодиод 189
Фоторезистор 190
Фототранзистор 191
Инфракрасный датчик отражения TCRT 5000 192
Обнаружение кегли 193
Определение цвета кегли 194
Коррекция направления движения 195
Модернизация робота 196
Установка датчиков 196
Схема соединений 198
Программа 201
Алгоритм поиска кегли 201
Алгоритм взаимодействия с кеглей 203
Выводы 212
Глава 13. Робот, держащий направление по электронному компасу
213
О компасе подробнее 213
Электронный компас 214
Подключение 214
Организация обмена данными 216
Модернизация робота 217
Получение данных от HMC5883L 218
Правильная установка магнитометра 222
Программа 223
Калибровка 229
Выводы 229
Глава 14. Балансирующий робот
231
Гироскоп 232
Акселерометр 232
Электронный гироскоп 235
Подключение гироскопа-акселерометра MPU-6050 235
Получение данных с MPU-6050 237
Шкала значений MPU-6050 240
Сборка балансирующего робота 241
Схема подключения 241
Конструкция 242
Программирование 246
Программа на показаниях гироскопа 246
Программа с фильтром Калмана 251
Программа с комплементарным фильтром 257
Комплементарный фильтр 257
Точная настройка 257
Выводы 262
Глава 15. Некоторые улучшения и прочая полезная информация
263
Модернизация детектора препятствий 263
Точные повороты 264
Самостоятельная сборка корпуса робота 272

Листинги 274
Интересные каналы YouTube 274
Приложение 1. Коммутационная плата Arduino UNO Sensor Shield V5.0 275
Приложение 2. Крепление серводвигателя и ультразвукового дальномера HC-SR04 на шасси робота 279
Приложение 3. Описание электронного архива 281
Предметный указатель 283