Название: Проекты с использованием контроллера Arduino. 3-е издание Автор: Петин В. А. Издательство: СПб.: БХВ-Петербург Серия: Электроника Год издания: 2019 Страниц: 496 ISBN: 978-5-9775-4004-9 Формат: DjVu Качество: отличное Для сайта:vtome.ru Размер: 111 Мб Язык: русский
Рассмотрены основные платы Arduino и платы расширения (шилды), добавляющие функциональность основной плате. Подробно описан язык и среда программирования Arduino IDE. Приведены практические проекты с использованием контроллеров семейства Arduino в области робототехники, погодных метеостанций, «умного дома», вендинга, телевидения, беспроводной связи (bluetooth, радиоуправление, связь с устройствами Android) и др. Все проекты сопровождаются схемами и листингами.
Третье издание существенно переработано. Описаны новые датчики, исполнительные и беспроводные устройства, дисплеи. Рассмотрены платы Arduino YUN и Arduino Esplora, камера Pixy, проекты в области Интернета вещей и компьютерного зрения. Описано программирование плат ESP8266 и Z-UNO в среде Arduino IDE. Для читателей, интересующихся современной электроникой.
Предисловие Для кого и о чем эта книга? Структура книги Благодарности
ЧАСТЬ I. ARDUINO — ОБЩИЙ ОБЗОР
Глава 1. Введение в Arduino
1.1. Arduino — что это? 1.2. В чем преимущество Arduino? 1.3. История создания Arduino
Глава 2. Платы семейства Arduino и платы расширения для них
2.1. Обзор плат семейства Arduino 2.1.1. Arduino Uno 2.1.2. Arduino Nano 2.1.3. Arduino Pro Mini 2.1.4. Arduino LilyPad 2.1.5. Arduino Mega2560 2.1.6. Arduino Leonardo 2.1.7. Arduino Due 2.1.8. Arduino Yun 2.2. Платы расширения для 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
Глава 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. ФункцияpinMode 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. Функция noTone() 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,y) 5.5.5.2. Функция max(x,у) 5.5.5.3. Функция abs() 5.5.5.4. Функция constrain(x, a, b) 5.5.5.5. Функция map(value, fromLow, fromHigh, toLow, toHigh) 5.5.5.6. Функцияpow(base, 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
Глава 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
Глава 14. Специальные возможности отдельных плат Arduino
14.1. Использование Arduino Leonardo в качестве USB-устройства 14.1.1. Arduino Leonardo: имитация клавиатуры 14.1.2. Блокируем клавиатуру с наступлением темноты 14.1.3. Arduino Leonardo: имитация компьютерной мыши 14.2. Плата Arduino Esplora 14.2.1. Arduino Esplora: установка цветов RGB-светодиода 14.2.2. Arduino Esplora: создание игры 14.3. Плата Arduino LilyPad 14.4. Плата Arduino Yun 14.4.1. Arduino Yun shield: управляем веб-камерой
Глава 15. Взаимодействие Arduino с другими программируемыми системами
15.1. Использование Arduino в проектах LEGO 15.1.1. Получение микрокомпьютером LEGO данных с датчика влажности и температуры DHT11, подключенного к плате Arduino 15.2. Arduino в проектах ROS 15.2.1. Установка ROS 15.2.2. Узлы и темы в ROS 15.2.3. Пакет rosserial 15.2.4. Подготовка сообщения (publisher) на Arduino 15.2.5. Создание подписки (subscriber) на Arduino 15.2.6. Связь через ROS двух плат Arduino
Глава 16. Программирование в среде Arduino IDE других плат
16.1. ESP8266 — микроконтроллер с интерфейсом Wi-Fi 16.1.1. Установка Arduino IDE для работы с ESP8266 16.1.2. Печать курса валют на термопринтере в проекте Интернета вещей 16.2. Z-Uno — плата для прототипирования устройств Z-Wave 16.2.1. Установка Arduino IDE для Z-Uno 16.2.2. Подключение к плате Z-Uno датчика влажности DHT11
ЧАСТЬ IV. ПРАКТИКА РАЗРАБОТКИ ПРОЕКТОВ ДЛЯ ARDUINO
Глава 17. Умная теплица «Домашний цветок»
17.1. Мониторинг климатических параметров умной теплицы 17.2. Индикация показаний умной теплицы 17.3. Организация полива, обдува и освещения в умной теплице 17.4. Переносим функции мониторинга и управления теплицей на смартфон с ОС Android 17.5. Создаем собственное мобильное приложение для управления умной теплицей 17.6. Превращаем нашу умную теплицу в объект Интернета вещей
Глава 18. Светодиодное табло футбольных матчей
18.1. RGB-светодиодная лента WS2812 18.2. Arduino-библиотека Adafruit_NeoPixel 18.3. Создание табло результатов ЧМ-2018 по футболу на RGB-ленте WS2812
Глава 19. Голосовое управление исполнительными устройствами
19.1. Управление электроприборами с помощью радиорозеток UNIEL 19.2. Радиомодули FS1000A/MX-RM-5V 19.3. Модуль распознавания голоса Voice Recognition Module V2 19.4. Система голосового управления
Глава 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 MK II 20.3.1. Подключение хоппера к плате Arduino 20.3.2. Программирование хоппера
Глава 21. Makey: импровизированные клавиатуры
21.1. Makey: управление новогодней RGB-гирляндой 21.2. Программирование новогодней RGB-гирлянды
Глава 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. Организация слежения камерой за объектом
ПРИЛОЖЕНИЯ
Приложение 1. Перечень использованных источников Приложение 2. Описание электронного архива Предметный указатель
Скачать Проекты с использованием контроллера Arduino. 3-е изд. (+файлы)
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.