Программа сравнения изображения на ардуино. STM32 и Arduino: сравнение характеристик, плюсы и минусы

Плата Arduino Uno – центр большой империи Arduino, самое популярное и самое доступное устройство. В ее основе лежит чип ATmega – в последней ревизии Ардуино Уно R3 – это ATmega328 (хотя на рынке можно еще встретить варианты платы UNO с ATmega168). Большинство ардуинщиков начинают именно с платы UNO. В этой статье мы рассмотрим основные особенности, характеристики и устройство платы Arduino Uno ревизии R3, требования к питанию, возможности подключения внешних устройств, отличия от других плат (Mega, Nano).

Контроллер Uno является самым подходящим вариантом для начала работы с платформой: она имеет удобный размер (не слишком большой, как у Mega и не такой маленький, как у Nano), достаточно доступна из-за массового выпуска всевозможных клонов, под нее написано огромное количество бесплатных уроков и скетчей.

Характеристики Arduino Uno

Изображения плат Ардуино Уно

Оригинальная плата выглядит следующим образом:

Оригинальный и официальный Arduino Uno

Многочисленные китайские варианты выглядят вот так:


Плата – клон Arduino Uno

Еще примеры плат:




Где купить Arduino Uno

Минимальные цены на платы UNO можно найти в китайских электронных магазинах. Если у вас есть несколько недель на ожидание, вы можете существенно сэкономить, купив дешево (в районе 200-300 рублей) с бесплатной доставкой. Причем можно найти как самые простые варианты, так и официальные или “почти оригинальные” платы на базе оригинального микроконтроллера. Еще одна группа товаров – необычные платы со встроенными WiFi (на базе ESP8266 или ESP32), дополнительными разъемами для более удобного подключения периферии. Вот некоторые варианты, которые можно купить у проверенных поставщиков на Алиэкспрессе:

Arduino UNO R3 (CH340G) MEGA328P. Типичный представитель плат Ардуино на Aliexpress с ценой ниже 250 рублей Качественная плата Arduino UNO R3 на CH340G. Комплект без кабеля с минимальной ценой около 220 рублей Arduino оптом – 10 плат контроллера UNO R3 с MEGA328P ATMEGA16U2 на борту
Официальный Arduino UNO R3 MEGA328P на базе ATMEGA16U2 – максимальное качество Плата MegaPower Uno на базе оригинальных ATmega328 R3, FTDI FT232RL Оригинальный Arduino UNO R3 (плата на базе оригинальных микросхем MEGA и ATMEGA16U2) с USB кабелем в картонной коробке
Два в одном! Arduino UNO со встроенным Sensor Shield (Atmega328P Atmega16U2 плюс Sensor I/O Shield) Arduino Uno и WiFi под одной крышей: R3 ATmega328P+ESP8266 (32Mb memory) Отличный вариант от KeyeStudio – UNO R3 MEGA328P ATMEGA16U2 с совмещенным Sensor Shield

Отличие от других плат

Сегодня на рынке можно встретить множество вариантов плат ардуино. Самыми популярными конкурентами Уно являются платы Nano и Mega. Первая пойдет для проектов, в которых важен размер. Вторая – для проектов, где у схема довольно сложна и требуется множество выходов.

Отличия Arduino Uno от Arduino Nano

Современные платы Arduino Uno и версии R3 имеют, как правило, на борту общий микроконтроллер: ATmega328. Ключевым отличием является размер платы и тип контактных площадок. Габариты Arduino Uno: 6,8 см x 5,3 см. Габариты Arduino Nano: 4,2 см x 1,85 см. В Arduino UNO используются коннекторы типа «мама», в Nano – «гребень» из ножек, причем у некоторых моделей контактные площадки вообще не припаяны. Естественно, больший размер UNO по сравнению с Nano в некоторых случаях является преимуществом, а в некоторых – недостатком. С платой большого размера гораздо удобнее производить монтаж, но она неудобна в реальных проектах, т.к. сильно увеличивает габариты конечного устройства.

На платах Arduino Uno традиционно используется разъем TYPE-B (широко применяется также для подключения принтеров и МФУ). В некоторых случаях можно встретить вариант с разъемом Micro USB. В платах Arduino Nano стандартом является Mini или Micro USB.

Естественно, различия есть и в разъеме питания. В плате Uno есть встроенный разъем DC, в Nano ему просто не нашлось места.

Кроме аппаратных, существуют еще небольшие отличия в процессе загрузки скетча в плату. Перед загрузкой следует убедиться, что вы выбрали верную плату в меню «Инструменты-Плата».

Отличия от Arduino Mega

В полном соответствии со своим названием является на сегодняшний день самым большим по размеру и количеству пинов контроллеров Arduino. По сравнению с ней в Uno гораздо меньше пинов и памяти. Вот список основных отличий:

  • Плата Mega использует иной микроконтроллер: ATMega 2560. Но тактовая частота его равна 16МГц, так же как и в Уно.
  • В плате Mega большее количество цифровых пинов – 54 вместо 14 у платы Uno. И аналоговых – 16 / 6.
  • У платы Mega больше контактов, поддерживающих аппаратные прерывания: 6 против 2. Больше Serial портов – 4 против 1.
  • По объему памяти Uno тоже существенно уступает Megа. Flash -память 32/256, SRAM – 2/8, EEPROM – 4/1.

Исходя из всего этого можно сделать вывод, что для больших сложных проектов с программами большого размера и активным использованием различных коммуникационных портов лучше выбирать Mega. Но эти платы дороже Uno и занимают больше места, поэтому для небольших проектов, не использующих все дополнительные возможности Mega, вполне сойдет Uno – существенного прироста скорости при переходе на “старшего” брата вы не получите.

Краткие выводы

Arduino Uno – отличный вариант платы для создания . 14 цифровых и 6 аналоговых пинов позволяют подключать разнообразные датчики, светодиоды, двигатели и другие внешние устройства. USB-разъем поможет подключиться к компьютеру без дополнительных внешних устройств. Встроенный стабилизатор позволяет использовать различные элементы питания с широким диапазоном напряжения, от 6-7 до 12-14 В. В Arduino Uno достаточно удобно реализована работа с популярными протоколами: UART, SPI, I2C. Есть даже встроенный светодиод, которым можно помигать в своем первом скетче. Чего еще желать начинающему ардуинщику?

Среди всего разнообразия плат Arduino новичку сложно выбрать подходящую. Кроме официальных плат, типа Arduino UNO, Nano, MEGA, существуют еще и ардуино-совместимые платы, типа Digispark, «Электронные войска», Seeeduino, Freeduino, Robocraft и другие. В чем их отличие и какую плату Arduino выбрать? Давайте разберемся!

Совместимость с шилдами и основные отличия

Пожалуй, эта характеристика стоит на ряду с такими как: объём памяти, тактовая частота и тип используемого микроконтроллера. Платы клоны Ардуино можно разделить по подобию с базовыми платами Arduino UNO, MEGA и прочие. Самой распространенной является UNO, собственно большинство клонов связаны, именно с ней. Совместимость с шилдами обеспечивается расположением клеммных колодок и разводкой печатной платы.

Размер платы оригинальной UNO 6.9х5.3 см, размеры плат сторонних производителей могут отличаться, но расположение клеммных колодок и расстояние между разъемами должно оставаться одинаковым. В таком случае плата будет совместима со стандартными шилдами любого происхождения.

Если речь идет в контексте «ардуино», скорее всего, именно эта версия и имеется в виду. Отличия между оригиналом и клоном могут отсутствовать, т.е. полная копия, а разницей могут быть лишь цвет покрытия платы и способ прошивки. USB-serial конвертер, на той же УНО, выполнен на микроконтроллере, тогда как на оригинальных НАНО - на 232-ой микросхеме, а на китайской - на CH340, встречаются и УНО с такими конвертерами, об этом позже.

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

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

Плата совместима с языком ардуино, но не совместима с шилдами. Если их нужно подключать, то нужно производить подключение вручную к соответствующим пинам. Кстати эта плата ориентирована на носимые устройства, как вариант для умной одежды. Такую плату производит компания SparkFun.

Обзор плат и советы по их применению

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

    Роботехника;

    Автоматика;

    Для обучения и пр.

Названия плат обычно содержат приставку «Duino», как craftduino или DCduino, а модель платы может и совпадать по названию, как та же DCduino UNO, если она дополнена - тогда будет еще одна приставки или совсем другое слово описывающее добавочные функции. Кроме выше перечисленного стоит обращать внимание на напряжение питания и логических уровней, они могут быть 3.3 и 5 В.

Для начала однозначно брать нужно распространенную плату - Arduino UNO-подобную или Nano, первая стоит порядка 5 долларов, вторая немногим дешевле - 3-5 долларов.

Если вам встретится модель под названием Duemilanove, это полный аналог UNO. Отличия лишь в способе связи с компьютером, выше я упомянул, что на UNO она организована на дополнительном микроконтроллере - Atmega8u2, Duemilanove общается с компьютером через FT232RL.

Перейдем к обзору плат. На фото ниже это полные клоны ардуино, ниже мы рассмотрим модернизированные платы.

Отличный клон UNO, главное отличие - наличие дополнительных контактов разъёма «GVS» (ground-voltage-signal). Это не совсем разъём, а скорее порядок размещения проводов в разъёме. Именно так подключаются многие датчики и прочая периферия.

Но в стандартной гребенке контакты расположены иначе, при этом вам обязательно не хватит контактов питания (Vcc и Gnd), придется скручивать провода, либо использовать беспаечную макетную плату для подсоединения. Разработчики Iteaduino предусмотрели это и решили проблему дублированием контактов типа «папа» в правильной последовательности.

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

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

Еще одна уно-подобная плата с возможностью подключения к сети по кабелю и установки микро SD-карты. Хотя и есть Ethernet-shield, но опять-таки - он увеличит объём занимаемый платой в корпусе и вес продукта. Плата , но на ней отсутствует USB-интерфейс.

Для прошивки нужно дополнительно приобрести USB-UART конвертер вот такой, например, его гребенка подходит к такой же на плате Arduino Ethernet.

Leonardo и Esplora

Модель Arduino для тех, кому нужно много аналоговых входов, для считывания аналоговых датчиков, здесь их 12, против 6 на плате УНО.

Это получилось за счет использования Atmega32u4, а не Atmega328, как на большинстве плат они подключены к пинам, те, что на UNO были цифровым: 4, 6, 8, 9, 10, 12.

Такая разводка позволяет использовать их как раньше, что даёт совместимость с платами расширения или подключать источники аналогового сигнала. ШИМ выводов здесь не 6, а 7.

Исчезла необходимость в USB-UART конвертере, в Atmega32u4 интегрирована аппаратная поддержка USB. Для работы может потребоваться дополнительный модуль PoE. Такие платы отлично подходят для создания контроллеров для ПК, он поддерживает USB HID, и может выступать в роли мыши или клавиатуры или геймпада, с соответствующей обвязкой и деталями.

Интересен Leonardo тем, что при одинаковых размерах и совместимости с UNO имеет больше функций в плане работы с ШИМ и аналоговым сигналом.

На его основе сделана Esplora - по сути плата джойстика совместимая с арудиновским кодом и возможностью программирования и создания уникального девайса. На фото ниже вы видите такую плату с дополнительным дисплеем (в комплект его нет), напоминает портативную консоль.

MEGA и DUE

Если вы собрались делать систему автоматизации для целого дома или другой объёмный проект вам не хватит выводов . На помощь придет контроллер Atmega2560, и плата ардуино с аналогичным названием, здесь есть 54 цифровых входа-выхода и 16 аналоговых. Это более, чем в 2 раза больше, чем у тех, что мы рассмотрели выше. К ней продаются соответствующие большие шилды.

UNO-шилды условно совместимы. Только нужно в библиотеках править расположение пинов, потому что их нумерация различна.

Если вам нужно еще больше возможностей, стоит сменить архитектуру. Arduino DUE построен не на МК семейства AVR8, а на ARM CORTEX-M3. Это 32-х разрядный контроллер. 54 цифровых и 12 аналоговых каналов помогут реализовать большой проект. 4 UART интерфейса, SPI, Twin-Wire, JTAG. 512 кб флеш, 96 SRAM, 32 разряда - всё это нужно для высокой скорости выполнения сложных программ.

Напомню, что у атмеги328 всего 32 кб флеш-памяти и 2 кб SRAM

ВНИМАНИЕ:

Питание и напряжение логических уровне - 3.3 В, если хотите убить DUE, подайте на неё 5 В.

Самые маленькие ардуины

Для тех, кому важна мобильность есть целый ряд официальных плат и одна весьма занимательная ардуино-совместимая. Они подходят для тех, кто хочет спроектировать скрытое устройство или носимое (портативное). Давайте рассмотрим их подробнее.

Актуальная версия - Arduino Nano v3.0. Из маленьких она наиболее удобна, для прошивки используется Mini-b USB-кабель, но китайские копии часто используют micro-USB разъём, который очень распространен для подключения смартфона к компьютеру или его зарядки.

По количеству и назначению пинов она аналогична UNO, но не совместима с шилдами. Кстати, для нано встречаются специализированные шилды (китайцы делают все, что только можно вообразить). Чаще всего китайские копии используют CH340G для связи с компьютером через USB, лично у меня на Windows 8.1 драйвер не установился автоматически, проблема решилась после 2-х минут поиска в гугле по названию микросхемы, дальше всё пошло как по маслу.

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

Arduino mini - не работает по USB

Самая мелкая плата, аналогичная по функционалу «ункам» и «нанкам» - это «мини». Забавно, что самая маленькая плата, судя по названию, должна быть больше, чем «нано». Получилось наоборот. Экономия размеров достигнута за счет исключения узла связи по юсб (rs232, ch340g и подобных) и самого разъёма. Для этого есть контактные площадки для подключения по последовательному интерфейсу.

Прошивка осуществляется с помощью USB-serial (usb-uart) переходников. Если вы собираетесь заниматься микроконтроллерами - стоит его приобрести, он много где может пригодиться.

Может поставляться как с распаянными контактными площадками, так и просто приложенными в комплекте, для самостоятельной установки.

Интересная разработка Digispark. Её форм-фактор напоминают флешку, для её прошивки не нужен кабель, она сама вставляется в USB-порт компьютера.

В вашем распоряжении всего 6 выводов(3 PWM и 4 аналоговых, I2C), 8 Кб флэш-памяти для программ, по 512 б ROM и RAM, 2 кб памяти, как обычно, заняты загрузчиком, так что вам доступно лишь 6 кб.

При прошивке 2 цифровых пина (P3, P4) задействуются под USB, но вы их можете использовать после прошивки, когда отключите от компьютера. Обратите внимание на распиновку - она написана на обратной стороне платы, на картинке справа. Для работы с ней нужно настроить IDE.

Еще несколько особенностей:

1. пин P5 - это «RESET», если подать на него логический ноль - плата перезагрузится, он же A0, т.е. первый аналоговый вход, сигнал может считываться в диапазонах более, чем 1.2 в, поскольку всё что ниже воспринимается, как «ноль» и идёт перезагрузка. Сомнительный пин вообще, но если подумать, как его использовать, и достигает ли измеряемый сигнал вообще нуля, то всё не так плохо.

2. Забудьте о мониторинге порта, Serial отсутствует как таковой, поэтому отладку платы с компьютера проводить не получится. Этого можно и избежать - если больше времени уделить проектированию, ну или использовать внешние измерительные приборы - контрольные лампы, мультиметры, осциллографы.

Заключение

Надеюсь, что эта статья помогла вам определиться с выбором платы. Я постарался рассмотреть максимально широкий спектр ардуино в малом объёме текста, детально рассматривать каждую плату не имеет смысла, ведь они почти одинаковы, за исключением разных дополнений.

В тематическом блоге уже было несколько статей по поводу выбора первого микроконтроллера и начала работы с ним. Не менее интересны были и комментарии к таким статьям. Одна из мыслей, которая несколько раз поднималась там - это что не все, кто имеют интерес к МК, приходят к ним от транзисторов. Некоторые (дай бог, чтобы побольше), приходят к ним со стороны (прикладного) программирования. Рекомендовать таким людям брать в руки паяльник - не разумно, у них и так есть вещи , которые они могут «попаять». Так мы приходим к слову «Arduino», которое уже многие слышали. Среди бывалых с паяльниками существует - Arduino это платка на AVR для ленивых. Так ли это? Эта статья - попытка наглядно показать, что Arduino - это не про AVR и не про лень, Arduino - это архитектурно-независимая электронно-механическая платформа совместимых компонентов, по (относительной) значимости не менее важная, чем (в свое время) IBM S/360, IBM PC или USB.

AVR живее всех живых

Дойдя до второй части обзора, читатель увидит, что Arduino-совместимые платы на современных мощных 32-битных контроллерах стоят не много больше, а иногда даже меньше, чем на оригинальной AVR архитектуре. И все же сначала AVR. Почему? Потому что мэтры говорят, что рано или поздно захочется собрать свое устройство. И я им верю. Верю, что однажды я возьму 8-ногий ATtiny в DIP корпусе, засуну его в картонку и включу паяльник. И я буду знать, что делать дальше - ведь я уже все отпрототипировал на Arduino AVR.
Arduino Duemilanove
Это предпоследняя версия официальной Arduino, и большинство совместимых плат, которые сейчас присутствуют на рынке, основано именно на схемотехнике Duemilanove. Она включает микроконтроллер ATmega 328 (в прошлом десятилетии (читай: до 2010г) ставили и ATmega 168) и USB-Serial преобразователь FTDI FT232RL. $25

Arduino Uno
Текущая версия официальной Arduino. Пока на рынке мало альтернативных реализаций, но они начинают появляться, одна включена в этот обзор. Основное отличие от Duemilanove - замена популярного, а значит, не по начинке дорого, чипа FT232RL на… ATmega8U2. Да-да, в Uno фактически два микроконтроллера AVR, причем один - с аппаратным USB. Почему два, почему не поставить один? Вопрос совместимости, дружественности для новичков и для собственных разработок. Микроконтроллеры с аппаратным USB судя по всему есть только в SMD корпусах, поэтому использовать такой в своих разработках или заменить вышедший из строя на плате будет нелегко. Поэтому лучше использовать старый-добрый ATmega328 в DIP-панельке, а ATmega8U2 оставить на будущее. Судя по тому, как уверенно Uno завоевывает позиции - на ближайшее будущее. $30
Iteaduino
Существует множество клонов Arduino Duemilanove, которые копируют ее фактически один в один. Но мы ждем от конкуренции прогресса и улучшения, а не простого «передирания», дозволенного открытой лицензией. Iteaduino - хороший пример, когда разработчики «сделали свое домашнее задание». Многие электронные компоненты требуют питания 3.3в, что требует дополнительного сопряжения уровней при работе с классическим Arduino. Iteaduino же позволяет запитать плату 3.3в или 5в на выбор (переключателем на плате). «Соль» применения Arduino конечно же в подключении внешних устройств ввода-вывода, и для простых устройств сложился де-факто стандарт интерфейса GVS (Ground-Voltage-Signal). Для приятного (без паутины проводов) подключения таких устройств к классическому Arduino придется докупать шилд, а в Iteaduino соответствующие разъемы есть прямо на плате. Кроме того, улучшена эргономика - в оригинальном Arduino при надетом шилде нельзя добраться до кнопки Reset (поэтому многие шилды дублируют ее) и плохо виден светодиод, а в Iteaduino они размещены на краю платы с возможностью доступа. $25

Seeeduino Stalker v2
Благодаря стандарту Arduino можно создавать не только платы общего назначения, но и специализированные платы, которые все также будут легко расширяться существующими компонентами. Одна из идеальных применений для Arduino - разработка автономных беспроводных узлов-агентов распределенной системы контроля и управления. Платы Seeeduino Stalker разработаны именно для такого применения. В версии 2 на плате установлен контроллер зарядки литиевого аккумулятора с возможностью подключения солнечной панели, часы реального времени (RTC) с питанием от супер-конденсатора, microSD-слот, сокет *Bee (в оригинале XBee для протокола ZigBee, но уже есть BTBee в том же формфакторе) и разъемы I2C. $39
Ruggeduino
Вы начинающий, любите переплюсовывать питание и хвататься за оголенные GPIO наэлектризованными руками? Или подключаете датчики проводами по 20 метров, а иногда вокруг бьют молнии? Или используете Arduino в производственных целях, где требования по защите и надежности повыше? Ruggeduino поможет вам, одного взгляда на него будет достаточно, чтобы проникнуться уважением и понять, что это настоящий индустриальный Arduino. $40

RoMeo All-in-one
Плата для роботостроения, содержит на плате множество интерфейсных разъемов, драйвер двигателя, кнопки. $36
CraftDuino
Российский вариант Arduino с улучшенной эргономикой (доступ к светодиодам и Reset) и возможностями: на плате присутствует разъем для всех выводов чипа FT232, что позволяет использовать его для bitbang-приложений (программатор различных МК, JTAG и т.п.), и возможность допаять дополнительные выводы для установки CraftDuino на беспаечную макетную плату (breadboard). $30

Быстрее, выше, сильнее

Итак, мы выросли из AVR, но все наши шилды, сенсоры, сервы с нами. И мы не заставим их пропадать, ведь они для Arduino, а не для AVR. Мы также и дальше не будем поддаваться стереотипам, что есть только какой-то ARM, и какой-то Cortex. Все много интереснее!
ChipKIT Uno32
Каждый студент , что AVR - это хорошо, а PIC - это плохо. Однако, не стоит это распространять на все семейства МК. PIC32 - вполне нормальный процессор с архитектурой MIPS. А MIPS - одна из лидирующих RISC-архитектур. По сравнению с ARM у нее есть одно достоинство - она не столь медиа-популяризирована, поэтому лицензионные отчисления за MIPS меньше, а процессоры в среднем - дешевле, и лидируют в отельных рыночных сегментах, таких как раутеры. Например, Arduino-несовместимая плата в корпусе, с Ethernet, WiFi и USB-хостом стоит менее $50 даже в этой стране, ARM"у такое и не снилось. Но сейчас мы рассматриваем Arduino совместимые, и ChipKIT не заставит скучать при частоте 80МГц. 20EUR

Netduino
Cortex снова подождет. На сцене - классика ARM, ядро ARM7, в лице чипа от любимого вендора AT91SAM7X512-AU. На своих 48МГц он даже щелкает.NET Micro Framework! $35
FEZ Panda II
Конечно же, в managed коде писать легче, так что парад.NET MF продолжается. Эта плата идет под маркетинговым чипом «USBizi», который на поверку оказывается NXP LPC2387 с соответствующим firmware. На 72МГц он наверное мог бы играть MP3. Только не в.NET коде, конечно. $40

Существует множество разновидностей плат Арудино: Nano, Mini, Uno, Leonardo, Mega, Lilypad… Новичку сложно разобраться в их многообразии. В этой статье я расскажу о разновидностях плат ардуино. В конце статьи есть ссылки на проверенных мной продавцов, у которых можно купить плату Arduino. Нажмите на для быстрого перехода к таблице со ссылками.

Основные различия плат Arduino:

Ардуино отличаются между собой:

  • размером
  • количеством выводов
  • объёмом памяти

Размер платы , прежде всего влияет на удобство работы с ней. Самая распространённая плата – Arduino Uno (и её обновлённая версия Arduino Leonardo) имеют размер примерно 6×5 см. Это позволяет обходиться без лупы при создании прототипа на макетной плате и получать достаточно компактные рабочие устройства. Arduino Nano - очень компактна. Её размер всего 4,4×1.9 см, при этом её функционал ничем не отличается от больших плат. Также Arduino Nano отлично крепится на макетной плате за счет выводов типа «папа». В попытке сделать платы еще меньше были выпущены версии Arduino Micro (клон Arduino Uno, выпущенный на плате размером 4.8х1.77 см) и Arduino Mini (минимальная комплектация — отсутствует разъем USB для питания и заливки прошивки, прошивка заливается через специальный переходник. Забавный факт: arduino mini гораздо меньше, чем micro, при этом micro почти одинакового размера с nano. Так что название моделей плат — это просто названия моделей плат и реальный размер оно не отражает. Существует ещё огромная, 10,2 * 5,3 сантиметров Arduino Mega. Такой размер она получила не просто так. На плате расположено целых 70 выводов.

Количество выводов определяет количество внешней периферии, которое вы сможете подключить к плате: светодиоды, сервоприводы, разнообразные датчики, модули,кнопки и многое другое. На платах есть цифровые и аналоговые выводы. Цифровые выводы могут принимать только 2 значения: HIGH и LOW. HIGH соответствует наличию тока на выводе, LOW – отсутствию. Захотели зажечь светодиод - перевели вывод в состояние HIGH. На выводе появилось напряжение и светодиод загорелся. Выдали LOW и светодиод погас. Цифровые выводы могут также и считывать значения, аналогично, только 2 состояния. Если на вывод извне (например, с кнопки) подаётся напряжение ~+5В, то контроллер считает значение HIGH. Напряжение меньше 5 вольт будет определено, как LOW.
Аналоговые выводы позволяют считывать значение прилагаемого напряжения в диапазоне от 0 до 1024. Где 0 — 0 вольт, 1024 — 5 вольт. Диапазон измерений может быть изменён путём подачи опорного напряжения на специальный вывод AREF. При этом, любой аналоговый вывод можно использовать как цифровой. Но цифровой не может быть использован как аналоговый.

Цифровые выводы могут ещё поддерживать : специальный режим работы для управления яркостью свечения светодиода или скоростью вращения моторчика. Однако, здесь всё просто: nano, mini и uno располагают шестью выводами с поддержкой ШИМ. Leonardo и micro оборудованы семью ШИМ выводами, и только гигантская Arduino Mega 2560 вырывается вперёд с четырнадцатью ШИМ выводами.

Объём памяти , на первый взгляд, очень важный параметр. Однако, не относитесь к плате, как к компьютеру. Здесь не нужно много оперативной и уж тем более постоянной памяти. Я не буду подробно останавливаться на этом. Потому, что самая «бедная» в этом плане Arduino Nano имеет всего 32 килобайта постоянной и 2 килобайта оперативной памяти, но к тому моменту, как написанная вами программа для микроконтроллера перестанет влезать в эти 32 килобайта постоянной памяти, вы уже будете прекрасно разбираться во всём самостоятельно, и эта статья вам не понадобится. Серъёзно: 32 килобайта — просто огромная память для программы микроконтроллера.

Объём энергонезависимой памяти , более интересный параметр. Энергонезависимая память, как ясно из её названия, сохраняет в себе данные независимо от наличия питания. При этом значения переменных в вашей программе сохраняются в оперативную память, которая стирается при перезагрузке контроллера. Помимо энергонезависимой памяти для хранения самой программы, отдельно выделена область памяти (она же EEPROM), которая позволяет прямо из программы контроллера сохранить значения переменных в специальную ячейку. Тогда после перезагрузки устройство сможет восстановить состояние, в котором оно находилось перед отключением питания. Большинство контроллеров позволяют сохранить лишь 1 килобайт данных. Кроме малого объёма существует ещё и лимит на количество операций записи. Всего 10 000 раз можно записать данные в одну ячейку (считывать данные можно любое количество раз). 10 000 — на первый взгляд не так уж и мало. Запись осуществляется в ячейки по 1 байту. Итого, у нас есть 1 000 ячеек. Например, если опрашивать некий датчик всего один раз в минуту и сохранять его значение в память и при том каждый раз в новую ячейку, устройство проработает (((100 000 * 1 000)/60)/24)/365 = 190 лет. Однако, чаще всего приходится записывать данные в одну ячейку (например, количество секунд). И тогда ресурс снижается уже до 2,5 месяцев непрерывной работы, и это для записи раз в минуту. Если же возникнет задача обновлять значение раз в секунду, то и вовсе всего через 27 часов EEPROM будет повреждена. Поэтому, энергонезависимую память используют для сохранения настроек и других редко обновляемых значений. А показания датчиков или журнал работы устройства удобнее писать на SD карту (кстати, у меня есть о подключении SD карты к Arduino).

Выбираем плату

Самая популярная плата - Arduino Uno. Все остальные платы имеет смысл сравнивать именно с ней. Это плата небольшого размера. По краям платы расположены 14 цифровых и 6 аналоговых входов/выходов.

Плата размером 6,9 × 5 ,3 см наиболее удобна для создания быстрых прототипов. Не слишком большой размер и удобные разъёмы для подключения проводов от макетной платы делают её весьма удобной для новичков. Так называемые шилды (Shield) - в 99% случаев созданы именно для установки на плату Arduino Uno. Сейчас получает распространение другая плата, Arduino Leonardo, которая является идеологическим продолжением UNO. Она имеет незначительные различия в назначении некоторых специальных выводов и подключается к компьютеру гораздо более компактным кабелем micro USB. Большинство шилдов для UNO подходят и к Leonardo, но возможны неприятные сюрпризы из-за несоответствия некоторых выводов.

Это действительно наиболее оптимальный вариант платы Arduino. Если вы приобретаете плату первый раз и просто хотите попробовать свои силы, ваш выбор — Arduino Uno или Leonardo. Большинство готовых наборов, кстати именно поэтому и комплектуются именно платой UNO. Подробнее о подборе готового набора я расскажу в конце статьи.

Довольно интересная разновидность - Arduino Nano. Это плата размером всего 4,4см x 1.9см, при этом она полностью совместима с Leonardo по функционалу. Продаются даже специальные переходники для подключения шилдов от UNO к Nano. Платы идентичны по количеству выводов, объёму памяти, быстродействию. Nano, благодаря миниатюрным размерам, удобно использовать в готовом устройстве, чтобы сэкономить место в тесном корпусе. Ардуино Нано вместо отверстий для подключения соединительных проводов оборудована штырьками. Это добавляет хлопот при прототипировании (плату приходится устанавливать на макетную плату и занимать место, однако помогает при переносе прототипа в реальное устройство. К выводам контроллера можно просто припаять провода.

Arduino Mega - самая большая плата семейства Arduino. Больше памяти, огромное количество выводов (70!). Эта плата предназначена для сложных устройств, к которым планируется подключение множества разнообразной периферии. На самом деле правильное название для платы - Arduino Mega 2560. Но поскольку Arduino Mega (без цифр в названии) в данный момент считается устаревшей, купить её фактически невозможно и для краткости плату называют просто Arduino Mega. Но в реальности плата оказывается бесполезной как при создании прототипа. так и в готовом устройстве. В прототипе больше всего мешает её огромный размер, а для готового устройства может быть полезным, разве что, количество выводов, но получить дополнительные выводы легко можно на любой другой плате с помощью или, если не хватает выводов с ШИМ, можно воспользоваться . Единственное серъёзное преимущество Mega перед другими платами- объём памяти для загрузки программы. Однажды мне понадобилось вывести на бегущую строку большое количество графической информации и программа занимала почти 100Кб. Проект собирался на пару дней и переписывать алгоритм под хранение информации на SD карте не хотелось. Тут мне на помощь и пришла Mega.

Где покупать плату Arduino

Изначально Arduino была разработана итальянскими инженерами. Автором идеи считается Массимо Банци (Massimo Banzi). Именно плата, произведённая в Италии считалась оригинальной Ардуино. Позже в команде разработчиков случился раскол и оригинальные платы производятся как в Италии, так и в США. Однако, изначально чертежи Arduino стали распространяться под свободной лицензией. Это значит, что кто угодно может производить платы в точности повторяющие конструкцию оригинала. Авторские права распространяются лишь на само название Arduino. Именно поэтому существует огромное количество модификаций и альтернативных версий платы от сторонних производителей. Разумеется, Китай, как настоящий центр производства электроники в настоящее время предлагает массу ардуино совместимых плат. Лично я рекомендую не переплачивать тысячи рублей за оригинал, а обратить внимание на копию платы по приемлемой цене. Серъёзно, самая дешёвая плата Arduino Mini, оригинал с завода в Италии, в России стоит 1400 рублей, тогда как Китайский клон можно заказать за 2$ c бесплатной доставкой. Покупать платы удобнее всего на популярной интернет-площадке Aliexpress. В конце статьи я собрал для вас ссылки для заказа плат и различных датчиков, которые я сам заказал и убедился в их качестве. Так же там вы найдёте ссылки для заказа готовых наборов для начала изучения мира Arduino. Если же вы по каким-то причинам намерены приобрести оригинальную плату, то отправляйтесь на сайт «Амперка» . Там точно оригинальные платы.

Итог

Если вы новичок, то без раздумий покупайте Arduino Leonardo.
Если у вас уже есть несколько прототипов, и вы планируете превратить их в готовые устройства, присмотритесь к Arduino Nano.
Если же вы сломали голову, но так и не придумали, как впихнуть всю начинку устройства в тесный корпус, воспользуйтесь сверхкомпактной Arduino Mini.

Небольшая сравнительная таблица основных характеристик:

Плата Размер, см Количество выводов (цифровых/аналоговых) Объём постоянной памяти, КБ Объём оперативной памяти, КБ Объём энергонезависимой памяти для хранения значений переменных, КБ Тактовая частота, МГц
4,4×1,9 14 / 8 30 2 1 16
Arduino Mini 1,8×3,3 14 / 8 16 1 0,5 16
6,9×5,3 14 / 6 32 2 1 16
6,6×5,2 20 / 12 32 2,5 1 16
11×5,2 54 / 16 128 8 4 16

Платы Arduino

Название Статус

Arduino Pro Mini с напряжением питания 5 В

Контроллер Pro Mini - модуль, совместимый с Arduino IDE производства фирмы Sparkfun. Он относится к классу основных модулей Arduino, используемых при проектировании микроэлектроники на основе микроконтроллера ATmega368 Pro Mini - инструмент для разработки электроники, взаимодействующей с окружающей средой, в отличие от персональных компьютеров, не выходящих за рамки виртуальности. Применяется для проектирования систем с возможностью получения данных от различных датчиков и управления работой всевозможных устройств.
Arduino Pro Mini это базовый микроконтроллерный модуль с открытым программным обеспечением. Устройства, собранные с применением Pro Mini, могут работать самостоятельно или взаимодействовать с программами, размещенными в персональном компьютере.

Среда разработки программ доступна для бесплатного скачивания. Программное обеспечение Arduino работает под Windows, Macintosh и Linux. Оболочка программирования Arduino подходит как для начинающих разработчиков, так и для опытных. Семейство программ Arduino постоянно дополняется опытными пользователями и доступно в сети.

Характеристики

Напряжение питания 5-12 В
Тактовая частота 16 МГц
Размер памяти
для программ, тип флеш 32 Кбайт, где 2 Кбайт занимает загрузчик
ОЗУ 2 Кбайт
длительное сохранение данных происходит в EEPROM 1 Кбайт
Максимальный ток через вывод 40 мА
Размеры платы 18 х 33 мм

Питание

Фрагмент схемы модуля содержащий цепь питания.

К модулю Arduino Pro Mini питание может подключаться несколькими способами. Нестабилизированное напряжение в диапазоне 5-12 В подается на контакт RAW. Стабилизированное 5 В на контакт VCC. Через кабель FTDI на второй контакт VCC, расположенный на торце платы. На контакт VCC нельзя подавать напряжение более 5 В.

Расположение и название контактов.

Имеется 14 цифровых двунаправленных контактов. Резисторы подтягивания к питанию находятся внутри МК, они изначально программно отключены.
Внешнее прерывание подается на входы 2 и 3. Они конфигурируются на разные логические уровни и фронты импульса для обнаружения сигнала прерывания.
Имеющиеся интерфейсы
USART: 0 - RX и 1 - TX
SPI: 10 - SS, 11 - MOSI, 12 - MISO, 13 - SCK.
I2C: А4 - SDA, A5 - SCL.
Есть 8 входов АЦП c дискретностью 10 бит. По умолчанию предел измерения 5 B. Предел меняется посредством процедуры analogReference() используя образцовый потенциал с контакта REF или внутренние образцовые потенциалы микроконтроллера.
На входе RST уровень 0 вызывает перезагрузку МК.

Индикация

На плате Arduino Pro Mini имеется два индикатора. Один из них - индикатор включения питания. Второй - светодиод, включаемый высоким логическим уровнем на контакте 13.

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

Для соединения с компьютером используется специальный кабель, содержащий преобразователь интерфейса USB-USART. Микроконтроллер содержит интерфейс USART, его сигналы RX и ТХ выведены на торцевую часть платы. Специальный кабель подключается к этим входам Arduino Pro Mini, а также к контактам VCC и GND. При этом питание 5 В поступает в модуль от персонально компьютера. Следует учитывать порядок подключения контактов. Правильно соединение USART выполняется по схеме:
RX - TX,
TX - RX.
Китайские товарищи иногда нарушают классику наименования сигналов USART, соблюдая одноименность. Может оказаться так, что Ваш модуль надо соединять RX - RX, TX - TX.
Существуют соединители, имеющие также очень важный контакт DTR. Сигнал на этом контакте автоматически формирует сигнал сброса перед обновлением программы в МК. Без сброса в нужный момент в начале записи программы невозможно записать новую программу.


Программирование предыдущей версии Arduino Pro Mini.

Запись программы в режиме внутрисхемного программирования


Соединение Arduino Pro Mini с разъемом ISP6PIN программатора.

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

Применение

Благодаря малым размерам и массе Arduino Pro Mini широко применяется для управления всевозможными роботами. Особенно ценны в летающих автоматах мини масса и размеры. Кроме робототехники модуль станет прекрасным пособием при изучении микроконтроллеров студентами вузов. При совместном использовании с другими устройствами из конструктора Arduino можно собирать системы категории «умный дом».

Вверх