В 2003 году был создан первый прототип. Он лишь отдаленно напоминал современные платы микроконтроллеров. Устройство было названо в честь короля Ардуина, итальянским конструктором Массимо Банци. Развиваясь и совершенствуясь, «Arduino» быстро стало брендом аппаратно-программных средств, с помощью которых можно автоматизировать несложные системы.
В основе аппаратной платформы лежит программируемый контроллер ввода-вывода. Его достоинством является – универсальность, модульность и не высокая цена. Выражаясь другими словами, «Arduino» - это миникомпьютер, который можно запрограммировать для выполнения определенных действий.
Материал обновлён 20.11.2023
Время чтения: 16 минут
Сравниваем контроллеры на базе Ардуино, подключаем, программируем
Arduino открывает широкие возможности по автоматизации различных девайсов и процессов, также он идеален для всех тех, кто увлечен робототехникой, электроникой. При этом пользователю не обязательно быть программистом и обладать специальными знаниями, достаточно иметь желание, творческую идею. С помощью этой аппаратной платформы можно автоматизировать как элементарные процессы, так и создать сложные системы управления.
Общие сведения
Микроконтроллер
В основе лежит микроконтроллер (МК). Он содержит процессор, оперативную (ОЗУ), энергонезависимую памяти (ПЗУ), а также снабжен модулями, осуществляющими обмен аналоговыми и цифровыми сигналами. На основе таких ТТХ создают компактные одноплатные приборы - микрокомпьютеры. Наличие множества контактов ввода/вывода позволяет легко подключать механизмы: сенсоры, датчики, моторы, модули управления.
Большинство моделей конструируется на базе чипов ATmega. В первую очередь это связано с их невысокой ценой и невысокой производительностью, но достаточной для большинства проектов. Наибольшее распространение получили МК: ATMEGA328P, ATMEGA168P, ATMEGA2560.
Однако если необходима обработка большого массива данных или работа с графической информацией, в этом случае требуется большая производительность. Для таких проектов требуются устройства с процессорами семейства Cortex-3М (AT91SAM3X8EA) или микроконтроллеры серии ESP.
«Принцип бутерброда»
Для подключения внешних устройств используются штыревые разъемы. При этом все платы, одного модельного ряда, имеют стандартную последовательность расположения контактов, это позволяет создавать универсальные модули для упрощения сборки проектов. Фактически модули насаживаются друг на друга как в бутерброде.
Интерфейсы
Для обмена данными с периферией используются такие протоколы как: 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, на MEGA, DUE – с 50 по 53. Также они дублируются отдельной 6-пиновой колодкой разъема ICSP.
USB (Universal Serial Bus) – универсальная последовательная шина подключения периферийных устройств. Обмен данными через USB используется во многих приспособлениях – Ардуино-платы не исключение. Через порт USB передается питание для самого микроконтроллера, а также код для ее прошивки. За работу протокола USB отвечает: в оригинальных платах – ATmega16U2, а в неоригинальных – CH340.
Arduino-МК могут иметь как классические USB Type-B разъем, так и другие его модификации: Mini, Micro, Type-C.
Преимущества платформы
Ардуино-совместимые микрокомпьютеры обладают следующими преимуществами:
- невысокая цена;
- возможность самостоятельной сборки;
- универсальность и модульность;
- доступность для непрофессионального пользователя;
- большое количество информации в сети: обучающие ролики, обзоры, пошаговые инструкции;
- множество сообществ, где можно получить ответы на интересующие вопросы;
- наличие дополнительного оснащения (периферии): кнопки, датчики, индикаторы и дисплеи, а также другие модули и аксессуары, обеспечивающие взаимодействие контроллера с окружающим миром;
- простая разработка системы и ее отладка;
- множество универсальных стартовых наборов и роботизированных конструкторов.
Сравнение
В модельном ряду выделяют пять классических: DUO, Mega, UNO, Nano, Micro, а также ряд специализированных. Давайте взглянем на их различия. А в качестве «эталона» будем отталкиваться от характеристик Ардуино УНО приведенных в таблице ниже.
МК | Тактовая частота | Flash-память | ОЗУ | ПЗУ | Рабочее напряжение | Цифровые выходы | Выходы с ШИМ | Аналог. выходы | Размер |
---|---|---|---|---|---|---|---|---|---|
ATmega328P | 16 МГц | 32 КБ | 2 КБ | 1 КБ | 5 В | 14 | 6 | 6 | 69х54 мм |
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 мм).
Микроконтроллер включает в себя загрузчик, который облегчает установку новых программ без использования дополнительных программаторов. Работа с котроллером начинается с ее подключения к компьютеру посредством USB-кабеля, а, нажав на кнопку перезагрузки, вы сможете перезагрузить систему в случае непредвиденного сбоя.
Arduino Due
Due – это ТОП версия среди всей линейки. В ней используется микропроцессор SAM3X на основе ARM ядра Cortex-M3. Он имеет рабочую частоту в 84 МГц, флеш-память на 512 КБ, ОЗУ на 96 КБ. Плата имеет аналогичный Mega-версии размер и столько же цифровых пинов, 12 из которых применимы как выходы с ШИМ. Аналоговых контактов – 12 шт.
Питание DUE составляет всего 3,3 В, что требует особого внимания при подборе периферийных устройств. Размеры Due аналогичны УНО.
Arduino Nano vs Pro mini
Нано и Про Мини – две компактные версии для разработки миниатюрных гаджетов, создания автономных DIY приборов.
Ардуино Нано имеет размер 18 х 43 мм и аналогичные Уно характеристики по количеству входов/выходов, а также объему памяти. Также существует версия Nano на базе ATMega168P. Она имеет подобные ATMega328P характеристики, но урезанную в 2 раза память. За счет меньшего объема памяти, платы на основе ATMega168 дешевле примерно на 30%.
На плате расположен стабилизатор 5 В, загрузчик, позволяющий платформе перепрошивать саму себя. Можно не использовать загрузчик, а запрограммировать микроконтроллер через ICSP-выводы. Кнопкой RESET производится перезагрузка. Подключается к компьютеру через miniUSB-кабель.
Pro Mini имеет еще более компактная – 18 х 33 мм. Чтобы достичь этого, пришлось отказаться от контроллера шины USB. Поэтому для загрузки кода программы в Про Мини требуется внешний UART-контроллер (программатор). Pro mini питается через кабель FTDI или от источников питания через имеющиеся выходы (Vcc/RAW).
Leonardo
Leonardo внешне выглядит как классическая UNO. Но так ли это на самом деле? Давайте разбираться в этом.
Во-первых, типом используемого микроконтроллера. На Леонардо установлен ATMEGA32U4. Его отличает от всех встроенный USB контроллер.
Во-вторых, у Leonardo 20 цифровых входов- выходов, что на шесть больше, чем у УНО, а также на четыре больше аналоговых (12 входов / выходов).
В-третьих, полностью переработана схематика. Это связано с меньшими размерами основного МК и с отказом от внешнего UART-контроллера.
В-четвертых, заменен USB вход с типа-А на более популярный MicroUSB.
В-пятых, Leonardo длиннее на 5 мм.
При всем при этом, расположение контактов аналогично, что позволяет использовать на Леонардо любые шилды, совместимые с Уно.
Arduino-совместимые варианты
Аналоги Ардуино получили широкое распространение. Их не стоит бояться или специально игнорировать. Основная причина их популярности - цена. Она минимум в пять раз ниже чем у оригинального прибора. Причинами этого является:
- оптимизация электрической схемы;
- дешевое производство;
- низкая стоимость комплектующих;
- массовое поточное производство.
Часто не специалисту сложно различить оригинальную модель и аналог, потому что китайское производство находится на очень высоком уровне. Поэтому у вас не будет проблем с подключением, программирование или эксплуатацией устройства. Даже расположение и последовательность пинов не отличается. Это позволяет, при необходимости, легко заменить оригинальный МК производителя на аналог и обратно.
Специализированные модели
Для управления роботизированными приборами необходимы специальные модули-драйверы. Однако они существенно увеличивают габариты и перекрывают доступ к другим разъемам. Поэтому были разработаны специализированные контроллеры с выходами для подключения шаговых двигателей, например, серия UNO PRO. Старшая модель этой серии также оснащена встроенным Bluetooth модулем для дистанционного управления.
Микроконтроллеры ESP
Микрокомпьютеры на базе ESP – следующий уровень проектирования устройств. Строится на базе процессоров ESP8266 с частотой 80 МГц или ESP32 имеющей рабочие частоты от 80 до 240 МГц. Микрочипы ESP имеют Bluetooth, увеличенную флеш-память, а также другой дополнительный функционал.
Программирование их может осуществляться аналогично ардуино-платам, через специализированную IDE. При этом, ряд моделей имеют типоразмер и распиновку, схожую с устройствами, построенными на базе ATmega
Arduino UNO R4
В середине 2023 года, спустя 12 лет после выхода UNO R3, компания выпустила четверную ревизию уно. Версия R4 доступна в двух вариантах: Minima и WiFi. В новых моделях производитель сохранил аппаратную совместимость с предыдущими ревизиями. Рабочее напряжение и распиновка выводов также были сохранены, что позволяет выполнить модернизацию действующих проектов простой заменой платы.
Среди множества внесённых изменений стоит отметить:
- высокоскоростной 32-х разрядный ARM Cortex M4 микроконтроллер от компании Renesas модели R7FA4M1AB3CFM с рабочими частотами до 48 МГц;
- увеличенная до 8 килобайт память ОЗУ и до 256 килобайт флеш-память;
- 12-битный аналого-цифровой преобразователь;
- обновлён разъём питания до стандарта USB Type-C;
- расширен диапазон входного питающего напряжения до 24 вольт;
- добавлена поддержка работы с шиной CAN;
- в Minima добавлен разъём для отладки по интерфейсу SWD.
Старшая модель с модулем ESP32-S3-MINI-1-MB поддерживает работу с Wi-Fi по стандарту 802.11 b/g/n, на скоростях до 150 Мб/с, а также соединение по Bluetooth версии 5. Также на плату вынесены разъёмы Qwiic и VRTC. Ещё одно отличие моделей – это наличие у Wi-Fi версии LED матрицы, состоящей из 96 SMD светодиодов. Матрица предназначена для вывода примитивных изображений, отображения данных или текущего режима работы.
Порядок работы и первые шаги
Подключение
Управление и обмен данными с Ардуино осуществляется через последовательный (serial) порт, он же – разъем USB. Контроллер подключается к ПК с помощью обычного USB-кабеля. При этом на нем загораются светодиодные индикаторы, свидетельствующие о подаче питания и начальном обмене данных.
Windows может сразу не обнаружить ваш девайс. В этом случае следует предварительно установить драйверы. Они могут идти в комплекте (на компакт-диске) или же можно скачать их по первой попавшейся ссылке из поисковика. Также драйвер установится в процессе инсталляции среды программирования.
Программирование
Для программирования Ардуино-совместимого контроллера необходима интегрированная среда разработки (IDE – Integrated Development Environment). Зачастую используется ArduinoIDE. Данная среда поддерживает множество как оригинальных, так и неоригинальных клонов, является бесплатной, а также непрерывно совершенствуется разработчиками. Есть и другое программное обеспечение (ПО), например, Scratch, Snap4Arduino, XOD, Ardublock, mBlock, а также другие.
На данный момент актуальная версия среды ArduinoIDE – 2.0.0. Перед скачиванием можно выбрать операционную среду (Windows, Linux или macOS), а также ее разрядность. После того как файл будет скачен, запустите его и следуйте рекомендациям установщика.
При первом запуске программы, необходимо определить модель программируемого контролера, с которым будет производиться работа, например, «UNO». После этого можно начать написание проекта.
Среда программирования уже имеет базу типовых программ (скетчей) с подробным описанием работы. Для этого можно воспользоваться вкладкой «Примеры» и выбрать скетч. После выбора, то откроется программный код, который можно проверить на ошибки, отредактировать или дополнить.
После проверки и компиляции программный код загружается на контроллер.
Документация
Если нужно найти техническую документацию, то это можно сделать на официальном сайте компании https://www.arduino.cc/. Для этого достаточно зайти во вкладку «Product» и выбрать нужную модель. На сайте документация представлена в полном объеме, включая электрические схемы, что позволяет разобраться, в функционировании прибора, а также назначении тех или иных контактов.
Примеры решений и техническую помощь нужно искать на специализированных форумах. Найти их несложно через любую поисковую систему.
Какая Arduino лучше?
Для начинающих конструкторов лучшим решением будет UNO. Несмотря на то, что она считается одной из самых бюджетных, ее функционал достаточен для реализации большинства проектов. Входит во многие наборы конструкторов, позволяющих легко приступить к изучению принципов электроники и основ робототехники. УНО абсолютно стандартная, популярная плата, являющаяся «лицом» компании.
Выбор компактных моделей, таких как Nano или Pro mini, предпочтителен при разработке миниатюрных и автономных проектов. Их проще разместить в небольших корпусах, скрыто или совместно с другим оборудованием. При решении задач, связанных со сложными и ресурсоёмкими вычислениями, а также при необходимости выполнения параллельных вычислений выбирайте UNO R4.
При выборе обратите внимание на технические характеристики:
- на базе какого микроконтроллера она создана. От этого будет зависеть скорость ее работы и производительность;
- номиналы входного и выходного напряжения влияют на возможность присоединения модулей;
- количество и вид входов/выходов на прямую влияет на количество присоединяемых устройств;
- объем флеш-памяти важен при написании больших программ и обработке массива данных;
- размер актуален при конструировании миниатюрных проектов
Таблица сравнения плат Ардуино
Мы свели основные характеристики контроллеров, предлагаемых нашей компанией, в единую таблицу. Надеемся, она поможет вам с выбором.