Разновидности плат Arduino: полный обзор
Будь вы начинающий радиолюбитель или профессионал в тематике встраиваемой электроники, платформа Arduino способна предложить вам полный спектр плат разработки (Development board) для решения ваших задач. Платформа Arduino позволяет исключительно быстро и с минимальными усилиями произвести прототипирование электронных проектов. Но, к сожалению, большинство разработчиков ограничивается рассмотрением возможностей только основных плат Arduino (Uno, Nano? Mega и т.д.), совершенно забывая о том, что платформа Arduino предлагает множество других более узкоспециализированных плат, нацеленных на решение конкретных задач. Поэтому в данной статье мы постараемся устранить данный недостаток и рассмотреть различные типы плат Arduino и произвести их подробное сравнение.
Для удобства все рассматриваемые в данной статье платы Arduino мы разделили на три категории: платы для начинающих (Entry Level boards), продвинутые платы (Enhanced boards) и платы для тематики интернета вещей (IoT boards).
Платы Arduino для начинающих
Эти типы плат Arduino особенно удобны для начинающих радиолюбителей. Большинство плат в этой категории имеют либо низкое число контактов ввода/вывода (I/O), либо работают на низкой тактовой частоте. Основным компонентом данных плат является 8-битный микроконтроллер. Большинство из них очень легки для освоения и для них доступно значительное число дополнительных модулей и плат расширения (шилдов), существенно расширяющих их функционал. Сводная таблица с возможностями данных плат показана на следующем рисунке.
Сводная таблица с возможностями плат Arduino для начинающих
Arduino UNO R3
Плата Arduino UNO R3
Arduino Uno, несомненно, самая популярная плата разработки в семействе плат Arduino. Она построена на основе микроконтроллера ATMega328P. Ее исключительная популярность объясняется ее невысокой ценой, простотой освоения и широким набором различных дополнительных модулей, расширяющих ее функционал. Она содержит 14 цифровых контактов ввода/вывода, на 6 из которых можно производить формирование ШИМ-сигналов, 6 аналоговых контактов (с 10-битными АЦП) и основные коммуникационные интерфейсы, такие как SPI, I2C и UART.
На рынке также доступны различные типы платы Arduino Uno, которые по сути, являются клонами оригинальной платы Arduino Uno, показанной на рисунке выше.
Arduino Nano
Это маленькая «дружественная» версия платы Arduino Uno. Имеет немного меньшую функциональность по сравнению с Arduino Uno, но зато и размер у нее более компактный. Основными отличиями платы Arduino Nano от Arduino Uno являются отсутствие разъема постоянного тока, использование порта Mini USB вместо USB B и использование другого чипа для преобразователя USB-TTL – в Arduino Nano он построен на FT232 вместо ATMega16U2 в Arduino Uno.
Плата Arduino Nano также как и Arduino Uno весьма популярна среди энтузиастов благодаря своему маленькому размеру и относительно дешевой цены.
Arduino PRO Mini
По сути, это урезанная версия платы Arduino Nano. По большому счету она обладает практически тем же самым функционалом что и Arduino Nano, но одним из ее самых существенных недостатков является отсутствие USB порта и собственного преобразователя USB – TTL. Но зато на ее край вынесены контакты последовательного порта (UART) – через них мы можем программировать плату используя внешний модуль USB-UART.
Плата Arduino PRO Mini ориентирована на применение в тех устройствах, где наиболее остро ощущается проблема доступного пространства. Выпускается в двух версиях – на 3.3V и 5V. В версии 3.3V тактовая частота микроконтроллера платы ограничена величиной 8MHz для более стабильной его работы. Более подробно специфику данного вопроса вы можете прочитать в статье про способы питания платы Arduino Uno.
Arduino Leonardo
Основой платы Arduino Leonardo является микроконтроллер ATmega32U4, а не ATMega328P как в предыдущих рассмотренных платах. Он имеет большее число контактов ввода вывода (20), контактов для формирования ШИМ сигналов (7) и аналоговых контактов (12). Также еще одним существенным преимуществом микроконтроллера ATMega32U4 являются встроенные в него возможности взаимодействия по интерфейсу USB, что исключает необходимость использования дополнительного преобразователя USB в UART. Также это позволяет подключать плату к интерфейсу HID (Human Interface Device) или виртуальному последовательному COM порту.
Arduino Micro
Подобно тому как Arduino Nano является аналогом UNO в маленьком форм-факторе, Arduino Micro является аналогом платы Arduino Leonardo в уменьшенных размерах. По функционалу она практически соответствует Arduino Leonardo, различие состоит только в отсутствии у нее разъема постоянного тока. Аналогично Leonardo ее также можно подключать к интерфейсу HID или виртуальному COM порту.
Arduino Nano Every
Arduino Nano Every представляет собой новое поколение плат Arduino в маленьком форм-факторе. Фактически, это улучшенный вариант платы Arduino Nano. Плата Arduino Nano Every оснащена более мощным микроконтроллером ATMega4809. Также по сравнению с Nano у нее на 50% больше памяти программ и на 200% больше объем ОЗУ (RAM), что позволяет исполнять на ней программы большего объема. А шлицованные разъемы позволяют использовать плату Arduino Nano Every на печатной плате без помощи штырьковых контактов.
Arduino Mega2560 Rev3
Arduino Mega 2560 – это самая большая из «обычных» плат Arduino. Она была спроектирована для использования в проектах, требующих большого количества контактов ввода/вывода, и оснащена более мощным микроконтроллером ATMega2560. Всего данная плата содержит 54 контакта ввода/вывода (I/O), 15 из которых могут быть использованы для формирования ШИМ сигналов, 16 аналоговых контактов и 4 последовательных порта (UART). У нее больше флэш и памяти SRAM чем у большинства других плат Arduino. Особенно она популярна в сообществах, занимающихся плоттерами и 3D принтерами.
Платы Arduino с улучшенными возможностями
В данном разделе мы рассмотрим платы Arduino, отличающиеся улучшенным функционалом, а в некоторых случаях и повышенной производительностью, по сравнению с платами, рассмотренными в предыдущем разделе статьи. Сводная характеристика по данным платам представлена в следующем разделе.
Arduino Nano 33 BLE
Плата Arduino Nano 33 BLE выполнена в том же форм-факторе что и плата Arduino Nano, но по сравнению с ней она отличается большим функционалом и вычислительной мощностью. В качестве микроконтроллера на ней используется NRF52480 от компании Nordic Semiconductors, в основе которого лежит 32-битный ARM процессор на ядре Cortex-M4, работающий на частоте 64 МГц. 1 Мбайт флэш-памяти и 256 Кбайт SRAM делают ее отличным выбором для проектов с большим необходимым объемом памяти. Но еще одно существенное ее отличие по сравнению с ранее рассмотренными платами Arduino кроется в ее названии – BLE, Bluetooth Low Energy, то есть технология Bluetooth с низким энергопотреблением. Плата Arduino Nano 33 BLE в технологии BLE может выполнять как роль клиента, так и роль хоста, что делает ее удобной, к примеру, для использования в энергоэффективных носимых устройствах.
Также выпускается разновидность данной платы под именем Arduino Nano 33 BLE Sense с дополнительным функционалом, в состав которого входит 9-осевой инерционный датчик, датчик температуры и влажности, датчик давления, микрофон, датчик приближения и датчик интенсивности света.
Arduino MKR Zero
Плата Arduino MKR Zero спроектирована для использования в проектах, связанных с проектированием музыки. Она содержит разъем для SD карт и специальный интерфейс SPI, который можно использовать для взаимодействия по протоколу I2S. Данный протокол является самым популярным для использования в цифровых аудио-устройствах. В качестве микроконтроллера в ней используется мощный 32-битный микроконтроллер ARM Cortex M0+ SAMD21.
Плата Arduino MKR Zero работает с уровнями напряжения 3.3V и не совместима с напряжением 5V. Очевидным достоинством данного решения является возможность ее работы от литий-полимерных батарей, которые можно подключать к специальному разъему на плате. Также с помощью заложенных в нее решений легко контролировать уровень заряда подключенной к ней батареи.
Arduino UNO WIFI Rev2
Как следует из ее названия, это плата Arduino UNO с рядом дополнительных возможностей. Хотя форм фактор у нее точно такой же как и у платы Arduino UNO, набор ее компонентов все же существенно отличается. В качестве микроконтроллера в ней используется ATMega4809, а для Bluetooth и WiFi связи в ней используется чип u-blox NINA-W102. Система на кристалле (SoC) NINA с интегрированным в нее стеком протоколов TCP/IP упрощает доступ к сети Wi-Fi и позволяет ей выступать в качестве точки доступа в данной технологии. Плата Arduino UNO WIFI Rev2 также содержит ускоритель криптографических вычислений ECC608 для повышения безопасности и IMU для инерционных измерений.
Arduino Due
Arduino Due – фактически, это апгрейженная Arduino Mega в том же самом форм-факторе, содержащая более мощный 32-битный ARM микроконтроллер. Как и Mega, плата Arduino Due содержит 54 цифровых контакта ввода/вывода и 12 аналоговых контактов. Вычислительную мощь данной плате обеспечивает процессор Atmel SAM3x8E Arm Cortex-M3, работающий на частоте 84 МГц. Плата Arduino Due поддерживает ряд дополнительных интерфейсов, которых не было у ранее рассмотренных плат Arduino – это интерфейсы USB OTG, DAC и JTAG. Плата работает только с уровнями напряжений 3.3V, поэтому ее контакты «нетерпимо» относятся к напряжению 5V.
Arduino MKR Vidor 4000
Это очень специализированная плата с очень специфичной функцией, которой нет больше ни у одной платы Arduino – она содержит встроенный FPGA чип. Благодаря встроенному FPGA чипу Intel Cyclone 10CL016 плата Arduino MKR Vidor 4000 отличается повышенной вычислительной мощностью и отличной конфигурируемостью и может использоваться для обработки видео и высокопроизводительной обработки цифрового аудио. С помощью FPGA чипа на ее основе можно реализовать собственный контроллер. Также плата содержит такие «продвинутые» возможности как разъем Micro-HDMI, разъем для подключения MIPI камеры, возможность использования технологий Wi-Fi и BLE, обеспечиваемая модулем NINA W102. Запитывать плату можно от литий-полимерных батарей – для этого в ее составе есть специальный разъем. В качестве микроконтроллера в плате Arduino MKR Vidor 4000 используется SAMD21 Cortex M0+.
Arduino Zero
Arduino Zero это еще одна плата в форм-факторе Arduino UNO, но при этом обладающая значительно более широким функционалом и повышенной производительностью. В качестве микроконтроллера в ней используется Atmel’s SAMD21, построенный на основе 32-битного ARM Cortex M0+. Одним из самых главных достоинств платы Arduino Zero является наличие встроенного отладчика (Embedded Debugger, EDBG), который обеспечивает полный интерфейс отладки без использования внешнего отладчика. EDBG также поддерживает виртуальный COM порт, который можно использовать для программирования платы.
Платы Arduino для интернета вещей (IoT Boards)
В настоящее время все большую популярность приобретает тематика интернета вещей. С каждым годом все большее количество вещей из окружения человека получает возможность самостоятельного подключения к сети интернет. В данном разделе статьи мы рассмотрим платы Arduino, которые хорошо подходят для применения в тематике интернета вещей. В следующей таблице представлены основные характеристики и возможности данных плат.
Arduino Nano 33 IoT
Как следует из ее названия, плата имеет такой же самый форм-фактор как и плата Arduino Nano, но построена она на основе 32-битного ARM микроконтроллера на ядре Cortex M0. Функционал WiFi и Bluetooth обеспечивается в ней с помощью u-blox модуля NINA-W102. Также плата содержит криптографический чип Microchip ECC60r, который обеспечивает безопасность связи и 6-осевой инерционный датчик (IMU), позвоялющий использовать ее в различных проектах измерения ускорения, и местоположения, а также балансировки какого либо объекта. Плата Arduino Nano 33 IoT совместима с большинством облачных сервисов IoT, такими как Arduino IoT cloud, Blynk, IFTTT, AWS IoT Core, Azure, Firebase и другими.
Arduino MKR FOX 1200
Плата Arduino MKR FOX 1200 является относительно дешевым решением для соединения с инфраструктурой Sigfox, находящей широкое применение в Европе. Данная инфраструктура позволяет периодически собирать различные данные и при этом практически не требует никакого обслуживания. Плата построена на основе микроконтроллера SAMD21, за соединение с Sigfox отвечает Microchip Smart RF ATA852o.
Arduino MKR WAN 1300/1310
Платы MKR WAN 1300 и MKR WAN 1310 для беспроводной связи используют энергоэффективную технологию LoRa. Обе платы содержат микроконтроллер SAMD21, LoRa модуль Murata CMWX1ZZABZ и криптографический чип ECC508. Плата MKR WAN 1310 также содержит новую зарядку от батареи, 2MB SPI флэш-памяти и обладает улучшенными характеристиками энергопотребления. Обе платы поддерживают работу в частотных диапазонах 433/868/915 МГц.
Arduino MKR GSM 1400
Плата Arduino MKR GSM 1400 совмещает в себе возможности плат Arduino и сотовых сетей связи. Как и другие платы Arduino серии MKR она также содержит 32 битный микроконтроллер ARM Cortex M0 SAMD21 и встроенный криптографический чип ECC508 для безопасной связи. Модуль SARA-U201 в составе платы используется для работы с технологиями GSM/3G. Плата поддерживает диапазоны работы сотовой связи GSM 850MHz, E-GSM 1900MHz, DSC 1800MHz и PCS 1900MHz. Плата также поддерживает питание от литий-полимерных аккумуляторов, что делает ее удобной для применения в носимых устройствах.
Arduino MKR WIFI 1010
Пожалуй, самый лучший выбор для несложных проектов тематики интернета вещей и приложениях с использованием пико-сетей. Может запитываться от литий-полимерных аккумуляторов. Также как и большинство других плат серии MKR, плата Arduino MKR WIFI 1010 содержит модуль NINA-W102 для беспроводной связи и криптографический чип ECC5087. Также в составе платы есть RGB светодиод.
Arduino MKR NB 1500
Плата Arduino MKR NB 1500 обладает функционалом узкополосной беспроводной связи. Это особенно полезно в «полевых» условиях, где нет возможности установления соединения с сетью интернет, а запитываться приходиться от батареек или солнечных панелей. Встроенный в плату модуль SARA-R410M-02B поддерживает различные узкополосные диапазоны Cat M1/NB1 с шириной полосы 1, 2, 3, 4, 5, 8, 12, 13, 18, 19, 20, 25, 26, 28. Также плата содержит разъем для подключения внешней антенны и разъем для подключения батарейки.
Arduino Nano RP2040 Connect
Одна из самых последних появившихся в семействе Arduino плат. Построена на основе чипа RP2040 от сообщества raspberry Foundation. RP2040 представляет собой систему-на кристалле (SoC) на основе двухъядерного процессора ARM Cortex M0+, работающего на частоте 133 МГц. Плата содержит 264 Кбайт памяти SRAM и 16 Мбайт внешней флэш-памяти.
Также, как и в других аналогичных платах Arduino, для работы с технологиями WiFi и BLE используется чип NINA-W102. Встроенный микрофон платы Arduino Nano RP2040 Connect может использоваться не только для функции активации голосом, но также аудио управления и даже распознавания голоса. Также на плате имеется 6-осевой инерциальный датчик (IMU). Плата совместима с платой Raspberry Pi Pico, разновидности которой мы рассматривали в этой статье.
Portenta H7 – самая быстрая плата Arduino
Плата Portenta H7
Плата Portenta H7 является самой быстрой среди всего семейства плат Arduino. Вычислительные возможности данной платы позволяют ее успешно применять в таких приложениях как компьютерное зрение, лабораторное оборудование, промышленные интерфейсы, контроллеры роботов, высокопроизводительные вычисления и многих других.
Вычислительную мощь платы обеспечивает двухъядерный микроконтроллер STM32XX, который включает ядро Cortex M7, работающее на частоте 480 МГц, и ядро Cortex M4, работающее на частоте 240 МГц. Два этих ядра взаимодействуют между собой с помощью процедуры RPC (Remote Procedure Call, удаленный вызов процедуры), которая используется в большинстве современных архитектур «десктопных» микропроцессоров, таких как x86, x64, Power PC и др. Также микроконтроллер STM32H747 содержит в своем составе графический ускоритель (GPU), ускоритель Chrom-ART и встроенные кодер и декодер JPEG изображений.