Руководство от профессионального инженера Джереми Блума, который прославился видеоуроками на YouTube, покажет вам множество примеров работы с платами Arduino. Материал начинается с общих азов программирования и схемотехники, а затем постепенно рассматриваются всё более и более глубокие темы:
- работа с датчиками, электромоторами и сервоприводами;
- особенности проводных и беспроводных интерфейсов;
- использование SD-карт и работа с Arduino по сети.
Все разделы снабжены наглядными схемами и примерами кода для среды программирования Arduino IDE. В результате вы пройдёте путь от новичка до знатока микроконтроллерной платформы Arduino и сможете создавать свои устройства из доступных комплектующих в домашних условиях.
Особенности второго издания
Во втором издании книги «Изучаем Arduino» добавились расширенные примеры работы с шаговыми двигателями и появился раздел про беспроводную связь Bluetooth / Wi-Fi с учебными сетевыми проектами. Проекты из предыдущего издания книги обновились и получили более подробные комментарии автора, включая необходимые теоретические справки.
- Откройте для себя особенности использования различных плат Arduino.
- Используйте Аrduino для решения простых и сложных задач в области электроники.
- Изучите принципы проектирования, программирования и разработки электронных устройств.
- Используйте полученный опыт, код и схемотехнические решения при создании собственных проектов.
- Используйте приобретённые навыки при освоении других микроконтроллерных платформ.
- Научитесь интегрировать свои проекты в интернет вещей.
Данные
- Автор: Джереми Блум
- Оригинальное название: Exploring Arduino: Tools and Techniques for Engineering Wizardry, Second Edition (Jeremy Blum)
- Формат: 165×215 мм
- Кол-во страниц: 544
- Тип издания: мягкая обложка
- Печать: чёрно-белая
- Год выхода: 2020 (второе издание)
- Издательство: «БХВ-Петербург»
- ISBN: 978-5-9775-6735-0
Оглавление
Часть I. Технические основы платформы Arduino
Глава 1. Начало работы и основные сведения о платформе Arduino
- Что вы узнаете из этой главы
- Исследуем среду Arduino
- Функциональные возможности Arduino
- Платы Arduino
- Создаём и исполняем первую программу
- Загрузка и установка среды Arduino IDE
- Запускаем среду IDE и подключаемся к плате Arduino
- Структура нашей первой программы
- Резюме
Глава 2. Цифровые входы и выходы и широтно-импульсная модуляция
- Что вы узнаете из этой главы
- Ввод цифровых сигналов
- Подключение светодиода и работа с беспаечными макетными платами
- Программирование цифровых выводов
- Цикл for
- Генерирование ШИМ-сишнала с помощью функции analogWrite()
- Считывание входных цифровых сигналов
- Использование понижающего резистора для считывания входных цифровых сигналов
- Управляемый ночник на трёхцветном светодиоде
- Резюме
Глава 3. Считывание сигналов аналоговых датчиков
- Что вы узнаете из этой главы
- Аналоговые и цифровые сигналы
- Сравнение аналоговых и цифровых сигналов
- Преобразование аналоговых сигналов в цифровые
- Опрос аналоговых датчиков с помощью Arduino
- Считывание выходного сигнала потенциометра
- Применение аналоговых датчиков
- Переменные резисторы в качестве аналоговых датчиков
- Резистивные делители напряжения
- Управление выходным аналоговым сигналом посредством входного аналогового сигнала
- Резюме
Часть II. Взаимодействие с окружающей средой
Глава 4. Использование транзисторов и управление электродвигателями постоянного тока
- Что вы узнаете из этой главы
- Электродвигатели постоянного тока
- Работа с сильноточными индуктивными нагрузками
- Управление скоростью вращения электродвигателя посредством ШИМ
- Управление направлением вращения электродвигателя с помощью H-моста
- Создаём шасси самоходного робота
- Выбор компонентов для шасси робота
- Собираем схему управления роботом
- Разработка программы управления самоходным шасси
- Сборка устройства
- Резюме
Глава 5. Управление сервоприводами и шаговыми двигателями
- Что вы узнаете из этой главы
- Управление сервоприводами
- Разница между сервоприводами кругового вращения и с поворотом в пределах сектора
- Управление сервоприводом
- Программа управления сервоприводом
- Создание сканирующего дальномера
- Шаговые двигатели и управление ими
- Принцип работы биполярных шаговых двигателей
- Приводим шаговый двигатель в действие
- Создаём одноминутный хронограф
- Сборка схемы хронографа
- Программа хронографа
- Резюме
Глава 6. Работаем со звуком
- Что вы узнаете из этой главы
- Принцип работы динамика
- Свойства звука
- Как динамик воспроизводит звук
- Генерация звуков с помощью функции tone()
- Подключение файла сопоставления нот частотам
- Сборка схемы с динамиком
- Создание звуковых последовательностей
- Ограничения функции tone()
- Миниатюрное пианино
- Резюме
Глава 7. Последовательный интерфейс USB
- Что вы узнаете из этой главы
- Возможности последовательного обмена данными платформы Arduino
- Использование встроенной или внешней микросхемы преобразователя USB/RS-232 компании FTDI или Silicon Laboratories
- Платы Arduino c дополнительным микроконтроллером ATmega в качестве преобразователя USB/RS-232
- Платы Arduino с основным микроконтроллером, поддерживающим интерфейс USB
- Платы Arduino с возможностями USB-хоста
- Приём данных от Arduino на компьютере
- Использование команды print()
- Специальные символы
- Изменения представления типов данных
- Передача данных с компьютера на плату Arduino
- Настройка монитора порта для отправки команд
- Получение данных, отправляемых с компьютера или другого устройства через последовательный интерфейс
- Взаимодействие с компьютерной программой
- Установка Processing
- Управление приложением Processing посредством платы Arduino
- Передача скетчем Processing данных на плату Arduino
- Резюме
Глава 8. Эмуляция USB-устройств
- Что вы узнаете из этой главы
- Эмуляция клавиатуры
- Ввод данных в компьютер
- Управление компьютером с платы Arduino
- Эмуляция мыши
- Резюме
Глава 9. Сдвиговые регистры
- Что вы узнаете из этой главы
- Что такое сдвиговый регистр
- Последовательная и параллельная передача данных
- Использование микросхемы сдвигового регистра 74HC595
- Загрузка в сдвиговый регистр данных с платы Arduino
- Преобразования между двоичным и десятичным форматом
- Световая анимация с помощью сдвигового регистра
- Эффект «бегущего» светодиода
- Гистограмма для реагирования на изменение входных условий
- Резюме
Часть III. Интерфейсы для обмена данными
Глава 10. Шина I²C
- Что вы узнаете из этой главы
- История создания протокола I²C
- Схема подключения устройств I²C
- Взаимодействие и идентификация устройств
- Аппаратные требования и повышающие резисторы
- Как правильно выбрать номинал повышающего резистора
- Взаимодействие с термодатчиком по шине I²C
- Сборка схемы устройства
- Использование информации из справочного листка датчика TC74
- Программа для опроса датчика TC74
- Совместное использование сдвиговых регистров, последовательного интерфейса и шины I²C
- Собираем систему мониторинга температуры
- Модифицируем скетч Arduino
- Создаём скетч Processing
- Резюме
Глава 11. Шина SPI и библиотеки сторонних разработчиков
- Что вы узнаете из этой главы
- Общие сведения о шине SPI
- Подключение устройств SPI
- Конфигурация интерфейса SPI
- Протокол передачи данных SPI
- Сравненительные характеристики протоколов SPI, I²C и UART
- Взаимодействие с SPI-акселерометром
- Что такое акселерометр?
- Получаем информацию из справочного листка
- Сборка схемы устройства
- Разработка программы
- Аудиовизуальный музыкальный инструмент на основе трёхкоординатного акселерометра
- Сборка схемы устройства
- Модифицируем программу
- Резюме
Глава 12. Взаимодействие с жидкокристаллическими дисплеями
- Что вы узнаете из этой главы
- Подключение ЖКД к плате Arduino
- Библиотека LiquidCrystal для работы с ЖКД
- Вывод текста на дисплей
- Создание специальных символов и анимация
- Создаём термостат
- Сборка схемы устройства
- Отображение данных на ЖКД
- Настройка порогового значения температуры с помощью кнопок
- Код программы для звукового оповещения и управления вентилятором
- Собираем все фрагменты кода в завершённую программу
- Совершенству нет предела
- Резюме
Часть IV. Прерывания, комбинирование функций и карты SD
Глава 13. Прерывания и другие специальные функции
- Что вы узнаете из этой главы
- Аппаратные прерывания
- Опрос состояния и прерывания: преимущества и недостатки каждого подхода
- Возможности аппаратных прерываний Arduino
- Схема запуска прерывания кнопкой, оснащённой аппаратной защитой от дребезга
- Прерывания по таймеру
- Прерывания по таймеру
- Установка библиотеки TimerOne
- Одновременное исполнение двух задач
- Музыкальный инструмент на прерываниях
- Схема музыкального инструмента
- Программа для музыкального инструмента
- Резюме
Глава 14. Работа с картами памяти SD
- Что вы узнаете из этой главы
- Подготовка к регистрации данных
- Файлы данных CSV-формата
- Подготовка SD-карты для записи данных
- Сопряжение платы Arduino с SD-картой
- Шилды для SD-карт
- Интерфейс SPI SD-карт
- Запись на карточку SD
- Считывание данных с SD-карты
- Часы реального времени
- Общие сведения о часах реального времени
- Работа с часами реального времени
- Регистратор проходов через дверь
- Схема регистратора
- Программа регистратора
- Анализ данных
- Резюме
Часть V. Беспроводная связь
Глава 15. Радиосвязь
- Что вы узнаете из этой главы
- Электромагнитный спектр
- Радиоспектр
- Принципы обмена данными по радиоканалу
- Передача нажатий кнопки по радиоканалу
- Подключение приёмника к плате Arduino
- Программа для работы с радиоприёмником
- Беспроводной дверной звонок
- Схема приёмной стороны звонка
- Программа для приёмной стороны звонка
- Первые шаги на пути к «умному» дому — управление светильником
- Электричество в доме и офисе
- Принцип работы реле
- Программа для управления реле
- Подключение реле управления светильником к Arduino
- Резюме
Глава 16. Беспроводная связь Bluetooth
- Что вы узнаете из этой главы
- Что такое Bluetooth?
- Стандарты и версии Bluetooth
- Профили Bluetooth и служба GATT BTLE
- Установка связи между платой Arduino и смартфоном
- Считывание датчика через канал BTLE
- Передача данных со смартфона по каналу BTLE
- Управление светильником посредством Bluetooth
- Процедура сопряжения смартфона с устройствами BTLE
- Программа для работы с датчиком присутствия
- Сопряжение со смартфоном
- Подключаем вместо светодиода светильник
- Резюме
Глава 17. Wi-Fi и облачные хранилища
- Что вы узнаете из этой главы
- Работа Arduino в сети
- Сетевая терминология
- Клиенты и серверы
- Arduino с возможностями Wi-Fi
- Управление платой Arduino через Интернет
- Подготовка оборудования для управления вводом-выводом
- Подготовка среды Arduino IDE для работы с платой Feather
- Проверяем соответствие библиотеки Wi-Fi прошивке модуля Wi-Fi
- Программа сервера для платы Arduino
- Собираем весь код вместе для создания веб-сервера
- Управление платой Arduino из локальной сети и извне её
- Взаимодействие с интерфейсом Web-API
- Работа с интерфейсом Web-API для получения метеоданных
- Вывод полученных данных на дисплей
- Резюме
Приложение. Расшифровка справочных листков и изучение принципиальных схем
- Работа со справочными листками
- Составные части справочного листка
- Цоколёвка компонента
- Изучение принципиальной схемы платы Arduino