Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Raspberry Pi Pico в любительских проектах

Покупка
Артикул: 817233.01.99
Эта книга поможет вам начать работу с миниатюрным и быстрым микроконтроллером Pico и использовать его возможности для разработки инновационных продуктов. Вы узнаете о периферийных устройствах микроконтроллера, а также о разновидностях плат Pico, разработанных и изготовленных различными производителями; затем освоите практические навыки на ряде проектов — начиная с мигающего светодиода и заканчивая большим семисегментным дисплеем. Издание предназначено любителям DIY, а также будет полезно программистам, студентам, инженерам, студентам и школьникам, которые хотят разрабатывать встроенные системы для домашней автоматизации, «интернета вещей», робототехники и др.
Сай, Я. Raspberry Pi Pico в любительских проектах : практическое руководство / Я. Сай, Я. Шрихари ; пер. с англ. Ю. В. Ревича. - Москва : ДМК Пресс, 2023. - 282 с. - ISBN 978-5-93700-165-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/2109514 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Сай Яманур
Шрихари Яманур

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