Тесты Adafruit Feather – совместимость и GPIO
Обзор Adafruit Feather RP2040: плата на чипе RP2040 с поддержкой LiPo-батарей, GPIO-пинами и совместимостью с Feather-периферией. Тесты для DIY.
Надежное аппаратное обеспечение, которое предлагает гораздо больше, чем стандартный Pico, в сочетании с отличным программным обеспечением означает, что Feather RP2040 от Adafruit должен стать вашим выбором в качестве «Pi Silicon».
Отличный форм-фактор
STEMMA QT проста в использовании
Дополнения FeatherWing
Подключение и зарядка встроенного аккумулятора
Маркировка с обеих сторон доски
На контактах I2C нет подтягивающих резисторов
Нет контроля заряда батареи
Raspberry Pi Pico стал первым микроконтроллером с однокристальной системой Raspberry Pi RP2040, но ряд производителей выпускают собственные платы с дополнительными функциями. Самой последней и на данный момент лучшей является плата Adafruit Feather RP2040, которая сочетает в себе популярную экосистему Feather и форм-фактор с процессором Raspberry Pi.
Линейка микроконтроллеров Feather от Adafruit, работающая на различных однокристальных системах от таких производителей, как Atmel и Espressif, существует уже много лет. К ней прилагается множество аксессуаров и дополнительных плат под названием FeatherWings, которые можно установить как сверху, так и снизу платы, а если использовать стекируемые разъёмы, то и с обеих сторон одновременно.
Даже если вы не являетесь поклонником экосистемы Feather, вам наверняка понравится микроконтроллер Adafruit, в том числе его мощная поддержка аккумуляторов, совместимость с STEMMA QT, 8 МБ флэш-памяти и четыре порта АЦП. Несмотря на то, что Feather RP2040 стоит в три раза дороже обычного Pico, он по-прежнему предлагает отличное соотношение цены и качества.
Технические характеристики оборудования Adafruit Feather RP2040
| Система на чипе | Микроконтроллер RP2040 разработан компанией Raspberry Pi. Двухъядерный процессор Arm Cortex M0+, гибкая тактовая частота до 133 МГц. 264 КБ оперативной памяти и 8 МБ встроенной флэш-памяти |
| GPIO | 21 многофункциональный контакт GPIO 3,3 В, 2 × SPI, 2 × I2C, 2 × UART, 4 × 12-битный АЦП, 16 × управляемых каналов ШИМ, 8 × программируемых конечных автоматов ввода-вывода (PIO) для поддержки пользовательских периферийных устройств. Кастеллатный модуль позволяет припаивать его непосредственно к несущим платам. Встроенный разъем WS2812 Neopixel STEMMA QT. Встроенная зарядка аккумулятора и поддержка аккумуляторов LiPo и Lilon с возможностью горячей замены. USB Type C |
Дизайн и использование Adafruit Feather RP2040
Как вы, возможно, уже поняли, Adafruit Feather RP2040 разработан в соответствии с принципами проектирования Feather и поэтому совместим с линейкой дополнений Feather, известных как FeatherWings. Размер Feather RP2040 составляет 2 x 0,9 дюйма (50,8 x 22,8 мм), что немного больше, чем у Raspberry Pi Pico, размер которого составляет 2 x 0,8 дюйма (51 x 21 мм).
Несмотря на больший размер, Feather RP2040 имеет немного меньшее количество контактов GPIO — 21 против 40 у Pico — и их расположение соответствует расположению контактов Feather. Приятно видеть, что контакты GPIO обозначены с обеих сторон платы, в то время как у Pico они обозначены только на нижней стороне. .
Из 21 контакта четыре являются 12-битными АЦП, что на один больше, чем у Pico. Дополнительный АЦП позволяет не отслеживать уровень заряда батареи. Есть два набора контактов I2C, два SPI и два UART. Из 21 контакта 16 можно использовать для ШИМ (широтно-импульсной модуляции), например для управления сервоприводами, светодиодами и базовым аудиовыходом.
На плате Feather RP2040 установлен простой красный светодиод, а также один RGB-светодиод Neopixel, которым можно управлять с помощью CircuitPython. Объём встроенной флэш-памяти в четыре раза больше, чем у Raspberry Pi Pico: 8 МБ против 2 МБ. При обычной установке CircuitPython у нас остаётся около 7 МБ для нашего кода и вспомогательных библиотек.
Платы Feather имеют дополнительные функции, и Feather RP2040 не является исключением. В левом верхнем углу платы мы видим разъем JST для совместимых литий-ионных и литий-полимерных аккумуляторов. При подключении к USB аккумулятор заряжается током 200 мА, что удобно для встраиваемых проектов и даже для косплея.
Аккумуляторы можно заменять без отключения питания и использовать в качестве источника бесперебойного питания для критически важных проектов. Мы подключили запасной литий-полимерный аккумулятор и написали тестовый проект для прошивки встроенного Neopixel. После отключения питания через USB плата продолжила выполнение кода. Из-за наличия разъема JST мы теряем несколько контактов GPIO, но мы с радостью пожертвуем ими ради возможности питания от аккумулятора.
Ещё одна особенность плат Feather — разъём STEMMA QT, разъём с ключом, который позволяет быстро подключать совместимые компоненты. Разъём STEMMA QT на самом деле является ответвлением для одного из двух каналов I2C, а совместимые компоненты — это, по сути, платы I2C.
И последнее, но не менее важное: мы видим две кнопки: BOOTSEL, которая используется для настройки платы для прошивки новой версии, и кнопку RESET, которая сбрасывает настройки Feather RP2040, экономя ресурс порта USB C.
Программирование на Adafruit Feather RP2040
Поскольку Feather RP2040 — это плата от Adafruit, очевидно, что компания Adafruit будет продвигать CircuitPython, свою версию MicroPython, в качестве предпочтительного языка программирования. Загрузка и перепрошивка CircuitPython — простой процесс, который становится ещё проще благодаря кнопке сброса.
CircuitPython немного удобнее в использовании, чем MicroPython, хотя MicroPython тоже не так уж сложен в работе и включает в себя некоторые дополнительные функции, такие как поддержка USB HID. . Наш Feather RP2040 выглядит как USB-накопитель, и мы можем редактировать файл code.py, чтобы писать свой код. Лучше всего использовать хороший редактор, например Visual Studio Code, Thonny или, для начинающих разработчиков, Mu. Библиотеки с готовым кодом Python для дополнений и аксессуаров можно скачать на сайте Adafruit. Они значительно упрощают работу над проектами, особенно при использовании компонентов STEMMA QT.
Мы решили использовать Visual Studio Code и вскоре написали скрипт, который мигал встроенным светодиодом, чтобы убедиться, что наш код работает на плате. После этого мы перешли к более сложным тестам. Установив библиотеку Neopixel, мы написали тестовый скрипт для изменения цвета светодиода Neopixel. После сохранения кода плата Adafruit Feather RP2040 перезагрузилась и запустила его, заставив радугу огней заиграть в темноте зимних ночей.
Соединения STEMMA QT и I2C на Adafruit Feather RP2040
Встроенный разъем STEMMA QT нас заинтриговал, поэтому мы подключили емкостную сенсорную плату MPR121 к Feather RP2040, установили библиотеку CircuitPython и написали несколько строк кода для определения касания pin-кода. Код сработал идеально, и это укрепило нашу уверенность.
Затем мы попробовали подключить ЖК-экран I2C HD44780 с разрешением дисплея 16 x 2 символа. Мы подключили экран к Feather RP2040, нашли совместимую библиотеку, а затем написали короткий тест для отображения текста. Вот тут-то наша уверенность и пошатнулась: мы увидели ошибки в оболочке Python, которые указывали на необходимость подтягивающих резисторов на обоих выводах I2C. В Feather RP2040 нет подтягивающих резисторов для выводов I2C, если только вы не используете плату STEMMA QT, в которую встроены резисторы.
После поиска двух резисторов по 4,7 Ком (для идентификации см. Цветовые коды резисторов) мы попробовали еще раз, на этот раз ошибка была связана с “растягиванием часов”, после небольшого поиска в Интернете и перепробования нескольких предложений ошибка осталась. В итоге оказалось, что два резистора по 4,7 Ком соприкасались и вызывали ошибку.
Использование Adafruit Feather RP2040 с CircuitPython казалось естественным. Проекты работали, и после нескольких сбоев мы нашли рабочий процесс, который подходил нам лучше всего. На момент написания статьи Feather RP2040 нельзя использовать с MicroPython или К. Скотт Шоукрофт, руководитель проекта CircuitPython, поднял вопрос на Github для решения этой проблемы. Но, по нашему опыту, CircuitPython и Feather RP2040 — идеальное сочетание.
Нам не удалось протестировать Feather RP2040 с какой-либо из дополнительных плат FeatherWing от Adafruit, но их уже более десятка. Среди них OLED-экран, сопроцессор Wi-Fi, светодиодная матрица RGB, джойстик и QWERTY-клавиатура с ЖК-дисплеем. Поскольку линейка Feather существует уже много лет, вариантов множество.
Варианты использования Adafruit Feather RP2040
Благодаря встроенной системе питания от аккумулятора Feather RP2040 отлично подходит как для встраиваемых, наружных и портативных проектов, так и для питания последних творений косплееров. Форм-фактор, дополнительные платы STEMMA QT, дополнительные платы FeatherWing и простота использования благодаря CircuitPython делают эту плату идеальной для тех, кто хочет использовать аксессуары из обширной коллекции Adafruit.
Raspberry Pi Pico — отличная плата для разработки, но Feather RP2040 является усовершенствованием этой оригинальной платы.
Итог

Если вы сможете найти его в продаже — на момент публикации все были распроданы, — обратите внимание на Feather RP2040 от Adafruit вместо официального Pico . У него есть питание от аккумулятора, надстройки STEMMA QT, FeatherWing, встроенный Neopixel и гораздо больше места для хранения данных.
Конечно, в некоторых случаях совместимость с Feather может быть недостатком, поскольку он явно не будет работать с дополнениями и аксессуарами, специально разработанными для Pico. Вы не сможете подключить его, например, к Pico Explorer Base от Pimoroni, у которого 40-контактный разъем. А если вам нужен форм-фактор меньшего размера, то Pimoroni Tiny RP2040 — это то, что вам нужно.
Однако, если вы ищете самую универсальную плату RP2040 на рынке, вам сюда. Конечно, она дороже Raspberry Pi Pico, но Adafruit Feather RP2040 — это усовершенствованный продукт, который можно использовать в вашем следующем проекте.
Ознакомьтесь с нашим обзором Raspberry Pi Pico W









