цифровая электроника
вычислительная техника
встраиваемые системы

 

Как правильно выбрать плату Arduino для вашего проекта

Автор: Mike(admin) от 16-11-2018, 13:55

Обзор и сравнение плат Arduino


На сегодняшний день насчитывается довольно большое количество различных плат Arduino, отличающихся друг от друга по производительности, функциональности, форм-фактору и стоимости.


Как правильно выбрать плату Arduino для вашего проекта

У новичка непременно встанет вопрос: какую именно плату Arduino взять для своего проекта? Конечно, можно воспользоваться таблицей сравнения параметров Arduino, но для еще непонимающего нюансов электроники и микроконтроллеров это может быть несколько затруднительно. Поэтому в данном материале будет предоставлен некий сравнительный обзор наиболее распространенных плат Arduino.


Что такое Arduino?


Arduino – это аппаратная платформа с «открытым» исходным кодом и схемами. Есть два элемента экосистемы Arduino: платы и программное обеспечение. Только платы от Arduino.cc официально можно назвать «Arduino». (Название является товарным знаком.) С точки зрения «открытого» ПО, по мере роста популярности Arduino, интегрированная среда разработки Arduino IDE была расширена для поддержки многих других плат различных производителей. Эти устройства более правильно называются «Arduino-совместимыми». Это означает, что они без проблем будут работать с кодом Arduino, например, таким:



int digitalRead(uint8_t pin) {
 uint8_t timer = digitalPinToTimer(pin);
 uint8_t bit = digitalPinToBitMask(pin);
 uint8_t port = digitalPinToPort(pin);
if (port == NOT_A_PIN)
      return LOW;
   if (timer != NOT_ON_TIMER) 
      turnOffPWM(timer);
   if (*portInputRegister(port) & bit) 
      return HIGH;
return LOW;
}

На стороне программного обеспечения есть «ядро» и «IDE». Ядром является библиотека C++, именуемая «Arduino core», которая уникальна для каждого типа процессора. Эта обширная библиотека позволяет использовать общие функции, такие как digitalRead() или digitalWrite(), для работы на множестве разных архитектур. Arduino IDE – это кросс-платформенное приложение, которое обеспечивает ясную отправную точку для всех плат Arduino.


На аппаратной стороне трудно суммировать все возможные варианты в сжатом виде. Таким образом, здесь основное внимание уделяется популярным платам (как оригинальных, так и совместимых): Uno, Mega, ESP8266, Zero и MKR.


Война между 8-битными и 32-битными ядрами продолжается


Выбор процессора не так прост, как простой выбор количества бит. В целом, 8-битные процессоры предлагают базовые возможности при потреблении более низкой мощности. Более простые архитектуры означают, что регистры и программирование, как правило, относительно легки в понимании и освоении. 32-разрядные процессоры предлагают более высокие тактовые частоты вместе с большим количеством ОЗУ, ПЗУ и периферии. Их архитектура может усложнить программирование. К счастью, такие структуры, как библиотека Arduino и CircuitPython, скрывают большую часть этой сложности.


Выбор микропроцессора только потому, что он является 8-битным или 32-битным, может быть недальновидным. Поэтому важно подумать о том, как вы планируете использовать его.


8-битные Arduino


Arduino Uno


Arduino Uno

Uno является предпочтительной отправной точкой для проектов Arduino. Он имеет отличительную форму с псевдо-стандартным расположением выводов. Его процессор – ATmega328P от Microchip. Наиболее характерная спецификация этого процессора - 2048 байт ОЗУ. Uno – это плохой выбор, если вы думаете о передаче, получении или обработке строк. Вне работы со строками вы будете удивлены тем, что вы можете сделать с таким маленьким устройством, особенно учитывая количество доступных GPIO.


Arduino Nano


Arduino Nano

Если Uno слишком велик, рассмотрите Nano. Это второй по популярности вариант Arduino. Здесь тот же процессор, что и в Uno, но плата представляет собой уменьшенный форм-фактор. Прямая совместимость ПО означает, что вы можете прототипировать с Uno и установить Nano в свой окончательный проект.


Arduino Mega


Если Uno (или Nano) не предлагают для вас достаточное количество линий ввода/вывода или оперативной памяти, платы на основе ATmega2560 являются хорошим выбором. Платы Arduino Mega исключительно популярны в приложениях управления двигателями, например, шаговыми двигателями 3D-принтеров. ATmega2560 имеет больше таймеров, второй АЦП, дополнительные аппаратные UART и больше линий ввода-вывода. Тем не менее, он по-прежнему поставляется с 8-разрядным процессором, таким как в Uno.


Arduino Leonardo, Arduino Micro


Arduino Leonardo и Teensy

Еще одним вариантом производной Uno является Arduino Leonardo или Arduino Micro Эти платы используют чип ATmega32U4. В отличие от других 8-битных плат, упомянутых здесь, процессор имеет встроенный интерфейс USB. Эта функция упрощает создание USB-клавиатур, мышей и джойстиков. Популярной совместимой доской платой Teensy LC от PRJC. Это тот же 32U4, но в форм-факторе Teensy.


32-битные Arduino


Arduino Zero


Arduino Zero содержит 32-битный микроконтроллер Microchip SAM D21, который основан на ядре Arm Cortex-M0+. Плата имеет тот же форм-фактор, что и Uno, но процессор здесь совершенно другой.


При этом стоит отметить, что 8-битные платы основаны на шине питания напряжением 5 вольт, тогда как 32-разрядные платы основаны на шине с напряжением 3,3 В. Важно знать, что большинство 3.3-вольтовых процессоров не могут работать с сигналами на 5 вольт. Поэтому вам может потребоваться использовать преобразователи уровня напряжения при взаимодействии таких плат.


Arduino Zero

Самая поразительная особенность плат M0+ это невероятно гибкие последовательные интерфейсы. Хотя платы определяют линии I²C и SPI, сам чип перенастраивается в этом плане. Он поддерживает несколько типов последовательных интерфейсов на нескольких линиях ввода/вывода.


Серия Arduino MKR


Серия Arduino MKR включает платы, такие как MKR ZERO, MKR GSM 1400, MKR FOX 1200 и MKR WiFi 1010. Форм-фактор плат серии MKR един. Их линии ввода/вывода расположены по бокам, форм-фактор сведен к минимуму, и все они содержат разъем для батареи LiPo с цепью зарядного устройства.


Arduino MKR

MKR Zero включает в себя тот же процессор, что и Zero. В дополнение к более тонкому форм-фактору и зарядному устройству LiPo, MKR Zero имеет слот для карт MicroSD.


Arduino MKR

Еще одна плата, которую следует упомянуть, это MKR WiFi 1010. Эта плата относительно новая и содержит чип, предназначенный для криптошифрования. Другой интересной особенностью MKR1010 является набор его процессоров. На борту есть тот же SAMD21, что и на Zero. Тем не менее, модуль WiFi от u-blox включает ESP32. Это два процессора в одном.


ESP8266 и ESP32


Сразу стоит сказать, это не платы от Arduino, они просто Arduino-совместимые. Когда ESP8266 вышел на рынок, он изменил понимание того, как проекты должны использовать WiFi. Эта система на кристалле представляет собой 32-разрядный микроконтроллер, работающий на частоте 80 МГц, с ядром, предназначенным для работы WiFi. Это означает, что он запускает полный стек TCP/IP отдельно от микроконтроллера с вашим кодом.


Модули ESP содержат полноценный микроконтроллер в своем корпусе. Основная библиотека Arduino была перенесена на ESP12 и ESP32, что означает, в некоторых случаях, код для Uno подойдет для ESP12 и ESP32 без каких-либо изменений.


ESP8266

На изображении выше показаны 4 разных варианта ESP. Изначальный ESP8266 (ESP01), Huzzah Adafruit ESP8266, Adafruit Feather ESP32 и ESP8266 NodeMCU. Плата ESP01 была популярна из-за стоимости, но для нее нужны дополнительные компоненты. Huzzah ESP8266 имеет некоторые из этих дополнительных компонентов и содержит больше контактов ввода/вывода. Однако для нее по-прежнему требуется адаптер последовательного порта USB.


Форм-фактор Adafruit Feather добавляет последовательный порт USB и зарядное устройство LiPo к ESP8266 или ESP32. Это делает работу с ESP очень простой. Вы можете заметить, что плата выглядит как MKR. К сожалению, хотя они визуально похожи, они разных размеров и не имеют общей распиновки.


Наконец, форм-фактор NodeMCU, который не является форм-фактором! NodeMCU – это прошивка, которая запускает интерпретатор сценариев Lua на ESP8266. Его можно заменить загрузчиком Arduino. После замены вы можете запрограммировать плату с помощью Arduino IDE.


Когда вам нужно добавить возможности Wi-Fi в проект, платы на основе ESP являются отличной отправной точкой.


Какая плата Arduino является лучшей?


Вы все еще можете задаться вопросом: какая из этих плат является лучшим Arduino? Как вы можете видеть, каждая из этих плат имеет некоторые преимущества для разных ситуаций. Вопрос «Какая плата Arduino лучше», не является полным. Вам нужно добавить «... для моего приложения или проекта».


Хотя невозможно охватить все типы и вариант платы, эта информация должна дать вам достаточно информации для выбора платы для вашего проекта.




© digitrode.ru


Теги: Arduino, ESP8266, ESP32



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий