Изучаем Arduino Uno R4. Программирование и примеры проектов для Uno R4 Minima и Uno R4 WiFi
Покупка
Новинка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Ибрагим Доган
Перевод:
Ревич Юрий Всеволодович
Год издания: 2024
Кол-во страниц: 326
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-93700-297-6
Артикул: 856479.01.99
Знакомая нам уже много лет плата Arduino Uno R3 на основе недорогого 8-битного процессора ATmega328P — возможно, самый популярный представитель семейства Arduino. Недавно была выпущена новая плата Arduino Uno R4 на основе 48-мегагерцевого 32-битного процессора Cortex-M4 с большим объемом SRAM и флеш-памяти. В конструкцию добавлены ЦАП и более точный АЦП, а также интерфейс CAN Bus. Доступны две версии новой платы: Uno R4 Minima и Uno R4 WiFi.
В книге рассказывается об использовании этих новых плат для разработки множества различных проектов с применением всего лишь нескольких деталей и внешних модулей. Для всех проектов предоставлены блок-схемы, принципиальные схемы, полные листинги программ на языке С и их краткие описания.
Вы познакомитесь с различными датчиками, разберетесь с устройством 7-сегментных индикаторов и ЖК-дисплеев, построите RFID-считыватель и часы реального времени (RTC), внедрите в свои конструкции сервоприводы и, наконец, узнаете, как связать устройства по Wi-Fi, Bluetooth, протоколу TCP/IP, через последовательный порт UART и CAN-шину.
Издание предназначено широкому кругу читателей, знакомых с Arduino и имеющих опыт работы с микроконтроллерами.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- ДМК. Пресс. Электроника, радиотехника и системы связи
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Интермедиатор. Электроника, радиотехника и системы связи (сводная)
- Программирование и алгоритмизация
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Доган Ибрагим Изучаем Arduino Uno R4
Mastering the Arduino Uno R4 Programming and Projects for the Minima and WiFi Dogan Ibrahim
Изучаем Arduino Uno R4 Программирование и примеры проектов для Uno R4 Minima и Uno R4 WiFi Доган Ибрагим Москва, 2024
УДК 004.9Arduino, 004.732 ББК 32.816, 32.973, 32.965 И15 Ибрагим Д. И15 Изучаем Arduino Uno R4 / пер. с англ. Ю. В. Ревича. – М.: ДМК Пресс, 2024. – 324 с.: ил. ISBN 978-5-93700-297-6 Знакомая нам уже много лет плата Arduino Uno R3 на основе недорогого 8-битного процессора ATmega328P – возможно, самый популярный представитель семейства Arduino. Недавно была выпущена новая плата Arduino Uno R4 на основе 48-мегагерцевого 32-битного процессора Cortex-M4 с большим объемом SRAM и флеш-памяти. В конструкцию добавлены ЦАП и более точный АЦП, а также интерфейс CAN Bus. Доступны две версии новой платы: Uno R4 Minima и Uno R4 WiFi. В книге рассказывается об использовании этих новых плат для разработки множества различных проектов с применением всего лишь нескольких деталей и внешних модулей. Для всех проектов предоставлены блок-схемы, принципиальные схемы, полные листинги программ на языке С и их краткие описания. Вы познакомитесь с различными датчиками, разберетесь с устройством 7-сегментных индикаторов и ЖК-дисплеев, построите RFID-считыватель и часы реального времени (RTC), внедрите в свои конструкции сервоприводы и, наконец, узнаете, как связать устройства по Wi-Fi, Bluetooth, протоколу TCP/IP, через последовательный порт UART и CAN-шину. Издание предназначено широкому кругу читателей, знакомых с Arduino и имеющих опыт работы с микроконтроллерами. УДК 004.9Arduino, 004.732 ББК 32.816, 32.973, 32.965 This is an Elektor Publication. Elektor is the media brand of Elektor International Media B.V. All rights reserved. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-3-89576-578-0 (англ.) © 2023 Elektor International Media B.V. ISBN 978-5-93700-297-6 (рус.) © Перевод, оформление, издание, ДМК Пресс, 2024
Содержание От издательства..........................................................................................................10 Предисловие...............................................................................................................11 Глава 1 • Arduino Uno R4........................................................................................13 1.1. Обзор......................................................................................................................13 1.2. Arduino Uno R4 в сравнении с Uno R3...............................................................14 1.3. Аппаратное обеспечение Arduino Uno R4 Minima..........................................17 Глава 2 • Программирование Arduino Uno R4...................................................22 2.1. Обзор......................................................................................................................22 2.2. Установка Arduino IDE 2.1.0................................................................................23 2.3. Программы без использования аппаратной части.........................................26 Пример 2.1. Сумма целых чисел...........................................................................26 Пример 2.2. Таблица квадратов............................................................................28 Пример 2.3. Объем цилиндра...............................................................................29 Пример 2.4. Перевод градусов Цельсия в градусы Фаренгейта.......................31 Пример 2.5. Таблица умножения..........................................................................32 Пример 2.6. Таблица синуса..................................................................................33 Пример 2.7. Таблица синуса, косинуса и тангенса.............................................35 Пример 2.8. Целочисленный калькулятор..........................................................37 Пример 2.9. Игральные кубики............................................................................38 Пример 2.10. Калькулятор для действительных чисел.....................................40 Пример 2.11. Вывод в двоичном, восьмеричном, шестнадцатеричном форматах..................................................................................................................42 Пример 2.12. Строковые функции.......................................................................43 Пример 2.13. Инициализация массива................................................................44 Пример 2.14. Символьные функции....................................................................45 Пример 2.15. Решение квадратного уравнения.................................................47 Пример 2.16. Счастливый день недели................................................................50 Пример 2.17. Факториал числа..............................................................................51 Пример 2.18. Сложение двух квадратных матриц.............................................53 Глава 3 • Аппаратные проекты со светодиодами.............................................55 3.1. Обзор......................................................................................................................55 3.2. Проекты со светодиодами..................................................................................55 Проект 3.1. Мигание встроенным светодиодом................................................55 Проект 3.2. Мигание внешним светодиодом......................................................56 Проект 3.3. Мигающий светодиод SOS................................................................60 Проект 3.4. Поочередное мигание светодиодов................................................61 Проект 3.5. Гонки светодиодов.............................................................................64 Проект 3.6. Гонки светодиодов-2..........................................................................67
Содержание • 6 Проект 3.7. Светодиодный двоичный счетчик...................................................68 Проект 3.8. Случайное мигание светодиодов: елочная гирлянда...................70 Проект 3.9. Светодиод, управляемый кнопкой..................................................72 Проект 3.10. Управление частотой мигания светодиода через внешние прерывания.............................................................................................................76 Проект 3.11. Измерение реакции.........................................................................80 Проект 3.12. Цветная волшебная палочка...........................................................81 Проект 3.13. Заданные цвета RGB........................................................................84 Проект 3.14. Светофор............................................................................................85 Проект 3.15. Светофор с пешеходным переходом.............................................90 Проект 3.16. Сдвиговый регистр 74HC595: двоичный счетчик ......................96 Проект 3.17. Сдвиговый регистр 74HC595: случайное мигание 8 светодиодов........................................................................................................100 Проект 3.18. Сдвиговый регистр 74HC595: гонки светодиодов.....................101 Проект 3.19. Сдвиговый регистр 74HC595: включение заданного светодиода.............................................................................................................102 Проект 3.20. Сдвиговый регистр 74HC595: демонстрация заданного числа на светодиодах...........................................................................................103 Глава 4 • 7-сегментные светодиодные индикаторы......................................105 4.1. Обзор....................................................................................................................105 4.2. Структура 7-сегментного светодиодного индикатора.................................105 Проект 4.1. 7-сегментный одноразрядный индикатор: десятичный счетчик...................................................................................................................107 Проект 4.2. Четырехразрядный 7-сегментный мультиплексированный светодиодный индикатор...............................................................................111 Проект 4.3. Четырехразрядный 7-сегментный индикатор: счетчик с прерываниями таймера.....................................................................117 Проект 4.4. Четырехразрядный 7-сегментный индикатор: счетчик с очисткой ведущих нулей....................................................................121 Проект 4.5. Четырехразрядный 7-сегментный индикатор: измерение реакции с помощью таймера..............................................................................124 Проект 4.6. Мигание встроенного светодиода по прерыванию таймера..................................................................................................................129 Глава 5 • Жидкокристаллические дисплеи.......................................................131 5.1. Обзор...............................................................................................................131 5.2. Шина I2C..............................................................................................................132 5.3. Порты I2C платы Uno R4...................................................................................132 5.4. ЖК-дисплей с интерфейсом I2C......................................................................133 Проект 5.1. Отображение текста на ЖК-дисплее.............................................137 Проект 5.2. Прокрутка текста на ЖК-дисплее..................................................138 Проект 5.3. Отображение пользовательских символов на ЖК-дисплее.......140 Проект 5.4. Счетчик товаров на конвейерной ленте с ЖК-дисплеем...........142 Проект 5.5. Точные часы на ЖК-дисплее с использованием прерываний таймера............................................................................................145 Проект 5.6. Игральные кубики на ЖК-дисплее................................................150
Содержание • 7 Глава 6 • Датчики...................................................................................................153 6.1. Обзор....................................................................................................................153 6.2. Проекты с различными датчиками.................................................................153 Проект 6.1. Аналоговый датчик температуры..................................................153 Проект 6.2. Вольтметр..........................................................................................156 Проект 6.3. Релейный регулятор температуры................................................158 Проект 6.4. Фоторезистор в качестве датчика освещенности.......................161 Проект 6.5. Датчик наклона................................................................................164 Проект 6.6. Измерение уровня воды..................................................................166 Проект 6.7. Регулятор уровня воды....................................................................169 Проект 6.8. Датчик переполнения с зуммером................................................171 Проект 6.9. Датчик обнаружения звука – управление реле хлопком ладоней...................................................................................................................173 Проект 6.10. Датчик пламени с релейным выходом.......................................175 Проект 6.11. Измерение температуры и влажности........................................177 Проект 6.12. Генерация музыкальных тонов....................................................181 Глава 7 • RFID-считыватель..................................................................................184 7.1. Обзор....................................................................................................................184 7.2. Применение RFID-считывателя.......................................................................185 Проект 7.1. Определение идентификатора RFID-метки.................................185 Проект 7.2. Дверной замок с RFID-доступом через реле................................187 Глава 8 • Клавиатура 4×4.....................................................................................191 8.1. Обзор....................................................................................................................191 8.2. Кнопочная клавиатура 4×4...............................................................................191 Проект 8.1. Отображение нажатого кода клавиши на последовательном мониторе.........................................................................192 Проект 8.2. Целочисленный калькулятор с ЖК-дисплеем.............................195 Проект 8.3. Дверной замок с клавиатурой и реле............................................201 Глава 9 • Модуль часов реального времени (RTC)..........................................204 9.1. Обзор....................................................................................................................204 9.2. Модуль RTC..........................................................................................................204 Проект 9.1. RTC и монитор последовательного порта....................................205 Проект 9.2. RTC с ЖК-дисплеем..........................................................................208 Проект 9.3. Отображение температуры и влажности с отметкой времени..................................................................................................................210 9.3. Использование встроенных RTC контроллера Renesas RA4M1...................213 Проект 9.4. Установка и отображение текущего времени встроенных RTC..........................................................................................................................214 Проект 9.5. Периодическое прерывание каждые 2 секунды..........................215 Глава 10 • Джойстик..............................................................................................217 10.1. Обзор..................................................................................................................217 10.2. Джойстик...........................................................................................................217 Проект 10.1. Чтение аналоговых значений с джойстика...............................218
Содержание • 8 Глава 11 • Светодиодная матрица 8×8..............................................................222 11.1. Обзор..................................................................................................................222 11.2. Светодиодная матрица 8×8............................................................................222 Проект 11.1. Отображение фигур.......................................................................223 Глава 12 • Двигатели: сервоприводы и шаговые двигатели........................228 12.1. Обзор..................................................................................................................228 12.2. Сервопривод.....................................................................................................228 Проект 12.1. Тестовое вращение сервопривода...............................................229 Проект 12.2. Серворазвертка...............................................................................231 Проект 12.3. Сервопривод, управляемый джойстиком...................................232 12.3. Шаговый двигатель..........................................................................................234 Проект 12.4. Поворот двигателя по часовой стрелке и обратно....................235 Глава 13 • Цифроаналоговый преобразователь.............................................238 13.1. Обзор..................................................................................................................238 Проект 13.1. Генерация прямоугольного сигнала амплитудой 2 В...............238 13.2. Генерация синусоидального сигнала: библиотека AnalogWave................240 Проект 13.2. Генерация синусоидального сигнала..........................................240 Проект 13.3. Генератор синуса с переменной частотой .................................242 Проект 13.4. Задание частоты синусоидального сигнала с помощью потенциометра......................................................................................................242 Проект 13.5. Генерация прямоугольного сигнала частотой 1 кГц и амплитудой 1 В..................................................................................................244 Глава 14 • Использование EEPROM, Human Interface Device и ШИМ..........245 14.1. Обзор..................................................................................................................245 14.2. Память EEPROM................................................................................................245 14.3. Интерфейс взаимодействия с человеком (HID)..........................................246 Проект 14.1. Запуск программ Windows с помощью кнопок.........................247 14.4. Широтно-импульсная модуляция (ШИМ)....................................................250 Проект 14.2. Регулирование светодиодов с помощью ШИМ..........................253 Глава 15 • Arduino Uno R4 WiFi...........................................................................255 15.1. Обзор..................................................................................................................255 15.2. Светодиодная матрица...................................................................................258 Проект 15.1. Использование светодиодной матрицы для создания изображения креста, метод 1..............................................................................258 Проект 15.2. Создание изображений установкой байтов...............................260 Проект 15.3. Использование светодиодной матрицы для создания изображения креста, метод 2......................................................263 Проект 15.4. Анимация – отображение слова...................................................265 15.3. Использование Wi-Fi.......................................................................................267 15.3.1. UDP и TCP...................................................................................................267 15.3.2. Связь по протоколу UDP..........................................................................268 15.3.3. Связь по протоколу TCP...........................................................................269 Проект 15.5. Управление встроенным светодиодом Arduino Uno R4 WiFi со смартфона с помощью UDP...................................................................270 15.4. Bluetooth............................................................................................................274
Содержание 15.4.1. Bluetooth BLE.............................................................................................275 15.4.2. Модель программного обеспечения Bluetooth BLE.............................276 Глава 16 • Последовательная связь...................................................................278 16.1. Обзор..................................................................................................................278 Проект 16.1. Получение температуры окружающей среды от Arduino Uno R3..................................................................................................280 Глава 17 • Использование симулятора Arduino Uno.......................................283 17.1. Почему симуляция?..........................................................................................283 17.2. Симулятор Wokwi.............................................................................................285 Проект 17.1. Простое моделирование – мигающий светодиод......................285 Проект 17.2. Отображение текста на ЖК-дисплее...........................................287 Проект 17.3. ЖК-счетчик секунд.........................................................................288 Глава 18 • Шина CAN.............................................................................................290 18.1. Обзор..................................................................................................................290 18.2. Шина CAN..........................................................................................................290 18.2.1. Оконечная нагрузка CAN-шины.............................................................291 18.2.2. Скорость передачи данных по CAN-шине............................................292 18.2.3. Длина кабельного шлейфа......................................................................293 18.2.4. Узел CAN-шины.........................................................................................293 18.2.5. Уровни сигнала шины CAN.....................................................................293 18.2.6. Напряжение CAN_H..................................................................................294 18.2.7. Напряжение CAN_L...................................................................................295 18.2.8. Арбитраж шины........................................................................................295 18.2.9. Шинный приемопередатчик...................................................................296 18.2.10. CAN-разъемы...........................................................................................296 18.3. Интерфейс CAN-шины Arduino Uno R4........................................................298 18.3.1. Приемопередатчик CAN-шины..............................................................298 18.4. Примеры использования CAN........................................................................300 Проект 18.1. Связь между Arduino Uno R4 WiFi и Arduino Uno R4 Minima по CAN-шине...........................................................................................300 Проект 18.2. Отправка показаний температуры по CAN-шине....................304 Глава 19 • Инфракрасный приемник и пульт дистанционного управления...........................................................................................309 19.1. Обзор..................................................................................................................309 19.2. Инфракрасный приемник..............................................................................309 19.3. Инфракрасный пульт дистанционного управления...................................310 19.4. Работа ИК-системы дистанционного управления......................................310 Проект 19.1. Расшифровка кодов ИК-пульта управления..............................313 Проект 19.2. Дистанционное включение/выключение реле..........................315 Проект 19.3. Дистанционное управление шаговым двигателем...................318 Предметный указатель...........................................................................................322
От издательства Отзывы и пожелания Мы всегда рады отзывам наших читателей. Расскажите нам, что вы ду-маете об этой книге – что понравилось или, может быть, не понравилось. Отзывы важны для нас, чтобы выпускать книги, которые будут для вас максимально полезны. Вы можете написать отзыв на нашем сайте www.dmkpress.com, зайдя на страницу книги и оставив комментарий в разделе «Отзывы и рецензии». Также можно послать письмо главному редактору по адресу dmkpress@gmail. com; при этом укажите название книги в теме письма. Если вы являетесь экспертом в какой-либо области и заинтересованы в написании новой книги, заполните форму на нашем сайте по адресу http:// dmkpress.com/authors/publish_book/ или напишите в издательство по адресу dmkpress@gmail.com. Список опечаток Хотя мы приняли все возможные меры для того, чтобы обеспечить высокое качество наших текстов, ошибки все равно случаются. Если вы найдете ошибку в одной из наших книг, мы будем очень благодарны, если вы сообщите о ней главному редактору по адресу dmkpress@gmail.com. Сделав это, вы избавите других читателей от недопонимания и поможете нам улучшить последующие издания этой книги. Нарушение авторских прав Пиратство в интернете по-прежнему остается насущной проблемой. Издательство «ДМК Пресс» очень серьезно относится к вопросам защиты авторских прав и лицензирования. Если вы столкнетесь в интернете с незаконной публикацией какой-либо из наших книг, пожалуйста, пришлите нам ссылку на интернет-ресурс, чтобы мы могли применить санкции. Ссылку на подозрительные материалы можно прислать по адресу электронной почты dmkpress@gmail.com. Мы высоко ценим любую помощь по защите наших авторов, благодаря которой мы можем предоставлять вам качественные материалы.