Pull to refresh
Selectel
IT-инфраструктура для бизнеса

Raspberry Pi Pico vs Arduino: какая плата лучше?

Reading time 5 min
Views 34K
Original author: Les Pounder


До того, как Raspberry Foundation представила Pi Pico, сравнивать «малинку» и Arduino было некорректно. Raspberry Pi — полноценный компьютер, хотя и специфический. А вот Arduino — микроконтроллер. Но с появлением Raspberry Pi Pico все изменилось, поскольку новая плата — это тоже микроконтроллер, разница с Arduino уже не такая большая.

У Arduino и Raspberry Pi Pico есть одна общая черта — это отличные платы для разного рода проектов, включая управление освещением, приводами или сенсорами. Использовать полноценную ОС при этом не нужно. Сейчас уже можно сравнить возможности обеих плат, чем в этой статье и займемся.

Функциональность и GPIO




У Raspberry Pi Pico отличный от других представителей линейки форм-фактор. В частности, у платы 40 пинов DIP. Плюс по периметру есть зубцы, которые можно использовать для коннекта Pico к несущей плате.

В DIP нет ничего нового — аналогичный форм-фактор в других микроконтроллерах используется много лет. Такую плату можно распаять на несущей плате, поместить на макетную схему или присоединить поверх других модулей. Т.е. подобную плату можно очень легко интегрировать в любую систему.

У GPIO платы Pico много цифровых каналов, плюс три аналоговых входа и несколько I2C, SPI и UART интерфейсов. Но у Pico есть и ряд программируемых PIO, которые можно настроить для эмуляции других интерфейсов и протоколов, включая WS2812 «NeoPixels». В целом, плата — недорогой и универсальный инструмент с GPIO.

Победитель: Raspberry Pi Pico

SoC Raspberry Pi Pico vs Arduino




Предыдущие поколения популярных Arduino плат были оснащены чипами Atmel вроде ATMega328P. Сейчас многие платы оснащаются ARM. Например, у Arduino’s Portenta H7 — двухъядерный Arm Cortex M7+M4.

Такие платы, как Adafruit, Seeed и SparkFun также оснащены ARM-чипами. Микроконтроллерам обычно не нужны несколько ядер и высокая производительность, поскольку они используются, в основном, для какого-то одного процесса.

А вот RP2040 — это уже следующее поколение чипов. Во-первых, это Arm Cortex M0+, работающий с частотой 133 МГц. Это гораздо быстрее UNO’s 16 MHz 328P. SRAM у процессора «малинки» — 264KB, что больше, чем у Uno — здесь всего 2 КБ. Ну и у Pico 2 МБ внутренней памяти, а у Uno — всего 32 КБ. Негусто.

Ну а что Pico может противопоставить Portenta H7? Окей, у этой платы Arm Cortex M7 + M4, который может работать с частотой вплоть до 480 МГц, плюс 2 МБ внутренней памяти и 1 МБ ОЗУ. У платы есть WiFi, Buetooth, интерфейс для подключения камеры и GPU. В целом Potenta выигрывает по всем фронтам, очень мощная плата для своего класса. Но если вспомнить, что стоит она около $109 (с налогами), и сравнить эту цену с $4 для Pico, выбор становится очевидным.

Победитель: Raspberry Pi Pico

Программирование Raspberry Pi Pico vs Arduino




Arduino IDE — интегрированная среда разработки для Windows, MacOS и Linux, разработанная на Си и C ++, предназначенная для создания и загрузки программ на Arduino-совместимые платы. Есть альтернативы — PlatformIO и Arduino Create, облачная среда от Arduino. Но, в целом, это все та же IDE.

С течением времени она эволюционировала, улучшалась, так что теперь есть встроенные функции вроде управления несколькими платами, плюс средства для поиска и установки библиотек пакетов для надстроек и аксессуаров. Arduino Create — удобная облачная среда, которую можно использовать как для решения простейших задач, так и для более сложных проектов. PlatformIO поставляется в трех версиях — инструмент командной строки, выделенная IDE или же средство интеграции с существующей IDE, например Microsoft Visual Studio Code.

Что касается новой платформы, Raspberry Pi Pico, то кодить в этом случае можно в среде C и MicroPython. Причем сами разработчики платформы рекомендуют последний вариант. В случае с MicroPython и Pico все просто отлично. Работать с языком можно при помощи Python Shell, известном как REPL (Read, Eval, Print, Loop), или же IDE вроде Thonny. Все это дает возможность быстро писать и деплоить код.

Если все же нужно работать с С, то есть два варианта — пишем код в редакторе (Vi / Vim. Nano), а потом используем консольные инструменты. Либо же используем разные расширения для сборки и переноса кода на Pico. Оба подхода нормально работают, но это не очень удобно. Правда, вскоре появится третий вариант — обновленный IDE Arduino с поддержкой чипа RP2040.

Победитель: Raspberry Pi Pico

Простота и удобство работы с платами




Как уже говорилось выше, другие модели Raspberry Pi — это полноценные ПК. Они работают под управлением полноценной ОС. Pico — микроконтроллер без ОС.

Соответственно, вне зависимости от выбранного языка, нужно прошивать Pico образом этого языка. Это дает возможность потом работать с платой, загружая код прямо в нее. Формат образов — UF2 от Microsoft. Для того, чтобы прошить образ, нужно нажать на BOOTSEL после подключения micro USB кабеля, затем загрузить UF2 файл на диск RPI-R2 и через несколько секунд можно работать. Т.е. можно открывать тот же Thonny и начинать писать код.

С языком C/C++ все несколько сложнее. Здесь нужно использовать уже консоль, текстовый редактор, загружать дополнительные приложения и следить за зависимостями. Если все хорошо, то получается проект, который загружается вручную в виде UF2 файла в Pico.

Немного автоматизировать эту задачу можно при помощи Microsoft’s Visual Studio Code, который дает возможность написать код проекта и создать нужный файл в несколько кликов. Это не самый удобный процесс для новичков, но все решаемо. Кстати, команда Arduino недавно заявила о том, что вскоре можно будет работать с RP2040 посредством Arduino IDE.

Что касается непосредственной работы с платами, то нужно упомянуть, что Raspberry Pi Pico поступает нераспаянной, т.е. без пинов. Их можно припаять самостоятельно, для чего, конечно, нужен паяльник. Arduino продаются уже с пинами, за исключением таких плат, как Arduino Nano Every и Nano 33 IoT. А значит, можно сразу приступать к работе.

Но это мелочи, в итоге проще работать все же с Pico, так что плата побеждает и здесь.

Энергопотребление


Raspberry Pi Pico — эффективная плата для встраиваемых проектов. По сравнению с типичным Raspberry Pi, Pico потребляет гораздо меньше. Просто потому, что это микроконтроллер.

В нашем обзорном тесте мы запитали Raspberry Pi Pico с 12 светодиодами Neopixel на полной яркости от источника питания 5 В. Потребляемый ток — 140 мА, 0,7 Вт! Это отлично, поскольку Raspberry Pi 4, работающий в режиме ожидания показывает результат в 4-5 Вт. Итак, по сравнению с Raspberry Pi, Pico потребляет энергию, но как он сравнивается с Arduino Uno, выполняющим тот же тест?

При 5 В — 90 мА, 0,45 Вт! Таким образом, Arduino Uno потребляет меньше, но этого и следовало ожидать, учитывая конфигурацию микроконтроллера. Если повторить тест с другой платой, скажем, Portenta H7, то мы увидим гораздо более высокое энергопотребление, поскольку процессор Arm, используемый на Portenta, более мощный. Он даже мощнее, чем RP2040.

Победитель: Arduino

В сухом остатке



В целом, обзор достаточно субъективный. В итоге получается, что победитель — Pico, с его ценой в $4, широким спектром возможностей, документацией и простотой в работе. Это лучшая плата для проектов с микроконтроллерами, поскольку за минимум денег мы получаем максимум возможностей. При этом все работает так, как заявлено, в отличие от многих других плат.

С некоторыми из них приходится изрядно повозиться, чтобы заставить работать. Плюс ко всему, MicroPython — лучший вариант для работы, с его помощью плату можно запустить очень быстро. После того, как разработчики Arduino IDE добавят поддержку Pico, без проблем можно будет работать и с С/С++. И тогда поклонники Arduino, которые привыкли к своему микроконтроллеру и принципам работы с ним, смогут опробовать и Pico.

Round Raspberry Pi Pico Arduino
Функциональность и GPIO  
SoC  
Программирование  
Простота работы с платами  
Энергопотребление  
В сухом остатке 4 1


Tags:
Hubs:
+3
Comments 51
Comments Comments 51

Articles

Information

Website
selectel.ru
Registered
Founded
Employees
501–1,000 employees
Location
Россия
Representative
Влад Ефименко