Raspberry Pi Pico в любительских проектах
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Перевод:
Ревич Юрий Всеволодович
Год издания: 2023
Кол-во страниц: 282
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-93700-165-8
Артикул: 817233.01.99
Эта книга поможет вам начать работу с миниатюрным и быстрым микроконтроллером Pico и использовать его возможности для разработки инновационных продуктов. Вы узнаете о периферийных устройствах микроконтроллера, а также о разновидностях плат Pico, разработанных и изготовленных различными производителями; затем освоите практические навыки на ряде проектов — начиная с мигающего светодиода и заканчивая большим семисегментным дисплеем.
Издание предназначено любителям DIY, а также будет полезно программистам, студентам, инженерам, студентам и школьникам, которые хотят разрабатывать встроенные системы для домашней автоматизации, «интернета вещей», робототехники и др.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для обучающихся
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для обучающихся (сводная)
- Интернет вещей (IoT)
- Программирование
- Программирование и алгоритмизация
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 02.03.02: Фундаментальная информатика и информационные технологии
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Сай Яманур Шрихари Яманур Raspberry Pi Pico в любительских проектах
Raspberry Pi Pico DIY Workshop Sai Yamanoor Srihari Yamanoor BIRMINGHAM – MUMBAI
Москва, 2023 Сай Яманур Шрихари Яманур Raspberry Pi Pico в любительских проектах
УДК 004.738, 004.62 ББК 32.973 С14 С14 Сай Яманур, Шрихари Яманур Raspberry Pi Pico в любительских проектах / пер. с англ. Ю. В. Ревича. — М.: ДМК Пресс, 2023. – 282 с.: ил. ISBN 978-5-93700-165-8 Эта книга поможет вам начать работу с миниатюрным и быстрым микро контроллером Pico и использовать его возможности для разработки инновационных продуктов. Вы узнаете о периферийных устройствах микроконтроллера, а также о разновидностях плат Pico, разработанных и изготовленных различными производителями; затем освоите практические навыки на ряде проектов – начиная с мигающего светодиода и заканчивая большим семисегментным дисплеем. Издание предназначено любителям DIY, а также будет полезно программистам, студентам, инженерам, студентам и школьникам, которые хотят разрабатывать встроенные системы для домашней автоматизации, «интернета вещей», робототехники и др. Copyright © Packt Publishing 2022. First published in the English language under the title Raspberry Pi Pico DIY Workshop – (9781801814812). Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-80181-481-2 (англ.) Copyright © Packt Publishing, 2022 ISBN 978-5-93700-165-8 (рус.) © Оформление, перевод на русский язык, издание, ДМК Пресс, 2022
Всем умельцам, которые начинают несколько проектов одновременно и мечтают однажды закончить их. – Сай Яманур (Sai Yamanoor) Замечательным кошкам, завладевшим моим сердцем: Сквики, Бобу, Саксону, Джи-Ви, Пушистому Туксу, Ангелу, Серому Коту, а теперь еще и Альфи, Фиш-Боуну и Сакси! – Шрихари Яманур (Srihari Yamanoor)
Оглавление Предисловие от издательства ..................................................................... 11 Об авторах ..................................................................................................... 12 О рецензентах ............................................................................................... 13 Предисловие ................................................................................................. 14 Часть I. Введение в Pico ............................................................................... 19 Глава 1. Начало работы с Raspberry Pi Pico ................................................ 20 Технические требования ..................................................................................20 Представление Raspberry Pi Pico и RP2040 .....................................................21 Микроконтроллер RP2040 .....................................................................................22 Обзор вариантов платы Pico ............................................................................23 Пайка соединительного разъема Pico .............................................................27 Пайка разъема ........................................................................................................27 Реализация примера «Hello World!» ................................................................29 Кнопка сброса для Pico (дополнительно) .............................................................29 MicroPython ............................................................................................................29 Прошивка двоичного файла MicroPython ............................................................30 Написание первой программы .............................................................................31 Реализация примера мигания светодиода .....................................................33 Описание примера кода ........................................................................................35 Пример CircuitPython .............................................................................................36 Второй пример мигания светодиода ....................................................................39 CircuitPython или MicroPython? ............................................................................40 Подключение полезного дополнительного оборудования для Pico .............41 Pico Breadboard Kit (набор Pico с макетной платой) ...........................................42 Pico GPIO Expansion Board (плата расширения выводов GPIO Pico) ..................42 Pico HAT Expansion (расширение Pico HAT) .........................................................42 Grove Shield for Pi Pico (плата расширения Grove для Pi Pico) ............................43 Pimoroni Pico Decker (четырехкратный расширитель) ........................................44 Итоги .................................................................................................................45 Глава 2. Последовательные интерфейсы и их приложения ..................... 46 Технические требования ..................................................................................46 Установка необходимых библиотек ................................................................47 Датчик температуры HTU21D-F ............................................................................47 Датчик температуры и влажности DHT20 ............................................................48 OLED-дисплей (контроллер SSD1306) ...................................................................48 Беспроводной модуль ............................................................................................49 Использование интерфейса UART для связи между двумя платами Pico ....49 Интерфейс UART ....................................................................................................50 Настройка Pico ........................................................................................................51 Программирование UART на платах Pico .............................................................52 Тестирование кода .................................................................................................54 Приложения интерфейса UART .............................................................................57
Оглавление 7 Подключение датчиков через интерфейс I2C ................................................58 Введение в интерфейс I2C .....................................................................................58 Подтягивающие резисторы ...................................................................................60 Тестирование датчика температуры HTU21D-F ..................................................61 Код датчика температуры HTU21D-F ....................................................................61 Тестирование датчика температуры DHT20 ........................................................62 Код для датчика температуры/влажности AHT20 ................................................64 Плата Feather RP2040 .............................................................................................65 Устранение неполадок ...........................................................................................66 Отображение данных о температуре на дисплее с SPI-интерфейсом ..........68 Последовательный периферийный интерфейс (SPI) ..........................................68 Подключение дисплея ...........................................................................................69 Отображение данных о температуре и влажности ..............................................69 Плата LILYGO RP2040 .............................................................................................71 Настройка беспроводного модуля ESP32 ........................................................72 Итоги .................................................................................................................74 Глава 3. Проекты домашней автоматизации ............................................ 75 Технические требования ..................................................................................75 Установка необходимых библиотек ................................................................76 NeoPixel LED ...........................................................................................................76 Беспроводной модуль ............................................................................................76 Подключение контактных датчиков ...............................................................77 Управление приборами ....................................................................................82 Размещение состояний датчиков в облаке .....................................................84 Настройка Adafruit IO ............................................................................................84 Порядок размещения .............................................................................................86 Следующие шаги ....................................................................................................88 Управление светодиодными лентами.............................................................88 Введение в Arduino Nano RP2040 Connect ......................................................90 Установка CircuitPython на RP2040 Connect ...................................................91 Подключение RP2040 к интернету ........................................................................93 Итоги .................................................................................................................94 Глава 4. Весело проводите время в саду! .................................................... 95 Технические требования ..................................................................................96 Почему садоводство? ........................................................................................96 Установка необходимых библиотек ................................................................97 Датчик содержания влаги в почве ........................................................................98 Беспроводной модуль ............................................................................................99 NeoPixel LED ...........................................................................................................99 Настройка датчика влажности почвы .............................................................99 Настройка беспроводного модуля .................................................................103 Настройка светодиода NeoPixel .....................................................................104 Размещение данных в ThingSpeak ................................................................107 Собираем все вместе ......................................................................................111 Итоги ...............................................................................................................112
Оглавление Часть II. Обучение через созидание ..........................................................113 Глава 5. Строим метеостанцию ..................................................................114 Технические требования ................................................................................115 Проведение гражданских научных экспериментов.....................................116 Установка необходимых библиотек ..............................................................116 Датчик AM2315 .....................................................................................................116 Датчик BME280 .....................................................................................................117 Датчик ультрафиолетового излучения VEML6075 .............................................117 Тестирование датчиков ..................................................................................117 Тестирование датчика BME280 ...........................................................................117 Тестирование датчика температуры/влажности AM2315 .................................120 Тестирование датчика VEML6075 .......................................................................122 Тестирование датчиков измерителя погоды ................................................123 Тестирование датчика осадков ...........................................................................124 Проверка анемометра и флюгера .......................................................................126 Проверка датчика направления ..........................................................................128 Тестирование беспроводного модуля .................................................................130 Сборка и тестирование метеостанции ..........................................................130 Следующие шаги ..................................................................................................131 Итоги ...............................................................................................................132 Глава 6. Проектируем настенный семисегментный дисплей .................133 Технические требования ................................................................................133 О мотивации проекта .....................................................................................134 Возможные варианты использования ................................................................136 Установка необходимых библиотек ..............................................................136 Беспроводной модуль ..........................................................................................136 Выбор семисегментных индикаторов ........................................................................ 137 Подключение настенного семисегментного дисплея ..................................139 Создание драйверов для семисегментного дисплея ....................................141 Использование дисплея .................................................................................143 Простой веб-сервер ..............................................................................................143 Пример управления через последовательный порт ..........................................146 Отслеживание физической активности .............................................................147 Собираем все вместе ......................................................................................147 Итоги ...............................................................................................................149 Глава 7. Разрабатываем устройство слежения за качеством воздуха ....150 Технические требования ................................................................................151 Мотивация проекта ........................................................................................151 Установка необходимых библиотек ..............................................................152 Шаговый двигатель ..............................................................................................152 Беспроводной модуль ..........................................................................................153 Датчик CO2 SCD30 .................................................................................................153 Использование общедоступных источников для получения данных о качестве воздуха ....................................................................................153 Выполнение запроса на Pico ...............................................................................157
Оглавление 9 Подключение датчика CO2 к Pico ...................................................................161 Подключение шагового двигателя ................................................................169 Устройство дисплея ........................................................................................173 Создание интерактивного дисплея ...............................................................173 Итоги ...............................................................................................................174 Часть III. Темы повышенной сложности ...................................................175 Глава 8. Беспроводная связь .......................................................................176 Технические требования ................................................................................176 Установка необходимых библиотек ..............................................................177 Adafruit Bluefruit LE SPI Friend ............................................................................177 Дополнительно: модуль LoRa ..............................................................................177 Дополнительно: датчик CO2 ................................................................................179 Подключение модуля Bluetooth с низким энергопотреблением ................179 Размещение показаний датчика через модуль Bluetooth .................................186 Подключение модуля Sigfox ...........................................................................192 Что такое Sigfox? ...................................................................................................192 Модуль Sigfox ........................................................................................................193 Настройка модуля Sigfox ......................................................................................194 Пример кода .........................................................................................................196 Подключение модулей LoRa ..........................................................................198 Что такое LoRa? ....................................................................................................198 Примерный сценарий ..........................................................................................199 Итоги ...............................................................................................................203 Глава 9. Строим робота! ..............................................................................204 Технические требования ................................................................................205 Установка необходимых компонентов .........................................................205 Установка батарей ................................................................................................207 Управление светодиодами .............................................................................208 Выбор двигателя и способы управления различными типами ...................211 Двигатели постоянного тока ...............................................................................211 Шаговые двигатели ..............................................................................................211 Серводвигатели ....................................................................................................212 Управление двигателем постоянного тока ........................................................213 Управление серводвигателем ..............................................................................215 Тестирование датчиков ..................................................................................217 Ультразвуковой датчик ........................................................................................217 Датчики отслеживания линии .............................................................................220 Тестирование робота ......................................................................................222 Соревнования по робототехнике ........................................................................223 Итоги ...............................................................................................................223 Глава 10. Знакомство с приложениями TinyML .......................................224 Технические требования ................................................................................224 Дополнительное оборудование ...........................................................................224 Введение в TinyML ..........................................................................................225
Оглавление Представляем Arducam Pico4ML ....................................................................229 Распознавание ключевых слов в звуковых образцах...................................230 О платформе Edge Impulse ..................................................................................230 Классификация изображений ........................................................................243 Разработка фронтальных устройств .............................................................244 Итоги ...............................................................................................................244 Глава 11. Создаем готовый продукт ..........................................................245 Технические требования ................................................................................245 Истоки Pico-телефона ....................................................................................246 Определение требований ...............................................................................247 Выбор компонентов .............................................................................................247 Построение макета ......................................................................................................... 249 Установка необходимых библиотек ....................................................................250 Тестирование модуля Notecard ...........................................................................250 Тестирование клавиатуры ...................................................................................253 Проектирование печатной платы .................................................................255 Подготовка принципиальной схемы ..................................................................257 Раскладка печатной платы ..................................................................................257 Выбор корпуса ......................................................................................................258 Генерация файлов Gerber .....................................................................................259 Изготовление плат ...............................................................................................259 Монтаж печатной платы ......................................................................................260 Подготовка платы к эксплуатации ................................................................261 Окончательная сборка и тестирование ..............................................................261 Развитие проекта ............................................................................................262 Замена Pico ...........................................................................................................262 Pimoroni PGA2040 .................................................................................................262 RP2040 Stamp ........................................................................................................263 Итоги ...............................................................................................................264 Глава 12. Дополнительные возможности работы с Pico ..........................265 Технические требования ................................................................................265 Обновление прошивки Pico ...........................................................................265 Программирование Pico с помощью Arduino IDE ........................................268 Загрузка и установка Arduino IDE .......................................................................268 Установка пакета для платы Pico ........................................................................269 Программирование на C/C++ с использованием Pico SDK ..........................274 Отладчики для Raspberry Pi Pico .........................................................................274 Инструменты для создания прототипов и разработки продукта ...............274 Макетная плата с указанием разводки выводов Pico ........................................274 Получение профиля потребления вашего продукта .........................................275 Nordic Power Profiler Kit .......................................................................................276 Joulescope ..............................................................................................................276 Программирование PIO .................................................................................277 Итоги ...............................................................................................................278 Предметный указатель ...............................................................................280