Название: Проекты с использованием контроллера Arduino. 4-е издание Автор: Петин В. А. Издательство: СПб.: БХВ-Петербург Серия: Электроника Год издания: 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. Описание электронного архива Предметный указатель
Скачать Проекты с использованием контроллера Arduino. 4-е издание
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.