Обзор плат Arduino: назначение, применение, сравнение характеристик

Обзор плат Arduino: назначение, применение, сравнение характеристик

Контроллеры arduino

В 2003 году был создан первый прототип устройства. Он лишь отдаленно напоминал современные платы микроконтроллеров. Устройство было названо в честь короля Ардуина, итальянским конструктором Массимо Банци. Развиваясь и совершенствуясь, «Arduino» быстро стало брендом аппаратно-программных средств, с помощью которых можно автоматизировать несложные системы.

В основе аппаратной платформы «Ардуино» лежит программируемый контроллер ввода и вывода. Его достоинством является – универсальность, модульность и не высокая цена. Выражаясь другими словами, «Arduino» - это миникомпьютер, который можно запрограммировать для выполнения определенных действий.

Материал обновлён 07.11.2022
Время чтения: 16 минут

В этой статье рассмотрим:

Сравниваем контроллеры на базе Ардуино, подключаем и программируем

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

Ардуино UNO контроллер
Микроконтроллер Arduino UNO.

Общие сведения

Микроконтроллер

В основе любой платы лежит микроконтроллер (МК). Он содержит в себе процессор, оперативную (ОЗУ) и энергонезависимую памяти (ПЗУ), а также снабжен модулями, осуществляющими обмен аналоговыми и цифровыми сигналами. Такие характеристики позволяют создавать компактные одноплатные устройства - микрокомпьютеры. Наличие множества контактов ввода/вывода позволяет легко подключать к плате самые разные устройства и механизмы: сенсоры, датчики, моторы и модули управления и обмена данными.

Ардуино нано распиновка
Arduino Nano, распиновка.

Большинство моделей конструируется на базе чипов ATmega. В первую очередь это связано с их невысокой ценой и невысокой производительностью, но достаточной для большинства проектов. Наибольшее распространение получили микроконтроллеры: ATMEGA328P, ATMEGA168P и ATMEGA2560.

Основа платы Arduino - микроконтроллер ATMEL
Микроконтроллеры компании ATMEL (ATMEGA168P-AU, ATMEGA328P-PU и ATMEGA2560-16AU).

Однако если требуется обработки большого массива данных или работа с графической информацией, в этом случае требуется большая производительность. Для таких проектов требуются платы с процессорами семейства Cortex-3М (AT91SAM3X8EA) или микроконтроллеры серии ESP.

«Принцип бутерброда»

Для подключения внешних устройств используются штыревые разъемы. При этом все платы, одного модельного ряда, имеют стандартную последовательность расположения контактов, это позволяет создавать универсальные модули для упрощения сборки проектов. Фактически модули насаживаются друг на друга как в бутерброде. Такое свойство (модульность) является одним из основных преимуществ.

Shild для платы arduino
Шилд расширения для подключения TFT экрана.

Интерфейсы передачи данных

Для обмена данными с периферией или другими платами используются такие протоколы как: UART, IIC (I2C) и SPI.

UART (Univsersal Asynchronos Reciever-Transmitter) – универсальный асинхронный протокол передачи данных. Для его отведено два контакта (обычно 0 и 1) маркируемых RX и TX, а также GND (земля). Протокол позволяет передавать данные со скоростями до 115200 бод, однако чаще используется стандартная скорость в 9600 бод. У плат Mega и Due присутствует три дополнительных аппаратных UART. Они располагаются на выводах с 14 по 19.

I2C (Inter-Integrated Circuit) – межсхемная шина последовательной передачи данных. В протоколе задействовано два контакта SDA (Serial Data) и SCL (Serial Clock). В платах УНО под шину выделены контакты A4 и A5, а также пара контактов у USB разъема. У MEGA и DUE, под IIC, выделены контакты 20 (SDA) и 21 (SCL). Протокол поддерживает передачу данных со скоростью до 100 кГц, а также параллельное подключение до 127 устройств.

SPI (Serial Peripheral Interface) – последовательный интерфейс присоединения периферийных устройств. Это четырёхпроводной протокол передачи данных. В нем задействованы контакты MISO (Master In Slave Out), MOSI (Master Out Slave In), SCK (Serial Clock) и SS (Slave Select). При чем так как SPI не поддерживает адресацию, то подключить можно только одно устройство. Однако есть решения для аппаратной поддержки протокола и увеличения числа подключенных устройств. На SPI выделены контакты 10, 11, 12 и 13, на ArduinoMEGA и ArduinoDUE – с 50 по 53. Также контакты дублируются отдельной 6-пиновой колодкой разъема ICSP

Ардуино уно распиновка
Распиновка платы Arduino UNO.
Распределение контактов разъема платы Arduino
Распиновка платы Arduino MEGA.

USB (Universal Serial Bus) – универсальная последовательная шина подключения периферийных устройств. Обмен данными через USB используется во многих устройствах и Ардуино-платы не являются исключением. Через порт USB передается питание для самой платы, а также данные для ее прошивки. За работу протокола USB отвечает: в оригинальных платах – микроконтроллер ATmega16U2, а в неоригинальных – контроллеры серии CH340.

Arduino-контроллеры могут иметь как классические USB Type-B разъем, так и другие его модификации: Mini, Micro и даже Type-C.

Два вида плат arduino
Ардуино Нано с разъемом MiniUSB (слева), а также Ардуино УНО с разъемом USB type-B (справа).

Преимущества платформы

Ардуино-совместимые микрокомпьютеры обладают следующими преимуществами:

  • невысокая цена;
  • возможность самостоятельной сборки;
  • универсальность и модульность;
  • доступность для непрофессионального пользователя;
  • большое количество информации в сети: обучающие ролики, обзоры, пошаговые инструкции;
  • множество сообществ, где можно получить ответы на интересующие вопросы;
  • наличие дополнительного оснащения (периферии): кнопки, датчики, индикаторы и дисплеи, а также другие устройства и аксессуары, обеспечивающие взаимодействие контроллера с окружающим миром;
  • простой процесс разработки системы и ее отладки;
  • множество универсальных стартовых наборов и роботизированных конструкторов.

Сравнение

Модельный ряд контроллеров очень разнообразен, но все же из их множества можно выделить пять классических: DUO, Mega, UNO, Nano, Micro, а также ряд специализированных. Давайте взглянем на их различия. А в качестве «эталона» будем отталкиваться от характеристик Ардуино УНО приведенных в таблице ниже.

МК Тактовая частота Flash-память ОЗУ ПЗУ Рабочее напряжение Цифровые выходы Выходы с ШИМ Аналог. выходы Размер
ATmega328P 16 МГц 32 КБ 2 КБ 1 КБ 5 В 14 6 6 69х54 мм

Arduino UNO R3 (ATMEGA16U2 + MEGA328P) имеет 14 цифровых входов/выходов, 6 из которых могут использоваться как выходы ШИМ, а также есть 6 аналоговых выходов.

Ардуино характеристики

В данной плате применяется чип Atmega16U2, который позволяет превратить плату в любое USB-устройство: от мышки до внешнего диска.

Питание подается по USB или от внешнего источника питания, в качестве которого может использоваться аккумуляторная батарея или сетевой АС/DC-адаптер. Рекомендуется источник питания с напряжением в диапазоне 7-12 В. Объем флеш-памяти составляет 32 КБ.

Контроллер может быть присоединен к компьютеру, другой плате или к другому микроконтроллеру. Для этого он оснащен всем необходимым.

Обратите внимание, что запрещается превышать допустимые величины силы тока! Для одного любого вывода ток не должен быть более 40 мА. Ток для одной группы выводов не может быть более 100 мА. Ток для всего микроконтроллера не должен превышать 200 мА.

Arduino UNO или Mega

Если в классической УНО задействован микроконтроллер ATmega328P, то в Меге его старший брат – ATmega2560. МК отличается увеличенной памятью: флэш-память – 256 КБ, ОЗУ – 8 КБ, ПЗУ – 4 КБ, а также существенно большим числом входов/выходов: 54 цифровых (из них 15 с ШИМ (широтно-импульсная модуляция)), а также 16 аналоговых. За счет большего числа контактов плата на 50% длиннее (102 х 54 мм).

Сравнение плат ардуино
Сравнение моделей UNO и Mega.

Микроконтроллер включает в себя загрузчик, который облегчает установку новых программ без использования дополнительных программаторов. Работа с платой начинается с ее подключения к компьютеру посредством USB-кабеля, а, нажав на кнопку перезагрузки, вы сможете перезагрузить систему в случае непредвиденного сбоя.

Arduino Due

Due – это ТОП версия среди всей линейки классических плат. В этой модели используется микропроцессор SAM3X на основе ARM ядра Cortex-M3. Он имеет рабочую частоту в 84 МГц, флеш-память на 512 КБ и ОЗУ на 96 КБ. Плата имеет аналогичный Mega-версии размер и столько же цифровых пинов, 12 из которых могут использоваться как выходы с ШИМ. Аналоговых контактов – 12 шт.

Отличительной характеристикой DUE является ее питание. Оно составляет всего 3,3 В, что требует особого внимания при подборе периферийных устройств. Размеры Due аналогичны УНО.

Возможности плат ардуино
Плата Ардуино Due.

Arduino Nano vs Pro mini

Нано и Про Мини – две компактные версии для разработки миниатюрных устройств. Их размеры и вес позволяют создавать компактные и автономные DIY устройства.

Ардуино Нано имеет размер 18 х 43 мм и аналогичные UNO характеристики по числу входов/выходов, а также объему памяти. Также существует версия Nano на базе ATMega168P. Она имеет аналогичные ATMega328P характеристики, но урезанную в 2 раза память. За счет меньшего объема памяти, платы на основе ATMega168 дешевле примерно на 30%.

На плате расположен стабилизатор 5 В и загрузчик, позволяющий платформе перепрошивать саму себя. Можно не использовать загрузчик, а запрограммировать микроконтроллер через ICSP-выводы. Кнопкой RESET производится перезагрузка в случае непредвиденного сбоя. Плата подключается к компьютеру через miniUSB-кабель.

Arduino Pro Mini имеет еще более компактные размеры – 18 х 33 мм. Чтобы достичь этого, пришлось отказаться от контроллера шины USB. Поэтому для загрузки кода программы в Про Мини требуется внешний UART-контроллер (программатор). Pro mini питается через кабель FTDI или от источников питания через имеющиеся выходы (Vcc/RAW).

Arduino обзор плат
Платы микроконтроллеров: Nano (слева) и Pro Mini (справа).

Leonardo

Leonardo внешне выглядит как классическая UNO. Но так ли это на самом деле? Чем отличается классическая Arduino UNO от Arduino Leonardo? Давайте разбираться в этом.

Во-первых, типом используемого микроконтроллера. На Леонардо установлен ATMEGA32U4. Его отличительной особенностью является наличие встроенного USB контроллера.

Во-вторых, у платы 20 цифровых входов / выходов, что на 6 больше, чем у классической УНО, а также на четыре больше аналоговых (12 входов / выходов).

В-третьих, полностью переработана схематика платы. Это связано и с меньшими размерами основного МК и с отказом от внешнего UART-контроллера.

В-четвертых, заменен USB вход с типа-А на более популярный MicroUSB.

В-пятых, Leonardo длиннее на 5 мм.

При всем при этом, расположение контактов аналогично, что позволяет использовать на Леонардо любые шилды, совместимые с Уно.

Аппаратная платформа arduino
Программируемый контроллер Leonardo R3.

Arduino-совместимые контроллеры

Аналоги Ардуино получили широкое распространение по всему миру. Их не стоит бояться или специально игнорировать. Основной причиной популярности таких устройств является цена. Она минимум в пять раз ниже чем у оригинального устройства. Причинами этого является:

  • оптимизация электрической схемы;
  • дешевое производство;
  • низкая стоимость комплектующих;
  • массовое поточное производство.
Аналоги плат ардуино
Arduino-совместимая XTWduino UNO R3 (слева) и оригинальная Arduino (справа).

Часто не специалисту сложно различить оригинальную модель и аналог. Это и не удивительно – китайское производство находится на очень высоком уровне. Поэтому вы не столкнетесь с проблемами подключения, программирования или эксплуатации устройства. Даже расположение и последовательность пинов не отличается. Это позволяет, при необходимости, легко заменить оригинальную плату производителя на аналог и обратно.

Аналоги контроллеров DUE
Аналоги DUE и MEGA: платы DDcduino DUE 2012 R3 (слева), а также DDcduino MEGA2560 R3 (справа).
Китайские виды плат Arduino
Аналоги Pro mini и Nano: платы DDcduino Pro mini (слева) и DDcduino Nano V3.0 (справа).
Плата уно и ф2
Платы LY-F2 (слева) и ZYduino UNO R3 (справа).

Специализированные модели

Для управления роботизированными устройствами необходимы специальные модули-драйверы. Однако они существенно увеличивают габариты и перекрывают доступ к другим разъемам. Поэтому были разработаны специализированные контроллеры с выходами для подключения шаговых двигателей, например, серия UNO PRO. Старшая модель этой серии также оснащена встроенным Bluetooth модулем для дистанционного управления.

Модуль-драйверы для роботов
Специализированные контроллеры UNO PRO 2M (слева) и UNO PRO 4M (справа).

Микроконтроллеры ESP

Микрокомпьютеры на базе ESP – следующий уровень проектирования устройств. Плата-контроллер строится на базе процессоров ESP8266 с частотой 80 МГц или ESP32 имеющей рабочие частоты от 80 до 240 МГц. Микрочипы ESP имеют встроенный модуль Bluetooth, увеличенную флеш-память, а также другой дополнительный функционал.

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

Микрокомпьютеры ESP
Платы-контроллеры на базе: ESP D1 UNO R3 (слева) и D1 R32 (справа).

Порядок работы и первые шаги

Подключение Arduino

Управление и обмен данными с Ардуино осуществляется через последовательный (serial) порт, он же – разъем USB. Контроллер подключается к компьютеру с помощью обычного USB-кабеля. При этом на нем загораются светодиодные индикаторы, свидетельствующие о подаче питания и начальном обмене данных.

Пример работы платы
Подключенный Ардуино-контроллер с «горящими» светодиодами.

Windows может сразу не обнаружить ваше устройство. В этом случае следует предварительно установить драйверы. Они могут идти в комплекте к плате (на компакт-диске) или же можно скачать их по первой попавшейся ссылке из поисковика. Также драйвер установится в процессе инсталляции среды программирования.

Программирование

Для программирования Ардуино-совместимого контроллера необходима интегрированная среда разработки (IDE – Integrated Development Environment). Чаще всего используется ArduinoIDE. Данная среда поддерживает множество как оригинальных, так и неоригинальных плат, является бесплатной, а также непрерывно совершенствуется разработчиками. Помимо ArduinoIDE, есть и другое программное обеспечение (ПО), например, Scratch, Snap4Arduino, XOD, Ardublock, mBlock, а также другие.

Программирование платы arduino
Окно интегрированной среды разработки ArduinoIDE.

На данный момент актуальная версия среды ArduinoIDE – 2.0.0. Перед скачиванием можно выбрать операционную среду (Windows, Linux или macOS), а также ее разрядность. После того как файл будет скачен, запустите его и следуйте рекомендациям установщика.

Чтобы начать работать с платой «Arduino», при первом запуске программы, необходимо выбрать модель программируемого контролера, с которым будет производиться работа, например, «Arduino UNO». После этого можно начать написание проекта.

Выбор платы в программе
ArduinoIDE. Выбор модели платы.

Среда программирования уже имеет базу типовых программ (скетчей) с подробным описанием работы. Для этого можно воспользоваться вкладкой «Примеры» и выбрать подходящий скетч. После выбора, то откроется программный код, который в случае необходимости можно проверить на ошибки, отредактировать или дополнить.

Выбор примеров в ПО
ArduinoIDE. Выбор скетча из базы примеров.

После проверки и компиляции программный код загружается на контроллер, на котором загораются светодиодные индикаторы, свидетельствующие об исправной работе платы.

Документация

Если нужно найти техническую документацию на программируемый контроллер, то это можно сделать на официальном сайте компании https://www.arduino.cc/. Для этого достаточно зайти во вкладку «Product» и выбрать нужную модель контроллера. На сайте документация представлена в полном объеме, включая электрические схемы, что позволяет разобраться, в функционировании контроллера, а также назначении тех или иных контактов.

Примеры решений и техническую помощь нужно искать на специализированных форумах. Найти их несложно через любую поисковую систему.

Какая Arduino лучше?

Можно точно сказать, что для начинающих конструкторов лучшим решением всегда будет плата Arduino UNO. Несмотря на то, что она считается одной из самых бюджетных, ее функционал достаточен для реализации большинства проектов. UNO входит во многие наборы конструкторов, позволяющих легко приступить к изучению принципов электроники и основ робототехники. УНО абсолютно стандартная, а также одна из самых популярных плат, можно сказать, что она является «лицом» компании «Arduino».

Какую плату arduino выбрать
Контроллер на ATMega328P Ардуино УНО.

Выбирая модель, прежде всего, следует обратить внимание на технические характеристики, а именно:

  • на базе какого микроконтроллера создана плата. От этого будет зависеть скорость ее работы и производительность;
  • номиналы входного и выходного напряжения платы влияют на возможность присоединения модулей;
  • количество и вид входов/выходов на прямую влияет на количество присоединяемых устройств;
  • объем флеш-памяти важен при написании больших программ и обработке массива данных;
  • размер платы актуален при конструировании миниатюрных проектов.

Таблица сравнения плат Ардуино

Для большего удобства выбора мы свели основные характеристики контроллеров, предлагаемых нашей компанией, в единую таблицу. Надеемся, она поможет вам с выбором необходимого устройства.

Наименование Микроконтроллер Рабочая частота Флэш память Объём ОЗУ Объём ПЗУ U раб U пит Цифровые входы/выходы
DDcduino DUE 2012 R3 AT91SAM3X8EA 84 МГц 512 КБ 96 КБ - 3,3 В 7-12 В 54
DDcduino MEGA2560 R3 ATMEGA2560-16AU 16 МГц 256 КБ 8 КБ 4 КБ 5 В 6-20 В 54
UNO PRO M4 ATMEGA328P 16 МГц 32 КБ 2 КБ 1 КБ 3,3/5 В 3-12 В 14
LY-F2 ATmega328 16 МГц 32 КБ 2 КБ 1 КБ 5 В 7-9 В 14
UNO PRO 2M ATMEGA328P 16 МГц 32 КБ 2 КБ 1 КБ 3,3/5 В 3-12 В 14
DDcduino Nano V3.0 ATMEGA328P-AU 16 МГц 32 КБ 2 КБ 1 КБ 5 В 7-12 В 14
UNO R3 ATmega328 16 МГц 32 КБ 2 КБ 1 КБ 5 В 7-12 В 14
Leonardo R3 ATMEGA32U4 16 МГц 32 КБ 2 КБ 1 КБ 5 В 7-12 В 20
Arduino Nano V3.0 ATMEGA328P-AU 16 МГц 32 КБ 2 КБ 1 КБ 5 В 7-12 В 14
XTWduino UNO R3 ATmega328 16 МГц 32 КБ 2 КБ 1 КБ 5 В 5-9 В 14
DDcduino Pro mini ATmega328P 16 МГц 16 КБ 1 КБ 0,5 КБ 5 В 5-12 В 14
Pro mini ATMEGA168P 16 МГц 16 КБ 1 КБ 0,5 КБ 5 В 5-12 В 14
Nano V3.0 ATMEGA168P 16 МГц 16 КБ 1 КБ 0,5 КБ 5 В 5-12 В 14
ZYduino UNO R3 ATmega328 16 МГц 32 КБ 2 КБ 1 КБ 5 В 7-9 В 14

Количество показов: 36911
15.10.2022
Понравилась статья? Поделитесь ей в ваших социальных сетях:

Возврат к списку