Предисловие..................................................................... 10
Введение............................................................................ 12
Конструктор LEGO для сборки роботов .................. 20
1.1. Оснащение LEGO электронными компонентами.... 22
1.2. Изменяем собранную модель LEGO.......................... 26
Знакомство с Arduino Uno........................................... 28
2.1. Устройство .................................................................. 28
2.2. Устанавливаем среду разработки.............................. 29
2.3. Интерфейс................................................................... 30
2.4. Исходный код программы для Arduino .................... 32
Знакомство с Raspberry Pi ........................................... 33
3.1. Устройство .................................................................. 33
3.2. Интерфейс GPIO ......................................................... 35
3.3. Задаем конфигурацию Raspberry Pi.......................... 37
3.4. Интерфейс программного обеспечения................... 43
1
2
3
Содержание
7
Сборка цепи...................................................................... 52
4.1. Сборка датчика освещенности.................................. 53
4.2. Сборка линейного датчика........................................ 54
4.3. Сборка датчика касания ............................................ 56
4.4. Сборка дополнительной платы для Arduino ............ 56
4.5. Сборка дополнительной платы для Raspberry Pi ..... 60
4.6. Сборка источника питания........................................ 66
Использование моторов .............................................. 68
5.1. Моторы-редукторы .................................................... 68
5.2. Моторы LEGO.............................................................100
5.3. Задание и решение....................................................107
Использование датчиков............................................109
6.1. Реагирование на яркость ..........................................109
6.2. Измерение расстояний .............................................123
6.3. Обнаружение препятствий.......................................138
6.4. Обработка стороны света .........................................151
6.5. Задания и решения ...................................................157
Применение других компонентов ..........................161
7.1. Применение светодиодов .........................................161
7.2. Управление звуком....................................................170
7.3. Распознавание цвета.................................................181
7.4. Воспроизведение музыки с помощью
Raspberry Pi.......................................................................188
7.5. Вывод информации на ЖК-дисплей ........................190
7.6. Задания и решения....................................................196
Робот, который не падает со стола
и управляется с помощью Raspberry Pi.................198
8.1. Робот...........................................................................199
8.2. Датчики......................................................................202
4
5
6
7
8
Содержание
8
8.3. Программа .................................................................203
8.4. Параметризация........................................................205
8.5. Программа для Arduino.............................................206
Выход из лабиринта с помощью экспертной
системы и Arduino ........................................................208
9.1. Для начала немного теории......................................208
9.2. Робот...........................................................................211
9.3. Датчики......................................................................214
9.4. Программа ................................................................218
9.5. Параметризация........................................................224
9.6. Выход из лабиринта с помощью Raspberry Pi .........225
Робот, который следует по линиям
благодаря нейронной сети под управлением
Raspberry Pi......................................................................226
10.1. Краткое введение в нейронную сеть......................226
10.2. Робот.........................................................................228
10.3. Линейный датчик....................................................231
10.4. Стандартная программа для следования
по линиям.........................................................................231
10.5. Обучение следованию по линиям
с помощью нейронной сети............................................237
10.6. Следование по линиям с помощью
нейронной сети................................................................242
10.7. Робот, который следует по линиям
и управляется с помощью Arduino .................................243
Дистанционное управление роботом
с помощью Raspberry Pi ..............................................245
11.1. Робот.........................................................................245
11.2. Дистанционное управление с помощью
приложения Raspberry SSH..............................................247
11.3. Дистанционное управление посредством
веб-сервера и PHP............................................................251
9
10
11
Содержание
9
11.4. Усовершенствование робота...................................256
11.5. Дистанционное управление роботом
с помощью Arduino..........................................................257
Сбор стаканчиков роботом под управлением
Raspberry Pi и модуля BrickPi+..................................258
12.1. Робот.........................................................................259
12.2. Распознавание стаканчиков через камеру............261
12.3. Другие датчики........................................................262
12.4. Сбор стаканчиков ...................................................264
12.5. Параметризация программы .................................265
Модернизация имеющейся модели LEGO............267
13.1. Робот под управлением Arduino.............................268
13.2. Робот под управлением Raspberry Pi......................270
13.3. Датчики....................................................................271
13.4. Перспективы............................................................271
Приложение.....................................................................272
А.1. Небольшие фрагменты программ
для отдельных компонентов...........................................272
А.2. Язык программирования С(++)................................276
А.3. Язык программирования Python.............................281
А.4. Справочник компаний-поставщиков .....................285
А.5. Настройка сервера VNC для Raspberry Pi ................286
А.6. О нейронной сети .....................................................287
Предметный указатель................................................296