Автор: Петин В. А.
Издательство: СПб.: БХВ-Петербург
Серия: Электроника
Год издания: 2021
Страниц: 560
ISBN: 978-5-9775-6711-4
Формат: DjVu
Сканирование и обработка: Bookingolz
Язык: русский
Размер: 144 Мб
Качество: отличное
Рассмотрены основные платы Arduino и платы расширения (шилды), добавляющие функциональность основной плате. Подробно описан язык и среда программирования Arduino IDE. Приведены практические проекты с использованием контроллеров семейства Arduino в области робототехники, погодных метеостанций, "умного дома", вендинга, телевидения, беспроводной связи (bluetooth, радиоуправление, связь с устройствами Android) и др. Все проекты сопровождаются схемами и листингами.
В четвертом издании рассмотрены новые платы Arduino MKR и Nano 33, новые платы расширения, светодиодные матрицы, протокол MQTT, RFID-идентификация, GPS-трекер, Яндекс.Карты и проекты в области нейронных сетей.
Для читателей, интересующихся современной электроникой.
Оглавление:
Предисловие
Для кого и о чем эта книга?
Структура книги
Благодарности
ЧАСТЬ I. ARDUINO — ОБЩИЙ ОБЗОР
Глава 1. Введение в Arduino
1.1. Arduino — что это?
1.2. В чем преимущество Arduino?
1.3. Новые тенденции и перспективы развития Arduino
Глава 2. Платы семейства Arduino и платы расширения для них
2.1. Обзор плат семейства Arduino
2.2. Arduino Uno
2.3. Arduino Nano
2.4. Arduino Pro Mini
2.5. Arduino LilyPad
2.6. Arduino Mega2560
2.7. Arduino Leonardo
2.8. Arduino Due
2.9. Arduino Yun
2.10. Arduino MKR WiFi 1010
2.11. Arduino Nano 33
2.12. Платы расширения для Arduino
ЧАСТЬ II. СРЕДЫ РАЗРАБОТКИ И ЯЗЫК ПРОГРАММИРОВАНИЯ
ПЛАТ ARDUINO
Глава 3. Среда разработки Arduino IDE
3.1. Установка Arduino IDE в Windows
3.2. Установка Arduino IDE в Linux
3.3. Настройка среды Arduino IDE
Глава 4. Облачная среда разработки Arduino Create
4.1. Начало работы в среде Arduino Create
4.2. Загрузка и выполнение пробного скетча
Глава 5. Программирование плат Arduino
5.1. Базовые знания
5.1.1. Цифровые выводы
5.1.2. Аналоговые входы
5.1.3. Широтно-импульсная модуляция
5.1.4. Память в Arduino
5.2. Структура программы
5.2.1. Функции setup() и loop()
5.3. Синтаксис и операторы
5.3.1. Управляющие операторы
5.3.1.1. Оператор if(условие) и операторы сравнения ==, /=, < , >
5.3.1.2. Оператор if.. .else
5.3.1.3. Оператор for
5.3.1.4. Оператор switch
5.3.1.5. Оператор while
5.3.1.6. Оператор do...while
5.3.1.7. Оператор break
5.3.1.8. Оператор continue
5.3.1.9. Оператор return
5.3.2. Синтаксис
5.3.2.1.; (semicolon, точка с запятой)
5.3.2.2. {} (curly braces, фигурные скобки)
5.3.2.3. Комментарии: //(single line comment, однострочный),
/* */ (multi-line comment, многострочный)
5.3.3. Арифметические операторы
5.3.3.1. = (assignment, оператор присваивания)
5.3.3.2. + (сложение), - (вычитание), * (умножение), /(деление)
5.3.3.3.% (modulo)
5.3.4. Операторы сравнения
5.3.5. Логические операторы
5.3.5.1. && (логическое И)
5.3.5.2. || (логическое ИЛИ)
5.3.5.3. ! (логическое отрицание)
5.3.6. Унарные операторы
5.3.6.1. ++ (увеличение значения), /--(уменьшение значения)
5.3.6.2. +=,-=, *= ,/=
5.4. Данные
5.4.1. Типы данных
5.4. 1.1. boolean
5.4. 1.2. char
5.4. 1.3. byte
5.4. 1.4. int
5.4. 1.5. unsigned int
5.4. 1.6. long
5.4.1.7. unsigned long
5.4.1.8. float
5.4.1.9. double
5.4.1.10. string — текстовые строки
5.4.1.11. Массивы
5.4.1.12. void
5.4.2. Константы
5.4.3. Переменные
5.4.3.1. Объявление переменных
5.4.3.2. Границы переменных
5.4.4. Преобразование типов данных
5.4.4.1. char()
5.4.4.2. byte()
5.4.4.3. int()
5.4.4.4. long()
5.4.4.5. float()
5.5. Функции
5.5.1. Цифровой ввод/вывод
5.5.1.1. Функция рinMode
5.5.1.2. Функция digitalWrite()
5.5.1.3. Функция digitalRead()
5.5.2. Аналоговый ввод/вывод
5.5.2.1. Функция analogRead()
5.5.2.2. Функция analogReference()
5.5.2.3. Функция analogWrite()
5.5.3. Дополнительные функции ввода/вывода
5.5.3.1. Функция tone()
5.5.3.2. Функция nоТоnе()
5.5.3.3. Функция shiftOut()
5.5.3.4. Функция pulseln()
5.5.4. Работа со временем
5.5.4.1. Функция millis()
5.5.4.2. Функция micros()
5.5.4.3. Функция delay()
5.5.4.4. Функция delayMicroseconds()
5.5.5. Математические функции
5.5.5.1. Функция min(x,yx)
5.5.5.2. Функция max(x, у)
5.5.5.3. Функция abs()
5.5.5.4. Функция constraint(x, a, b)
5.5.5.5. Функция map(value, fromLow, fromHigh, toLow, toHigh)
5.5.5.6. Функция pow(basef exponent)
5.5.5.7. Функция sq(x)
5.5.5 8. Функция sqrt(x)
5.5.6. Тригонометрические функции
5.5.6.1. Функция sin(rad)
5.5.6.2. Функция cos(rad)
5.5.6.3. Функция tan(rad)
5.5.7. Генераторы случайных значений
5.5.7.1. Функция randomSeed(seed)
5.5.7.2. Функция random()
5.5.8. Операции с битами и байтами
5.5.8.1. Функция lowByte()
5.5.8.2. Функция highByte()
5.5.8.3. Функция bitRead()
5.5.8.4. Функция bitWrite()
5.5.8.5. Функция bitSet()
5.5.8.6. Функция bitClear()
5.5.8.7. Функция bit
5.5.9. Внешние прерывания
5.5.9.1. Функция attachlnterrupt
5.5.9.2. Функция detachlnterrupt
5.6. Управление портами через регистры ATmega
ЧАСТЬ III. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ ARDUINO
Глава 6. Проекты для изучения выводов Arduino
6.1. Цифровые выводы — «бегущий огонь» на светодиодах
6.1.1. Подключение светодиода к выводу Arduino
6.1.2. Подключение к плате Arduino 8 светодиодов
6.2. Цифровые входы — управляем светодиодами с помощью кнопок
6.2.1. Подключение кнопки к плате Arduino
6.2.2. Управление кнопками количеством горящих светодиодов
6.3. Аналоговые входы — светодиодный индикатор аналоговых значений
6.3.1. Подключение потенциометра к плате Arduino
6.3.2. Вывод показаний потенциометра на светодиодную шкалу
6.4. ШИМ — радуга на RGB-светодиоде
6.4.1. Подключение к плате Arduino RGB-светодиода
6.5. Светодиодные индикаторы
6.5.1. Подключение к плате Arduino семисегментного индикатора
6.6. Расширение цифровых выходов — микросхема 74НС595
6.6.1. Подключение к плате Arduino сдвигового регистра 74НС595
6.7. Расширение цифровых входов и выходов — микросхема МСР23017
6.8. Расширение аналоговых входов — мультиплексор CD4051
Глава 7. Использование библиотек в проектах Arduino
7.1. Установка библиотек
7.1.1. Установка библиотеки через Менеджер библиотек
7.1.2. Установка библиотеки из ZIP-архива
7.1.3. Установка библиотеки вручную
7.2. Подключение библиотеки
7.3. Создание собственной библиотеки
7.3.1. Создание заголовочного файла D5651.h
7.3.2. Создание файла реализации D5651.cpp
7.3.3. Создание файла keywords.txt
Глава 8. Arduino и последовательный порт UART
8.1. Библиотека Serial
8.1.1. Функция Serial.begin
8.1.2. Функция Serial.print
8.1.3. Функция Serial.println
8.1.4. Функция Serial.write
8.1.5. Функция Serial.available
8.1.6. Функция Serial.read
8.2. Использование UART для отладки программ
8.2.1. Подключение к плате Arduino нескольких кнопок
8.3. Использование UART для установки параметров
8.4. Библиотека SoftwareSerial
8.5. Соединение по UART двух плат Arduino
Глава 9. Подключение датчиков к плате Arduino
9.1. Подключение аналоговых датчиков
9.1.1. Подключение к плате Arduino аналогового датчика температуры LM335
9.2. Подключение датчиков по протоколу 1-Wire
9.2.1. Подключение к плате Arduino цифрового датчика температуры DS18B20
9.3. Подключение датчиков влажности и температуры DHT
9.4. Подключение датчиков по протоколу I2С
9.4.1. Подключение к плате Arduino датчика интенсивности света ВН1750
Глава 10. Использование дисплеев в проектах Arduino
10.1. Символьные дисплеи на микроконтроллере HD44780
10.1.1. Функция begin()
10.1.2. Функция clear()
10.1 .3. Функция home()
10.1 .4. Функция setCursor()
10. 1.5. Функция write()
10.1 .6. Функция print()
10. 1.7. Функция cursor()
10.1.8. Функция noCursor()
10.1.9. Функция blink()
10.1.10. Функция noBlink()
10.1.11. Функция display()
10.1.12. Функция noDisplay()
10.1.13. Функция scrollDisplayLeft()
10.1.14. Функция scrollDisplayRight()
10.1.15. Функция autoscroll()
10.1.16. Функция noAutoscroll()
10.1.17. Функция leftToRight()
10.1.18. Функция rightToLeft()
10.1.19. Функция createChar()
10.2. Подключение дисплеев на контроллере HD44780 по протоколу I2С
10.2.1. Вывод на ЖК-дисплей данных с датчика, работающего по протоколу I2С
10.3. Графический дисплей Nokia
10.4. OLED-дисплеи
10.4.1. Электронные часы на OLED-дисплее
10.5. Дисплеи Nextion
10.5.1. Создание нового проекта для дисплея Nextion
10.5.2. Прошивка дисплея через UART
10.5.3. Прошивка дисплея с помощью карты microSD
10.5.4. Подключение дисплея Nextion к плате Arduino
10.6. Светодиодные матрицы
10.6.1. Четырехразрядная светодиодная матрица
10.6.2. Вывод на четырехразрядную светодиодную матрицу спрайтов и символов
10.6.3. Бегущая строка на четырехразрядной светодиодной матрице
10.6.4. Русификация «бегущей строки» на четырехразрядной
светодиодной матрице
10.6.5. Матрица 16x16 на светодиодах WS2812
10.6.6. Arduino-библиотека Adafruit Neopixel
10.6.7. Графический аудиоспектроанализатор на матрице 16x16
cветодиодов WS2812
Глава 11. Подключение к Arduino исполнительных устройств
11.1. Подключение к плате Arduino электромагнитного или твердотельного реле
11.2. Подключение к плате Arduino электродвигателя постоянного тока
11.2.1. Управление двигателем с помощью транзистора
11.3. Управление двигателями с помощью драйвера
11.4. Подключение к плате Arduino сервопривода
11.4.1. Использование сервопривода в проекте звуковой сигнализации
11.5. Подключение к плате Arduino шагового двигателя
11.5.1. Управление дроблением шага и направлением вращения
шагового двигателя с платы Arduino
11.6. Подключение к плате Arduino бесколлекторного двигателя
Глава 12. Arduino и беспроводная связь
12.1.ИК-управление
12.1.1. Управление сервоприводом с помощью ИК-связи
12.2. Радиомодули для частоты 433 МГц
12.2.1. Управление светодиодом платы Arduino с другой такой же платы по радиоканалу 433 МГц
12.3. Радиомодули NRF24L01
12.3.1. Организация связи между двумя платами Arduino с использованием модулей NRF24L01
12.4. Использование Arduino с аппаратурой радиоуправления
12.4.1. Принципы формирования радиосигнала
12.4.2. Организация связи приемника с передатчиком
12.4.3. Разработка скетча для приема платой Arduino команд передатчика
12.5. Arduino и Bluetooth
Глава 13. Arduino и Интернет вещей
13.1. Подключение к Интернету с помощью платы расширения Ethernet shield
13.1.1. Получение IP-адреса по DHCP
13.1.2. Отправка данных на сайт «Народный мониторинг» через Ethernet shield
13.2. Подключение к Интернету с помощью платы расширения GSM/GPRS shield
13.2.1. Отправка и получение SMS-сообщений с помощью GSM/GPRS shield
13.2.2. Отправка данных на сайт «Народный мониторинг» через GSM/GPRS shield
13.3. Протокол MQTT
13.3.1. Отправка данных по протоколу MQTT
13.3.2. Получение данных по протоколу MQTT
13.3.3. Android-приложение IoT MQTT Dashboard
13.4. Плата Arduino MKR WiFi 1010 для проектов IoT
13.5. Отправка данных в облако Arduino IoT Cloud и получение их оттуда
Глава 14. RFED-идентификация
14.1. Считыватель RFID RC522
14.2. Организация контроля доступа по RFID-меткам
14.3. Запись информации на RFID-метку
14.4. Проект «Говорящая фотография»
Глава 15. Специальные возможности отдельных плат Arduino
15.1. Использование Arduino Leonardo в качестве USB-устройства
15.1.1. Arduino Leonardo: имитация клавиатуры
15.1.2. Блокируем клавиатуру с наступлением темноты
15.1.3. Arduino Leonardo: имитация компьютерной мыши
15.2. Плата Arduino Esplora
15.2.1. Arduino Esplora: установка цветов RGB-светодиода
15.2.2. Arduino Esplora: создание игры
15.3. Плата Arduino LilyPad
15.4. Плата Arduino Yun
15.4.1. Плата расширения Arduino Yun shield
15.4.2. Arduino Yun shield: управляем веб-камерой
Глава 16. Взаимодействие Arduino с другими программируемыми
Системами
16.1. Использование Arduino в проектах LEGO
16.1.1. Получение микрокомпьютером LEGO данных с датчика влажности и температуры DHT11, подключенного к плате Arduino
16.2. Arduino в проектах ROS
16.2.1. Установка ROS
16.2.2. Узлы и темы в ROS
16.2.3. Пакет rosserial
16.2.4. Подготовка сообщения (publisher) на Arduino
16.2.5. Создание подписки (subscriber) на Arduino
16.2.6. Связь через ROS двух плат Arduino
16.3. Arduino и Raspberry pi
16.3.1. Установка WeblOPi на Raspberry Pi
16.3.2. Обмен данными по последовательному порту
16.3.3. Управление движущейся платформой на базе Arduino по web-интерфейсу Raspberry Pi
Глава 17. Программирование в среде Arduino IDE других плат
17.1.ESP8266 — микроконтроллер с интерфейсом Wi-Fi
17.1. 1. Установка Arduino IDE для работы с ESP8266
17.1.2. Печать курса валют на термопринтере в проекте Интернета вещей
17.2. Z-Uno — плата для прототипирования устройств Z-Wave
17.2.1. Установка Arduino IDE для Z-Uno
17.2.2. Подключение к плате Z-Uno датчика влажности DHT11
ЧАСТЬ IV. ИНТЕРЕСНЫЕ ПРОЕКТЫ НА ARDUINO
Глава 18. Умная теплица
18.1. Мониторинг климатических параметров умной теплицы
18.2. Индикация показаний умной теплицы
18.3. Организация полива, обдува и освещения в умной теплице
18.4. Переносим функции мониторинга и управления теплицей на устройство
с ОС Android
18.5. Создаем собственное мобильное приложение для управления умной теплицей
18.6. Превращаем нашу умную теплицу в объект Интернета вещей
Глава 19. GPS-трекер и онлайн-сервис поиска стоянок
19.1. Подключение GPS-модуля к плате Arduino
19.2. Отправка данных по GPRS на сервер
19.3. Создание веб-страницы с использованием API Яндекс.Карт
Глава 20. Проекты для вендинга: купюроприемник, монетоприемник,
разменный автомат
20.1. Купюроприемник ICT серий А7 и V7
20.1.1. Подключение купюроприемника ICT V7 к плате Arduino
20.1.2. Скетч для получения номинала принимаемой купюры
20.2. Монетоприемник СН-926
20.2.1. Настройка монетоприемника
20.2.2. Калибровка монетоприемника
20.3. Разменный автомат (хоппер) Cube Hopper MKII
20.3.1. Подключение хоппера к плате Arduino
20.3.2. Программирование хоппера
Глава 21. Создание управляющей платы для автомойки самообслуживания
21.1. Блок приема денежных средств и блок индикации
21.2. Выбор программ работы мойки
21.3. Отсчет времени выполнения программы. Реализация паузы
21.4. Режим администратора. Установка параметров
Глава 22. Arduino и интерфейс USB: управление роботами
22.1. Интерфейс USB
22.2. Плата расширения USB Host Shield
22.3. HID-устройства USB
22.4. Подключение HID-мыши USB
22.5. Управление роботом с помощью руля Defender
22.6. Управление роботом с помощью геймпада Defender
Глава 23. Камера Pixy: реализация компьютерного зрения
23.1. Настройка камеры
23.2. Подключение камеры Pixy к плате Arduino
23.3. Организация слежения камерой за объектом
Глава 24. Проекты на плате Nano 33 BLE Sense
24.1. Начало работы с платой Nano 33 BLE Sense
24.2. Bluetooth Low Energy (BLE)
24.3. Отправка данных с датчиков платы Nano 33 BLE Sense no BLE
24.4. Библиотека TensorFlow Lite
24.5. Пример создания классификатора объектов с обучением
24.5.1. Сбор данных
24.5.2. Обучение модели
24.5.3. Скетч классификатора для запуска нейронной сети на плате
Nano 33 BLE Sense
ПРИЛОЖЕНИЯ
Приложение 1. Перечень использованных источников
Приложение 2. Описание электронного архива
Предметный указатель
Для кого и о чем эта книга?
Структура книги
Благодарности
ЧАСТЬ I. ARDUINO — ОБЩИЙ ОБЗОР
Глава 1. Введение в Arduino
1.1. Arduino — что это?
1.2. В чем преимущество Arduino?
1.3. Новые тенденции и перспективы развития Arduino
Глава 2. Платы семейства Arduino и платы расширения для них
2.1. Обзор плат семейства Arduino
2.2. Arduino Uno
2.3. Arduino Nano
2.4. Arduino Pro Mini
2.5. Arduino LilyPad
2.6. Arduino Mega2560
2.7. Arduino Leonardo
2.8. Arduino Due
2.9. Arduino Yun
2.10. Arduino MKR WiFi 1010
2.11. Arduino Nano 33
2.12. Платы расширения для Arduino
ЧАСТЬ II. СРЕДЫ РАЗРАБОТКИ И ЯЗЫК ПРОГРАММИРОВАНИЯ
ПЛАТ ARDUINO
Глава 3. Среда разработки Arduino IDE
3.1. Установка Arduino IDE в Windows
3.2. Установка Arduino IDE в Linux
3.3. Настройка среды Arduino IDE
Глава 4. Облачная среда разработки Arduino Create
4.1. Начало работы в среде Arduino Create
4.2. Загрузка и выполнение пробного скетча
Глава 5. Программирование плат Arduino
5.1. Базовые знания
5.1.1. Цифровые выводы
5.1.2. Аналоговые входы
5.1.3. Широтно-импульсная модуляция
5.1.4. Память в Arduino
5.2. Структура программы
5.2.1. Функции setup() и loop()
5.3. Синтаксис и операторы
5.3.1. Управляющие операторы
5.3.1.1. Оператор if(условие) и операторы сравнения ==, /=, < , >
5.3.1.2. Оператор if.. .else
5.3.1.3. Оператор for
5.3.1.4. Оператор switch
5.3.1.5. Оператор while
5.3.1.6. Оператор do...while
5.3.1.7. Оператор break
5.3.1.8. Оператор continue
5.3.1.9. Оператор return
5.3.2. Синтаксис
5.3.2.1.; (semicolon, точка с запятой)
5.3.2.2. {} (curly braces, фигурные скобки)
5.3.2.3. Комментарии: //(single line comment, однострочный),
/* */ (multi-line comment, многострочный)
5.3.3. Арифметические операторы
5.3.3.1. = (assignment, оператор присваивания)
5.3.3.2. + (сложение), - (вычитание), * (умножение), /(деление)
5.3.3.3.% (modulo)
5.3.4. Операторы сравнения
5.3.5. Логические операторы
5.3.5.1. && (логическое И)
5.3.5.2. || (логическое ИЛИ)
5.3.5.3. ! (логическое отрицание)
5.3.6. Унарные операторы
5.3.6.1. ++ (увеличение значения), /--(уменьшение значения)
5.3.6.2. +=,-=, *= ,/=
5.4. Данные
5.4.1. Типы данных
5.4. 1.1. boolean
5.4. 1.2. char
5.4. 1.3. byte
5.4. 1.4. int
5.4. 1.5. unsigned int
5.4. 1.6. long
5.4.1.7. unsigned long
5.4.1.8. float
5.4.1.9. double
5.4.1.10. string — текстовые строки
5.4.1.11. Массивы
5.4.1.12. void
5.4.2. Константы
5.4.3. Переменные
5.4.3.1. Объявление переменных
5.4.3.2. Границы переменных
5.4.4. Преобразование типов данных
5.4.4.1. char()
5.4.4.2. byte()
5.4.4.3. int()
5.4.4.4. long()
5.4.4.5. float()
5.5. Функции
5.5.1. Цифровой ввод/вывод
5.5.1.1. Функция рinMode
5.5.1.2. Функция digitalWrite()
5.5.1.3. Функция digitalRead()
5.5.2. Аналоговый ввод/вывод
5.5.2.1. Функция analogRead()
5.5.2.2. Функция analogReference()
5.5.2.3. Функция analogWrite()
5.5.3. Дополнительные функции ввода/вывода
5.5.3.1. Функция tone()
5.5.3.2. Функция nоТоnе()
5.5.3.3. Функция shiftOut()
5.5.3.4. Функция pulseln()
5.5.4. Работа со временем
5.5.4.1. Функция millis()
5.5.4.2. Функция micros()
5.5.4.3. Функция delay()
5.5.4.4. Функция delayMicroseconds()
5.5.5. Математические функции
5.5.5.1. Функция min(x,yx)
5.5.5.2. Функция max(x, у)
5.5.5.3. Функция abs()
5.5.5.4. Функция constraint(x, a, b)
5.5.5.5. Функция map(value, fromLow, fromHigh, toLow, toHigh)
5.5.5.6. Функция pow(basef exponent)
5.5.5.7. Функция sq(x)
5.5.5 8. Функция sqrt(x)
5.5.6. Тригонометрические функции
5.5.6.1. Функция sin(rad)
5.5.6.2. Функция cos(rad)
5.5.6.3. Функция tan(rad)
5.5.7. Генераторы случайных значений
5.5.7.1. Функция randomSeed(seed)
5.5.7.2. Функция random()
5.5.8. Операции с битами и байтами
5.5.8.1. Функция lowByte()
5.5.8.2. Функция highByte()
5.5.8.3. Функция bitRead()
5.5.8.4. Функция bitWrite()
5.5.8.5. Функция bitSet()
5.5.8.6. Функция bitClear()
5.5.8.7. Функция bit
5.5.9. Внешние прерывания
5.5.9.1. Функция attachlnterrupt
5.5.9.2. Функция detachlnterrupt
5.6. Управление портами через регистры ATmega
ЧАСТЬ III. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ ARDUINO
Глава 6. Проекты для изучения выводов Arduino
6.1. Цифровые выводы — «бегущий огонь» на светодиодах
6.1.1. Подключение светодиода к выводу Arduino
6.1.2. Подключение к плате Arduino 8 светодиодов
6.2. Цифровые входы — управляем светодиодами с помощью кнопок
6.2.1. Подключение кнопки к плате Arduino
6.2.2. Управление кнопками количеством горящих светодиодов
6.3. Аналоговые входы — светодиодный индикатор аналоговых значений
6.3.1. Подключение потенциометра к плате Arduino
6.3.2. Вывод показаний потенциометра на светодиодную шкалу
6.4. ШИМ — радуга на RGB-светодиоде
6.4.1. Подключение к плате Arduino RGB-светодиода
6.5. Светодиодные индикаторы
6.5.1. Подключение к плате Arduino семисегментного индикатора
6.6. Расширение цифровых выходов — микросхема 74НС595
6.6.1. Подключение к плате Arduino сдвигового регистра 74НС595
6.7. Расширение цифровых входов и выходов — микросхема МСР23017
6.8. Расширение аналоговых входов — мультиплексор CD4051
Глава 7. Использование библиотек в проектах Arduino
7.1. Установка библиотек
7.1.1. Установка библиотеки через Менеджер библиотек
7.1.2. Установка библиотеки из ZIP-архива
7.1.3. Установка библиотеки вручную
7.2. Подключение библиотеки
7.3. Создание собственной библиотеки
7.3.1. Создание заголовочного файла D5651.h
7.3.2. Создание файла реализации D5651.cpp
7.3.3. Создание файла keywords.txt
Глава 8. Arduino и последовательный порт UART
8.1. Библиотека Serial
8.1.1. Функция Serial.begin
8.1.2. Функция Serial.print
8.1.3. Функция Serial.println
8.1.4. Функция Serial.write
8.1.5. Функция Serial.available
8.1.6. Функция Serial.read
8.2. Использование UART для отладки программ
8.2.1. Подключение к плате Arduino нескольких кнопок
8.3. Использование UART для установки параметров
8.4. Библиотека SoftwareSerial
8.5. Соединение по UART двух плат Arduino
Глава 9. Подключение датчиков к плате Arduino
9.1. Подключение аналоговых датчиков
9.1.1. Подключение к плате Arduino аналогового датчика температуры LM335
9.2. Подключение датчиков по протоколу 1-Wire
9.2.1. Подключение к плате Arduino цифрового датчика температуры DS18B20
9.3. Подключение датчиков влажности и температуры DHT
9.4. Подключение датчиков по протоколу I2С
9.4.1. Подключение к плате Arduino датчика интенсивности света ВН1750
Глава 10. Использование дисплеев в проектах Arduino
10.1. Символьные дисплеи на микроконтроллере HD44780
10.1.1. Функция begin()
10.1.2. Функция clear()
10.1 .3. Функция home()
10.1 .4. Функция setCursor()
10. 1.5. Функция write()
10.1 .6. Функция print()
10. 1.7. Функция cursor()
10.1.8. Функция noCursor()
10.1.9. Функция blink()
10.1.10. Функция noBlink()
10.1.11. Функция display()
10.1.12. Функция noDisplay()
10.1.13. Функция scrollDisplayLeft()
10.1.14. Функция scrollDisplayRight()
10.1.15. Функция autoscroll()
10.1.16. Функция noAutoscroll()
10.1.17. Функция leftToRight()
10.1.18. Функция rightToLeft()
10.1.19. Функция createChar()
10.2. Подключение дисплеев на контроллере HD44780 по протоколу I2С
10.2.1. Вывод на ЖК-дисплей данных с датчика, работающего по протоколу I2С
10.3. Графический дисплей Nokia
10.4. OLED-дисплеи
10.4.1. Электронные часы на OLED-дисплее
10.5. Дисплеи Nextion
10.5.1. Создание нового проекта для дисплея Nextion
10.5.2. Прошивка дисплея через UART
10.5.3. Прошивка дисплея с помощью карты microSD
10.5.4. Подключение дисплея Nextion к плате Arduino
10.6. Светодиодные матрицы
10.6.1. Четырехразрядная светодиодная матрица
10.6.2. Вывод на четырехразрядную светодиодную матрицу спрайтов и символов
10.6.3. Бегущая строка на четырехразрядной светодиодной матрице
10.6.4. Русификация «бегущей строки» на четырехразрядной
светодиодной матрице
10.6.5. Матрица 16x16 на светодиодах WS2812
10.6.6. Arduino-библиотека Adafruit Neopixel
10.6.7. Графический аудиоспектроанализатор на матрице 16x16
cветодиодов WS2812
Глава 11. Подключение к Arduino исполнительных устройств
11.1. Подключение к плате Arduino электромагнитного или твердотельного реле
11.2. Подключение к плате Arduino электродвигателя постоянного тока
11.2.1. Управление двигателем с помощью транзистора
11.3. Управление двигателями с помощью драйвера
11.4. Подключение к плате Arduino сервопривода
11.4.1. Использование сервопривода в проекте звуковой сигнализации
11.5. Подключение к плате Arduino шагового двигателя
11.5.1. Управление дроблением шага и направлением вращения
шагового двигателя с платы Arduino
11.6. Подключение к плате Arduino бесколлекторного двигателя
Глава 12. Arduino и беспроводная связь
12.1.ИК-управление
12.1.1. Управление сервоприводом с помощью ИК-связи
12.2. Радиомодули для частоты 433 МГц
12.2.1. Управление светодиодом платы Arduino с другой такой же платы по радиоканалу 433 МГц
12.3. Радиомодули NRF24L01
12.3.1. Организация связи между двумя платами Arduino с использованием модулей NRF24L01
12.4. Использование Arduino с аппаратурой радиоуправления
12.4.1. Принципы формирования радиосигнала
12.4.2. Организация связи приемника с передатчиком
12.4.3. Разработка скетча для приема платой Arduino команд передатчика
12.5. Arduino и Bluetooth
Глава 13. Arduino и Интернет вещей
13.1. Подключение к Интернету с помощью платы расширения Ethernet shield
13.1.1. Получение IP-адреса по DHCP
13.1.2. Отправка данных на сайт «Народный мониторинг» через Ethernet shield
13.2. Подключение к Интернету с помощью платы расширения GSM/GPRS shield
13.2.1. Отправка и получение SMS-сообщений с помощью GSM/GPRS shield
13.2.2. Отправка данных на сайт «Народный мониторинг» через GSM/GPRS shield
13.3. Протокол MQTT
13.3.1. Отправка данных по протоколу MQTT
13.3.2. Получение данных по протоколу MQTT
13.3.3. Android-приложение IoT MQTT Dashboard
13.4. Плата Arduino MKR WiFi 1010 для проектов IoT
13.5. Отправка данных в облако Arduino IoT Cloud и получение их оттуда
Глава 14. RFED-идентификация
14.1. Считыватель RFID RC522
14.2. Организация контроля доступа по RFID-меткам
14.3. Запись информации на RFID-метку
14.4. Проект «Говорящая фотография»
Глава 15. Специальные возможности отдельных плат Arduino
15.1. Использование Arduino Leonardo в качестве USB-устройства
15.1.1. Arduino Leonardo: имитация клавиатуры
15.1.2. Блокируем клавиатуру с наступлением темноты
15.1.3. Arduino Leonardo: имитация компьютерной мыши
15.2. Плата Arduino Esplora
15.2.1. Arduino Esplora: установка цветов RGB-светодиода
15.2.2. Arduino Esplora: создание игры
15.3. Плата Arduino LilyPad
15.4. Плата Arduino Yun
15.4.1. Плата расширения Arduino Yun shield
15.4.2. Arduino Yun shield: управляем веб-камерой
Глава 16. Взаимодействие Arduino с другими программируемыми
Системами
16.1. Использование Arduino в проектах LEGO
16.1.1. Получение микрокомпьютером LEGO данных с датчика влажности и температуры DHT11, подключенного к плате Arduino
16.2. Arduino в проектах ROS
16.2.1. Установка ROS
16.2.2. Узлы и темы в ROS
16.2.3. Пакет rosserial
16.2.4. Подготовка сообщения (publisher) на Arduino
16.2.5. Создание подписки (subscriber) на Arduino
16.2.6. Связь через ROS двух плат Arduino
16.3. Arduino и Raspberry pi
16.3.1. Установка WeblOPi на Raspberry Pi
16.3.2. Обмен данными по последовательному порту
16.3.3. Управление движущейся платформой на базе Arduino по web-интерфейсу Raspberry Pi
Глава 17. Программирование в среде Arduino IDE других плат
17.1.ESP8266 — микроконтроллер с интерфейсом Wi-Fi
17.1. 1. Установка Arduino IDE для работы с ESP8266
17.1.2. Печать курса валют на термопринтере в проекте Интернета вещей
17.2. Z-Uno — плата для прототипирования устройств Z-Wave
17.2.1. Установка Arduino IDE для Z-Uno
17.2.2. Подключение к плате Z-Uno датчика влажности DHT11
ЧАСТЬ IV. ИНТЕРЕСНЫЕ ПРОЕКТЫ НА ARDUINO
Глава 18. Умная теплица
18.1. Мониторинг климатических параметров умной теплицы
18.2. Индикация показаний умной теплицы
18.3. Организация полива, обдува и освещения в умной теплице
18.4. Переносим функции мониторинга и управления теплицей на устройство
с ОС Android
18.5. Создаем собственное мобильное приложение для управления умной теплицей
18.6. Превращаем нашу умную теплицу в объект Интернета вещей
Глава 19. GPS-трекер и онлайн-сервис поиска стоянок
19.1. Подключение GPS-модуля к плате Arduino
19.2. Отправка данных по GPRS на сервер
19.3. Создание веб-страницы с использованием API Яндекс.Карт
Глава 20. Проекты для вендинга: купюроприемник, монетоприемник,
разменный автомат
20.1. Купюроприемник ICT серий А7 и V7
20.1.1. Подключение купюроприемника ICT V7 к плате Arduino
20.1.2. Скетч для получения номинала принимаемой купюры
20.2. Монетоприемник СН-926
20.2.1. Настройка монетоприемника
20.2.2. Калибровка монетоприемника
20.3. Разменный автомат (хоппер) Cube Hopper MKII
20.3.1. Подключение хоппера к плате Arduino
20.3.2. Программирование хоппера
Глава 21. Создание управляющей платы для автомойки самообслуживания
21.1. Блок приема денежных средств и блок индикации
21.2. Выбор программ работы мойки
21.3. Отсчет времени выполнения программы. Реализация паузы
21.4. Режим администратора. Установка параметров
Глава 22. Arduino и интерфейс USB: управление роботами
22.1. Интерфейс USB
22.2. Плата расширения USB Host Shield
22.3. HID-устройства USB
22.4. Подключение HID-мыши USB
22.5. Управление роботом с помощью руля Defender
22.6. Управление роботом с помощью геймпада Defender
Глава 23. Камера Pixy: реализация компьютерного зрения
23.1. Настройка камеры
23.2. Подключение камеры Pixy к плате Arduino
23.3. Организация слежения камерой за объектом
Глава 24. Проекты на плате Nano 33 BLE Sense
24.1. Начало работы с платой Nano 33 BLE Sense
24.2. Bluetooth Low Energy (BLE)
24.3. Отправка данных с датчиков платы Nano 33 BLE Sense no BLE
24.4. Библиотека TensorFlow Lite
24.5. Пример создания классификатора объектов с обучением
24.5.1. Сбор данных
24.5.2. Обучение модели
24.5.3. Скетч классификатора для запуска нейронной сети на плате
Nano 33 BLE Sense
ПРИЛОЖЕНИЯ
Приложение 1. Перечень использованных источников
Приложение 2. Описание электронного архива
Предметный указатель
Скачать Проекты с использованием контроллера Arduino. 4-е издание