Что такое Arduino? За этим словом прячется легкое и простое устройство, которое способно превратить кучу проводов и плат в робота, управлять умным домом и многое другое. Разнообразие устройств ввода/вывода — датчиков, индикаторов, дисплеев и электромоторов — позволяет создавать самые невероятные проекты.
Второе издание этой книги было полностью переработано, ведь технологии не стоят на месте. Познакомившись с основами Arduino, вы сможете экспериментировать с сенсорными экранами и жидкокристаллическими дисплеями, займетесь робототехникой, освоите работу с датчиками и беспроводной передачей данных и научитесь дистанционно управлять устройствами с помощью телефона.
В мире продано уже более 35 000 экземпляров этой книги.
Author(s): Джон Бокселл
Edition: 2
Publisher: Питер
Year: 2022
Language: Russian
Commentary: Vector PDF
Pages: 448
City: СПб.
Tags: Monitoring; Wireless Networks; Arduino; C; SDRAM; GPS Tracking; Interrupts; Electronic Components; Arduino Sketch; I²C Bus; SMS; Sensors; Diodes; Transistors; XBee; RTC; RFID; Breadboard; DC Motors; Do-It-Yourself; Resistors; Relays; LEDs; Infrared Sensors; EEPROM; LCDs; Touchscreens; Cellular Communications; Pulse-Width Modulation
Об авторе
О научном редакторе
От издательства
Благодарности
Глава 1. Введение
Возможности безграничны
Сила в массовости
Компоненты и аксессуары
Необходимое программное обеспечение
macOS
Windows 10
Ubuntu Linux
Безопасность
Забегая вперед
Глава 2. Знакомство
с платой Arduino и IDE
Плата Arduino
Обзор среды разработки
Область управления
Область ввода текста
Область вывода сообщений
Создание первого скетча в IDE
Комментарии
Функция setup()
Управление аппаратными компонентами
Функция loop()
Проверка скетча
Загрузка и запуск скетча
Изменение скетча
Забегая вперед
Глава 3. Первые шаги
Планирование проектов
Об электричестве
Сила тока
Напряжение
Мощность
Электронные компоненты
Резистор
Светодиод
Макетная плата для навесного монтажа
Проект 1: бегущая волна из светодиодов
Алгоритм
Нам понадобятся
Схема
Скетч
Запуск скетча
Переменные
Проект 2: повторение команд с помощью цикла for
Изменение яркости светодиода с помощью широтно-импульсной модуляции
Проект 3: демонстрация ШИМ
Дополнительные электронные компоненты
Транзистор
Выпрямительный диод
Реле
Высоковольтные схемы
Забегая вперед
Глава 4. Строительные блоки
Принципиальные схемы
Обозначение компонентов
Проводники на схемах
Чтение принципиальных схем
Конденсатор
Измерение емкости конденсатора
Маркировка конденсаторов
Типы конденсаторов
Цифровые входы
Проект 4: демонстрация работы цифрового входа
Алгоритм
Нам понадобятся
Схема
Скетч
Анализ скетча
Доработка скетча: принятие альтернативных решений с помощью if-then-else
Логические переменные
Операторы сравнения
Выполнение двух и более сравнений
Проект 5: управление движением
Цель
Алгоритм
Нам понадобятся
Схема
Скетч
Запуск скетча
Аналоговые и цифровые сигналы
Проект 6: тестер для одноэлементных батареек
Цель
Алгоритм
Нам понадобятся
Схема
Скетч
Выполнение арифметических операций в Arduino
Вещественные переменные
Операторы сравнения чисел
Увеличение точности измерения аналоговых сигналов с помощью источника опорного напряжения
Использование внешнего источника опорного напряжения
Использование внутреннего источника опорного напряжения
Переменный резистор
Пьезоэлектрические зуммеры
Изображение пьезоэлектрических зуммеров на схемах
Проект 7: испытание пьезоэлектрического зуммера
Проект 8: быстродействующий термометр
Цель
Нам понадобятся
Схема
Скетч
Забегая вперед
Глава 5. Функции
Проект 9: программирование функции для выполнения
повторяющихся действий
Проект 10: функция, изменяющая число миганий светодиода
Функция, возвращающая значения
Проект 11: быстродействующий термометр, сообщающий
температуру миганием светодиода
Нам понадобятся
Схема
Скетч
Отображение данных из Arduino на мониторе последовательного порта
Монитор последовательного порта
Проект 12: отображение температуры на мониторе порта
Отладка при помощи монитора порта
Принятие решений с помощью инструкций while
while
do-while
Передача данных из монитора порта в Arduino
Проект 13: умножение числа на два
Переменные типа long
Проект 14: использование переменных типа long
Забегая вперед
Глава 6. Числа, переменные и арифметика
Случайные числа
Использование электрического поля для генерации случайных чисел
Проект 15: электронный кубик
Нам понадобятся
Схема
Скетч
Доработка скетча
Краткое введение в двоичную систему счисления
Двоичные числа
Переменные типа byte
Увеличение числа цифровых выходов с применением сдвигового регистра
Проект 16: светодиодный индикатор для двоичных чисел
Нам понадобятся
Подключение микросхемы 74HC595
Скетч
Проект 17: игра «Двоичная викторина»
Алгоритм
Скетч
Массивы
Определение массива
Обращение к значениям в массиве
Запись в массивы и чтение из них
Семисегментные светодиодные индикаторы
Управление сегментами
Проект 18: дисплей с одной цифрой
Нам понадобятся
Схема
Скетч
Доработка скетча: отображение двух цифр
Проект 19: управление двумя семисегментными индикаторами
Нам понадобятся
Схема
Деление по модулю
Проект 20: цифровой термометр
Нам понадобятся
Скетч
Забегая вперед
Глава 7. Расширение Arduino
Платы расширения
Макетные платы ProtoShield
Проект 21: создание собственной платы расширения
Нам понадобятся
Схема
Топология макетной платы ProtoShield
Проектирование
Пайка компонентов
Проверка собранной платы ProtoShield
Расширение возможностей скетчей с помощью библиотек
Загрузка библиотеки в виде ZIP-файла
Импортирование библиотеки Arduino с помощью менеджера библиотек
Карты памяти microSD
Подключение модуля для чтения карт памяти
Тестирование карты microSD
Проект 22: запись данных на карту памяти
Скетч
Проект 23: устройство регистрации температуры
Нам понадобятся
Скетч
Хронометраж с применением millis() и micros()
Проект 24: секундомер
Нам понадобятся
Схема
Скетч
Прерывания
Режимы прерываний
Настройка прерываний
Включение и выключение прерываний
Проект 25: использование прерываний
Скетч
Забегая вперед
Глава 8. Светодиодные цифровые табло и матрицы
Светодиодные цифровые табло
Установка библиотеки
Проект 26: цифровой секундомер
Проект 27: использование модулей светодиодных матриц
Установка библиотеки
Шрифт для отображения символов
Забегая вперед
Глава 9. Жидкокристаллические индикаторы
Символьные жидкокристаллические индикаторы
Использование символьного ЖКИ в скетче
Отображение текста
Отображение переменных или чисел
Проект 28: определение собственных символов
Графические жидкокристаллические индикаторы
Подключение графического ЖКИ
Использование ЖКИ
Управление дисплеем
Проект 29: опробование текстовых функций в действии
Скетч
Запуск скетча
Создание более сложных изобразительных эффектов
Проект 30: опробование графических функций в действии
Скетч
Проект 31: цифровой термометр с памятью
Алгоритм
Нам понадобятся
Скетч
Результат
Доработка скетча
Забегая вперед
Глава 10. Создание своих библиотек для Arduino
Создание первой библиотеки для Arduino
Устройство библиотеки для Arduino
Заголовочный файл
Файл с исходным кодом
Файл KEYWORDS.TXT
Установка новой библиотеки
Создание ZIP-файла в Windows версии 7 и выше
Создание ZIP-файла в Mac OS версии X и выше
Установка новой библиотеки
Создание библиотеки, принимающей значения для выполнения функции
Создание библиотеки, обрабатывающей и отображающей прочитанные с датчиков значения
Забегая вперед
Глава 11. Цифровые клавиатуры
Цифровая клавиатура
Подключение клавиатуры
Программная обработка клавиатуры
Тестирование скетча
Принятие решений с помощью switch-case
Проект 32: кодовый замок
Скетч
Принцип действия
Тестирование скетча
Забегая вперед
Глава 12. Сенсорные экраны
Сенсорные экраны
Подключение сенсорного экрана
Проект 33: определение области касания на сенсорном экране
Нам понадобятся
Скетч
Тестирование скетча
Калибровка сенсорного экрана
Проект 34: двухзонный выключатель
Скетч
Принцип действия
Тестирование скетча
Функция map()
Проект 35: трехзонный выключатель
Разметка сенсорного экрана
Скетч
Принцип действия
Забегая вперед
Глава 13. Семейство плат Arduino
Проект 36: создание собственной платы Arduino
Нам понадобятся
Схема
Запуск проверочного скетча
Обширное семейство плат Arduino и их заменителей
Arduino Uno
Freetronics Eleven
Adafruit Pro Trinket
Arduino Nano
Arduino LilyPad
Arduino Mega 2560
Freetronics EtherMega
Arduino Due
Забегая вперед
Глава 14. Электродвигатели и движение
Реализация небольших перемещений с помощью сервомоторов
Выбор серво
Подключение сервопривода
Управление сервоприводом
Проект 37: аналоговый термометр
Нам понадобятся
Схема
Скетч
Электродвигатели
Выбор электродвигателя
Транзистор Дарлингтона TIP120
Проект 38: управление электродвигателем
Нам понадобятся
Схема
Скетч
Шаговые моторы
Проект 39: робот с электродвигателями и управление им
Нам понадобятся
Схема
Скетч
Подключение дополнительного оборудования к роботу
Определение столкновений
Проект 40: определение столкновений с помощью микровыключателя
Схема
Скетч
Инфракрасный датчик расстояния
Подключение
Тестирование ИК-датчика расстояния
Проект 41: определение столкновений
с помощью ИК-датчика расстояния
Скетч
Доработка скетча: добавление датчиков
Ультразвуковой датчик расстояния
Подключение ультразвукового датчика
Тестирование ультразвукового датчика расстояния
Проект 42: определение столкновений
с помощью ультразвукового датчика расстояния
Скетч
Забегая вперед
Глава 15. Arduino и GPS
Что такое GPS
Тестирование платы расширения GPS
Проект 43: простой приемник GPS
Нам понадобятся
Скетч
Отображение координат на экране ЖКИ
Проект 44: часы точного времени на основе GPS
Нам понадобятся
Скетч
Проект 45: запись координат перемещающегося объекта
с течением времени
Нам понадобятся
Скетч
Отображение траектории на карте
Забегая вперед
Глава 16. Беспроводная передача информации
Применение недорогих модулей беспроводной связи
Проект 46: пульт дистанционного управления
Для передатчика нам потребуются
Схема для передатчика
Для приемника нам потребуется
Схема приемника
Скетч для передатчика
Скетч для приемника
Использование модулей LoRa для быстрой беспроводной передачи данных на большие расстояния
Проект 47: беспроводная передача данных с помощью LoRa
Нам понадобятся для передатчика
Схема для передатчика
Для приемника нам потребуется
Схема приемника
Скетч для передатчика
Скетч для приемника
Проект 48: беспроводная передача данных с подтверждением
Для передатчика нам потребуются
Схема для передатчика
Скетч для передатчика
Скетч для приемника
Проект 49: беспроводная передача данных с датчиков с помощью LoRa
Для передатчика нам потребуются
Для приемника нам потребуются
Схема приемника
Скетч для передатчика
Скетч для приемника
Забегая вперед
Глава 17. Инфракрасный пульт дистанционного управления
Что такое инфракрасный пульт дистанционного управления
Подготовка к приему ИК-сигналов
ИК-приемник
Пульт дистанционного управления
Тестовый скетч
Тестирование собранного устройства
Проект 50: дистанционное управление Arduino с помощью ИК-пульта
Нам понадобятся
Схема
Скетч
Расширение возможностей
Проект 51: дистанционное ИК-управление моделью робота
Нам понадобятся
Скетч
Забегая вперед
Глава 18. Чтение радиомаркеров RFID
Внутреннее устройство радиомаркеров
Проверка оборудования
Схема
Проверка
Проект 52: простая RFID-система контроля доступа
Скетч
Принцип действия
Сохранение данных во встроенном EEPROM
Чтение и запись в EEPROM
Проект 53: RFID-система управления
с запоминанием последнего действия
Скетч
Принцип действия
Забегая вперед
Глава 19. Шины данных
Шина I2C
Проект 54: внешнее EEPROM
Нам понадобятся
Схема
Скетч
Результат
Проект 55: расширитель цифровых портов
Нам понадобятся
Схема
Скетч
Шина SPI
Контакты
Осуществление обмена данными по шине SPI
Передача данных SPI-устройству
Проект 56: цифровой реостат
Нам понадобятся
Схема
Скетч
Забегая вперед
Глава 20. Часы реального времени
Подключение модуля RTC
Проект 57: установка, отображение даты и времени
Нам понадобятся
Скетч
Принцип действия
Проект 58: простые цифровые часы
Нам понадобятся
Скетч
Принцип действия и результаты
Проект 59: система хронометража с RFID-метками
Нам понадобятся
Скетч
Принцип действия
Забегая вперед
Глава 21. Интернет
Нам понадобятся
Проект 60: станция удаленного мониторинга
Нам понадобятся
Скетч
Поиск и устранение неисправностей
Принцип действия
Проект 61: Arduino Tweeter
Нам понадобятся
Скетч
Управление платой Arduino через Интернет
Проект 62: настройка дистанционного управления платой Arduino
Нам понадобятся
Скетч
Дистанционное управление платой Arduino
Забегая вперед
Глава 22. Сети сотовой связи
Нам понадобятся
Настройка и проверка оборудования
Проект 63: автоматический наборщик номера
Нам понадобятся
Схема
Скетч
Принцип действия
Проект 64: отправка текстовых сообщений
Скетч
Принцип действия
Проект 65: дистанционное управление устройствами
через короткие текстовые сообщения
Нам понадобятся
Схема
Скетч
Принцип действия
Забегая вперед