
Raspberry Pi Pico на RP2040
Raspberry Pi · Raspberry Pi Pico, RP2040, без Wi-Fi и без предустановленных штырьковых разъёмов
Оригинальная Pico без беспроводной связи: 26 GPIO, три внешних входа ADC, USB и PIO. Подключение, MicroPython и стороннее ядро Arduino-Pico.
О МОДУЛЕ
Что делает Raspberry Pi Pico, RP2040, без Wi-Fi и без предустановленных штырьковых разъёмов
Raspberry Pi Pico — небольшая плата микроконтроллера для устройств, которые читают входы, управляют выходами и выполняют одну прошивку. Она не запускает Raspberry Pi OS или обычный Linux и не является заменой одноплатному компьютеру Raspberry Pi с HDMI. После загрузки программа хранится во Flash и выполняется при подаче питания.
Эта карточка относится к первой Raspberry Pi Pico на RP2040 без буквы W. У неё нет Wi-Fi или Bluetooth. Pico H имеет уже припаянные гребёнки и другое исполнение разъёма отладки; Pico W добавляет беспроводной модуль; Pico 2 использует другой микроконтроллер. Их возможности и отдельные детали подключения нельзя смешивать. Обычная Pico поставляется без штырьковых разъёмов: для макетной платы их нужно припаять либо использовать надёжный адаптер.
Сильная сторона RP2040 — программируемые блоки PIO, которые помогают реализовать нестандартный обмен и точные последовательности сигналов. Для первого проекта достаточно MicroPython; для более низкоуровневой работы производитель предлагает C/C++ SDK. Arduino IDE можно использовать через отдельное стороннее ядро Arduino-Pico от Earle Philhower. Выбор среды определяет API, загрузку и имена объектов, хотя физические контакты платы остаются теми же.
Фото: Phiarc / Wikimedia Commons, CC BY-SA 4.0. Использовано без изменений.
Характеристики
- Микроконтроллер
- RP2040, два 32-битных ядра Arm Cortex-M0+
- Максимальная штатная частота CPU
- 133 МГц
- SRAM микроконтроллера
- 264 КБ
- Внешняя QSPI Flash на плате
- 2 МБ
- Логика GPIO
- 3.3 В
- Питание через VSYS
- 1.8–5.5 В
- GPIO на краевых контактах
- 26: GP0–GP22 и GP26–GP28
- Внешние аналоговые входы платы
- 3
- Выводы внешнего ADC
- GP26/ADC0, GP27/ADC1, GP28/ADC2; GP29 внутри платы измеряет VSYS через делитель
- Аппаратная разрядность ADC
- 12 бит
- Аппаратные интерфейсы RP2040
- 2 × UART, 2 × I²C, 2 × SPI; альтернативные функции разделяют GPIO
- PWM
- 8 блоков по 2 канала, всего 16 каналов; каналы одного блока разделяют частоту
- Программируемый ввод-вывод
- 2 блока PIO, всего 8 конечных автоматов
- USB
- Micro-USB, нативный USB 1.1 с режимами device/host; отдельного USB–UART-моста нет
- Встроенные Wi-Fi и Bluetooth
- Нет
- Встроенный LED
- GP25, включается высоким уровнем; не выведен как обычный контакт гребёнки
- Габариты платы
- 51 × 21 мм
- Интерфейс
- I²C, SPI, UART, Аналоговый
- Питание модуля
- Для примеров используйте питание 5 В через Micro-USB. Альтернативный вход платы VSYS допускает 1,8–5,5 В постоянного напряжения; соблюдайте полярность. VBUS связан с USB-питанием, VSYS питает преобразователь платы, а 3V3(OUT) является его выходом. Эти контакты не взаимозаменяемы. Не подавайте 5 В на 3V3(OUT), GPIO, ADC_VREF или RUN. Логика Pico фиксирована на 3,3 В. GPIO и аналоговые входы не являются 5-вольтовыми: держите сигнал между GND и 3V3. Для 5-вольтовой периферии нужны проверка уровней и, при необходимости, преобразователь. Подтяжки I²C должны идти к 3,3 В. Обычный измерительный диапазон ADC — от 0 до примерно 3,3 В; точность зависит от опоры, шумов и источника сигнала. Документация рекомендует нагрузку внешних цепей на 3V3(OUT) менее 300 мА; фактический допустимый ток зависит от VSYS и нагрузки самого RP2040. Это не допустимый ток GPIO. Моторы, реле и мощные LED подключайте через драйвер и рассчитанный источник питания. При совместном питании от USB и внешнего источника нужна схема развязки из datasheet, а не прямое объединение источников. В учебных примерах используйте только USB. Собирайте схему обесточенной и объединяйте земли неизолированных устройств.
ПРАКТИКА
Подключение
| Контакт модуля | Контакт платы | Назначение |
|---|---|---|
| Питание и связь с компьютером | Micro-USB | Используется в обоих примерах. Это прямой USB RP2040; для прошивки и REPL нужен кабель с передачей данных. |
| VCC устройства на 3,3 В / крайний вывод потенциометра | 3V3(OUT), физический контакт 36 | Выход стабилизатора. Для ADC-примера подключите сюда один край потенциометра 10 кОм; не путайте с VBUS или VSYS. |
| GND устройства / другой край потенциометра | GND, например контакт 38 | Общая земля. Для аналоговой схемы также доступен AGND, контакт 33. |
| Ползунок потенциометра / аналоговый сигнал | GP26 / ADC0, контакт 31 | В Arduino-Pico используется analogRead(26). Диапазон входа в этой схеме 0–3,3 В. Число 26 — номер GPIO, не номер физического контакта. |
| Дополнительные аналоговые входы | GP27 / ADC1, контакт 32; GP28 / ADC2, контакт 34 | Другие внешние входы ADC. GPIO29 не является четвёртым свободным аналоговым входом этой платы. |
| SDA устройства I²C | GP4, контакт 6 | I²C0: стандартный SDA объекта Wire в Arduino-Pico 4.5.4. В MicroPython задавайте вывод явно через Pin(4). Подтяжка к 3,3 В, обычно 4,7 кОм для короткой макетной шины при отсутствии её на модуле. |
| SCL устройства I²C | GP5, контакт 7 | I²C0: стандартный SCL объекта Wire. В MicroPython: I2C(0, sda=Pin(4), scl=Pin(5), freq=100000); его значения по умолчанию могут отличаться от Arduino. |
| CIPO / MISO SPI-устройства | GP16, контакт 21 | Вход SPI0; стандартный MISO объекта SPI в Arduino-Pico 4.5.4. |
| CS SPI-устройства | GP17, контакт 22 | Пример выбора CS. Программа обычно управляет им отдельно; неактивный уровень задаётся документацией устройства. |
| SCK SPI-устройства | GP18, контакт 24 | Тактовый выход SPI0; стандартный SCK объекта SPI в указанном ядре Arduino. |
| COPI / MOSI SPI-устройства | GP19, контакт 25 | Выход SPI0 к периферии; стандартный MOSI объекта SPI в указанном ядре. Все сигналы 3,3 В. |
| RX внешнего UART-устройства | GP0 / UART0 TX, контакт 1 | В Arduino-Pico объект Serial1. Соединяйте TX с RX, RX с TX и GND с GND. Нужен UART TTL 3,3 В, а не электрический интерфейс RS-232. |
| TX внешнего UART-устройства | GP1 / UART0 RX, контакт 2 | Вход Serial1. Объект Serial в Arduino-Pico относится к USB CDC и не занимает GP0/GP1. |
| Встроенный LED | GP25 / LED_BUILTIN | Ничего подключать не нужно. Пример MicroPython использует Pin(25); это верно для обычной Pico, но не для LED платы Pico W. |
| Внешняя кнопка сброса | RUN, контакт 30, через кнопку к GND | Краткое замыкание на GND сбрасывает RP2040. BOOTSEL — отдельная кнопка выбора загрузки, не обычная кнопка RESET. |
| Внешний источник, вне учебных примеров | VSYS, контакт 39; GND | Допустимо 1,8–5,5 В с правильной полярностью. Одновременное использование с USB требует рассчитанной развязки по datasheet. VBUS — контакт 40; не подключайте туда другой источник при подключённом USB. |
| Служебные контакты | 3V3_EN, контакт 37; ADC_VREF, контакт 35 | В примерах оставить свободными. 3V3_EN управляет преобразователем; ADC_VREF связан с аналоговой опорой. Не используйте их как обычные GPIO или выходы питания нагрузки. |
| Отладчик SWD | Отдельные площадки SWCLK / GND / SWDIO у торца платы | Не входят в 40 краевых контактов. Для обычной загрузки UF2 внешний отладчик не требуется. |
Подходит для Raspberry Pi, Arduino. Выберите контакты по документации своей платы.
Проекты с этим компонентом
Все проектыСвязанные проекты пока не опубликованы.