Последние комментарии
- 09.03.2023 10:51
-
25.01.2023 16:05
Спасибо. Хорошая статья. Хотелось бы увидеть как ...
-
21.01.2023 22:58
Доброго дня! Як можна замовити? І чи є схема або ...
-
05.05.2022 19:14
Спасибо автору, понял почему блинк не работал
-
21.04.2022 13:18
В моём случае он используется совместно с AGP ...
Самое читаемое
- Многофункциональный программатор на CH341A
- Переходник USB to TTL (RS232) YP-01 на чипе PL2303HX
- Знакомство с Arduino Pro mini на примере китайского аналога
- Подключаем мощную нагрузку к Arduino, через реле модуль
- Твердотельное реле из симистора для коммутации мощной нагрузки через Ардуино
- Знакомство с Arduino Micro (ATmega32U4) на примере китайского аналога Pro Micro
- Знакомство с Arduino Nano на примере китайского аналога
- Знакомство с Arduino UNO на примере китайского аналога
- Обход блокировки Одноклассников, Вконтакте, Яндекс и Маил.ру с помощью OpenVPN
- Управляем Arduino через Bluetooth HC-06, с компьютера или смартфона
Raspberry Pi Pico – обзор платы и программирование в Arduino IDE
В начале 2021 года, Интернет IT-сегмента был наполнен новостью о том, что Raspberry Pi Foundation выпустит свою альтернативу Arduino за $4. Продажи начались, но ни о каких $4 или около того и речи не было. В заграничных интернет-магазинах плату можно было купить по заявленной цене, но её цена доставки в Украину сводила всё на нет. И вот, в конце октября я держу в руках Raspberry Pi Pico – самую доступную плату из ассортимента Raspberry Pi. В данной статье попробуем разобраться, что она собой представляет, а поскольку плату позиционировали как альтернативу Arduino, разберёмся, как её запрограммировать в Arduino IDE.
Плата на OLX обошлась за 146.40 грн. (140грн. сама плата и 6,40грн. комиссия за перевод денег). До конца 2021 года, OLX доставка через Укрпочту бесплатно. По нынешнему курсу, Raspberry Pi Pico обошлась мне за $5,58.
Поставляется в индивидуальной ячейке с ленты. В комплекте только сама плата, поэтому две 20-контактные вилки с шагом 2,54 мм придётся покупать и припаивать отдельно.
Кроме отверстий для штыревых контактов, имеются зубчатые контакты, с помощью которых плату удобно монтировать на другую плату поверхностным монтажом.
Основу составляет микроконтроллер RP2040, который является собственной разработкой Raspberry Pi Foundation. Это 2-х ядерный ARM Cortex-M0+, на 40-нм техпроцессе, с частотой до 133МГц.
Чип содержит 264 КБ встроенной SRAM-памяти, а так же через QSPI-шину имеется поддержка внешней флэш-памяти до 16 МБ.
На чипе имеется 30 контактов GPIO, но на плате доступны 26 из них. 4 контакта могут использоваться как 12-битные аналоговые входы (ADC), но доступны только 3.
Среди периферийных устройств: 2хUART, 2хSPI, 2хI2C, 16 ШИМ-каналов, контроллер USB 1.1, PHY (поддержка хоста и устройства), DMA контроллер и датчик температуры.
Уникальная особенность микроконтроллера RP2040 – наличие интерфейса PIO (Programmed input/output). Благодаря ему, можно расширить периферийную поддержку, создав свои интерфейсы, которых нет на плате Pico, например VGA, SDIO, DPI и пр.
Помимо микроконтроллера, размером 7х7мм, на плате расположены:
- QSPI Flash-память 2Mб.
- Стабилизатор напряжения.
- Кнопка «BOOTSEL», применяется при подключении платы к ПК, для загрузки в неё программ, а так же может использоваться для реализации пользовательских функций.
- Зеленый светодиод на 25 выводе МК, можно запрограммировать под различные задачи. Зажигается при высоком уровне.
Так же на плате присутствует 3-х контактный SWD-разъем, с помощью которого можно производить отладку. Для отладки можно использовать вторую плату Pico.
С нижней стороны платы, USB-разъём выведен в виде контактов TP1, TP2 и TP3. Обозначение контактов на плате промаркировано с нижней стороны, что не совсем удобно.
Распиновка Raspberry Pi Pico
Сама плата имеет размеры 51х21 мм. Это немного больше, чем размеры оригинальной Arduino Nano (45 х 18 мм).
Для сравнения Raspberry Pi Pico и моя Arduino-совместимая плата Zirka PB Nano.
Про питание Raspberry Pi Pico
Поскольку RP2040 питается от 3,3В, напряжение логических уровней так же 3,3 В.
Питать плату можно через разъём MicroUSB (5 В), либо через контакт «VSYS». С этого контакта напряжение поступает на стабилизатор напряжения Richtek RT6150B, на котором реализована buck-boost топология (понижающе-повышающий стабилизатор). Благодаря этому, при напряжении питания ниже 3,3 В стабилизатор его подымит, а при повышенном напряжении – понизит до 3,3 В. Таким образом, плату можно питать напряжением в диапазоне от 1.8 до 5.5 В.
Ток потребление до 140 мА.
Программирование
Программировать Raspberry Pi Pico можно на С++ и на MicroPython (минимизированный Python для микроконтроллеров). Вместо MicroPython так же можно использовать его форк CircuitPython.
Для программирования на С++ разработчик предлагает Pico C/C++ SDK, с библиотеками и инструментами разработки.
Первое подключение к ПК
С завода, Pi Pico уже имеет встроенный загрузчик UF2, который позволяет программировать плату методом прямого копирования прошивки в микроконтроллер, подобно копированию файлов на USB-флешку. Pico эмулирует флешку с файловой системой FAT, на которой по-умолчанию находится два файла: «INDEX.HTM» и «INFO_UF2.TXT».
В «Моём компьютере», среди устройств со сменным носителем, будет отображаться эмулируемая USB-флешка на 128 МБ. На самом деле там 2 МБ.
Согласно официальной документами «Начало работы с Raspberry Pi Pico» (Getting started with Raspberry Pi Pico), использование Raspberry Pi Pico с Windows 7 или 8 официально не поддерживается, но работает.
Практически все обзоры платы в Интернете, сводятся к настройке среды программирования на MicroPython, в качестве которой выбирают Thonny. Но поскольку Pi Pico позиционировали как альтернативу Arduino, было бы неплохо запрограммировать её с помощью Arduino IDE.
На данный момент у Arduino уже имеется своя плата на RP2040, поэтому для Raspberry Pi Pico выпущено официальное ядро от Arduino - Arduino Core mbed 2.0.
Для его установки в меню «Инструменты» - «Плата:» выбираем «Менеджер плат…».
В строку поиска вводим «Pico» и с предоставленных пакетов выбираем «Arduino Mbed OS RP2040 Boards by Arduino». Нажимаем «Установка» и ждём, пока установится пакет.
В процессе нам предложат установить драйвер «Arduino Universal Serial Bus devices»
Затем ещё один.
А так же «Arduino SA Порты (COM и LPT)». Везде соглашаемся с установкой.
В меню «Инструменты» - «Плата:» среди установленных плат выбираем «Raspberry Pi Pico».
Если подключить плату через USB к ПК, то в «Диспетчере устройств» появится несколько новых устройств: «Nano RP2040 Connect Picoboot IF», «Запоминающее устройство для USB», «Составное USB устройство» и «RPI-RP2».
Запрограммируем скетч для мигания светодиода, для этого воспользуемся стандартным примеров «Blink». На плате Pico, светодиод подключен к 25 контакту, не забываем это указать в скетче, в строке «pinMode(25, OUTPUT);».
Для первого раза загрузки скетча, достаточно подключить Pico к ПК и нажать кнопку «Загрузка» в Arduino IDE.
Для последующих загрузок скетчей, на отключенной от ПК плате, зажимаем кнопку «BOOTSEL», затем подключаем плату к ПК и отпускаем кнопку. Эти действия переведут Pico в режим загрузки скетча.
Нажимаем в программе кнопку «Загрузка» и ждём, пока скетч скомпилируется и загрузится в плату.
Обратите внимание, что мы не выбирали, на каком COM-порту у нас подключена плата. Если драйвер установлен правильно, Arduino IDE автоматически выберет нужный порт. В моём примере это «COM13».
При самой первой загрузки скетча в плату, кнопку «BOOTSEL» не нужно нажимать, но при последующих загрузках, если этого не сделать, то вы получите сообщение об ошибке.
Программирование Raspberry Pi Pico в Arduino IDE даёт низкий порог вхождения для новичков, но действительно ли нужна такая альтернатива Arduino в 2021 году?
Подробнее...