Периодически команда Arduino радует нас новыми платами, расплодили итальянцы их уже много, наклонировано и понавыдумано мировым сообществом ещё больше, попробуем разобраться, что нужно именно вам.
Для тех кому лень читать, озвучу важный вывод с некоторым опережением.
Все «размеры» и разновидности ардуино-плат абсолютно совместимы друг с другом — если вас заинтересовал проект на ArdinoNano — ничто вам не помешает реализовать его на обычной Ardino(Freeduino) или ArdinoMega(SeeduinoMega), причём ни в коде ни в схеме переделывать ничего не придётся. Можно и наоборот, например, с «меги» на «мини» — лишь бы выводов/памяти хватило (часто в проектах применяются откровенно избыточные платы), изучайте характеристики. Так же никакой разницы нет в выборе конкретной платы внутри размерного ряда — берём проект для ArduinoDiecimila(DFRduino) и спокойно делаем его на UNO(CraftDuino) и наоборот!
Тем более нет НИКАКОЙ принципиальной разницы, кто сделал эту плату и как она называется — это не айфон — качественно можно собрать такую плату и в подвале.
Ниже обо всех нюансах, подробно и с картинками.
Как известно, ардуино придумали в Италии, оригинальные платы там и делают. С них и начнём.
Оригинальные платы.
Сами итальянцы выпускают плату в нескольких основных форм-факторах:
Ardino xxx — стандартный размер, 20входо-выходов, полная совместимость со всеми шилдами .
ArdinoMega xxx — увеличенный размер, 70входо-выходов, совместимость не со всеми шилдами.
ArdinoNano xxx — уменьшеный размер, 22входо-выхода, не совместима с шилдами.
ArdinoMini ххх — ещё меньший размер, 20входо-выхоов, не совместима с шилдами, не имеет USB.
Весь итальянский зоопарк можно увидеть тут.
Ardino xxx
Стандартный и самый распространённый размер. Когда говорят «ардуина» («обычная ардуина») — обычно все сразу представляют именно такие платы.
Самые первые платы были в этом этом форм-факторе, соответственно именно он пережил больше всего реинкорнаций (USB-версии в хронологическом порядке выхода):
Extreme, NG, Diecimila, Duemilanove, Uno, Leonardo.
Вы не поверите, но ощутимая разница для пользователя наблюдается только в Леонардо=))
Сейчас на оф. сайте предлагается к покупке только Leonardo и Uno, однако интернет завален вариантами Duemilanove (наша CraftDuino именно её разновидность=) и не зря — всё что нужно среднему пользователю было воплощено ещё в Ardino Extreme, с тех пор поменялось крайне мало=)
Все эти платы имеют одинаковое количество входов-выходов, собранных на одинаковые разъёмы (для подключения перефирии и шилдов), программируются по USB, и имеют микроконтроллер ATMega на борту. На ранних версиях стоял ATMega8, потом стали ставить ATMega168, потом ATMega328.
На «восьмёрке» только 3 ШИМ выхода, 8Кб под скетч 1Кб оперативки, но для многих приложений хватает=) У ATMega168 уже 6 ШИМ каналов и 16Кб под ваши нужды, а у 328-й 32Кб под программы и уже 2Кб оперативки. Кстати не вся флеш-память доступна пользователю, часть её занимает бутлоадер.
На всех платах до UNO стоял чип-преобразователь USB-UART FT232, позволяющий втыкать плату прямо в USB и программировать без программатора. При втыкании в системе появлялся виртуальный COM-порт, который и используется средой разработки Ардуино для программирования.
UNO
На UNO решили заменить хардварный преобразователя USB-UART, на микроконтроллер Atmega8U2 (в более поздних ревизиях 16U2)- в него залита специальная прошивка, делающая ровно то же что и FT232.
Что это дало?
Поднялась скорость прошивки — теперь вместо ~10секунд надо ждать ~3c =)
А главное, в этот МК-конвертор можно залить свою прошивку, и превратить ардуино в мышку, клавиатуру или миди устройство… наверняка кому-то это очень надо=)
Только делается это как-то не очень по-ардуиновски, и примеров пока крайне мало=( ИМХО, фича, совсем не для начинающих.
Так что, если ваша цель изменение протокола обмена платы и компа, вы хотите делать трушную клаву-мышь-МИДИдевайс ( вот, кстати, «не трушный» миди-пульт, на самой обычной ардуине=) тогда конечно вам нужна именно UNO. И если вам предстоит писать объёмную прошивку для этого (использовать исходники большого объёма), тогда нужно искать последнюю ревизию UNO — с Atmega16U2 (у неё в два раза больше памяти программ)
Да, тут ещё стоит оговориться — эта Atmega8U2/16U2 на самом деле делает не ровно то же, что FT232, она не реализует очень удобной фичи — BitBang-а, так что превратить плату в программатор таким нехитрым образом уже не получится.
Но всё же можно.
«стандарт» arduino 1.0 pinout
Ещё зоркие должны были заметить появление новых пинов на разъёмах UNO. Ага, появились — на «верхнем левом» коннекторе — SDA и SCL — пины интерфейса i2c, но они дублирующие (SDA и SCL и так сидят на 4 и 5 аналоговых входах) и функционал это не расширяет. Плюс «нижний левый» коннектор подрос, то же на 2 пина — резервный и IOREF. Резервный пин болтается в воздухе — никуда не подключен, а на IOREF глухо засажен на 5 вольт (схема). Когда-нибудь это всё, наверное пригодится…а на данный момент — старые шилды встают в UNO, как родные, новые шилды (коих пока крайне мало 1, 2 3 4 ), полностью совместимы со старыми платам хотя и грозят уткнуться в неё новыми пинами — их, возможно, придётся подогнуть или откусить.
Резюмируя моё сугубо личное мнение — нет никаких поводов гоняться именно и только за UNO, кроме случая когда вы собираетесь переписать прошивку USB-UART конвертора, а если вы не знаете что это — то вам точно нет никакой необходимости именно в уне=)
Тут всё то же про уну но по-короче=)
Leonardo
Вот это действительно шаг вперёд — всё на одном чипе, USB независим ни от UART ни вообще от каких бы то ни было пинов!
Итак, плата построена на ATmega32u4 и по сравнению с предыдущими моделями прокачалась.
На 0,5кБ увеличилась оперативка, ШИМ-выходов стало на 1 больше, аналоговых входов стало 12 (6 сидят где у всех Ардуино-плат, новые +6 разбросаны по цифровым пинам) и, как уже говорилось, разделены USB и UART.
Так же незатейливо поддерживаются, не только виртуальный ком порт, но и мышь и клавиатура, гораздо проще чем это реализовано в UNO.
Ну и, конечно, разъём micro-USB=)
Правда «шаг вперёд» вышел с нюансами — долго боролись с разнообразными глюками и затягивали выход, пара всё-таки осталась (функции tone и attachInterrupt), к тому же бутлоадер теперь занимает 4кб! А ещё в любой скетч для леонардо пихается поддержка USB — blink для Duemilanove/UNO займёт 1084 байт, а для Leonardo — 4858 байт=\
Физически леонардо имеет ту же разводку что и UNO, так что так же совместим со старыми шилдами.
ArdinoMega xxx
Серия прокачанных плат (по размеру и характеристикам) представлена моделями (в хронологическом порядке): Mega, Mega2560 и Arduino ADK.
В платы успешно втыкаются почти все шилды, но из-за разного (с «обычными» ардуинами) расположения выводов SPI-интерфейса, шилды использующие его с цифровых пинов 11,12,13 будут не совместимы. Пример — старый эзернет шилд. На новом SPI берётся со стандартной вилки ISP и всё отлично работает и на «мегах», и на «обычных» дуинах.
На платах куча выводов:
54 цифровых
из них 15 — с ШИМ
16 — аналоговых,
Куча памяти:
128/256кб — флэш,
8кб оперативки,
4кб еепрома
и целых 4 хардварных UART-а!
«Мега» построена на ATmega1280, а «2560» и «ADK» на ATmega2560, поэтому различаются платы обьёмом памяти, к тому же у свежих — 2560 и ADK — USB-часть выполнена на ATmega8U2 (на более поздних ревизиях 2560 — на ATmega16U2), тут всё как у УНО.
А у ADK ещё и USB-host имеется, от которого ожидается большая дружба с Android-телефонами=)
ArdinoNano
Маленькая платка с mini-USB. Шилды к ней не подходят, но сама она удобно втыкается в макетку.
Ранние версии использовали ATmega168, сейчас стоят 328.
В качестве USB-UART моста стоят FT232.
ArdinoMini
Ещё меньшая плата. (Да-да, именно, тут какой-то исторический ляп — ардуино мини, почему-то значительно меньше ардуино нано=)
Пережила несколько версий — имеющих незначительные отличия в назначении некторых выводов.
С шилдами не совместима, но удобна для встраивания в законченные девайсы — ничего лишнего.
На мини нет USB — программируется она с помощью переходника USB-Serial (например на базе той же FT232).
Так же на плате стоит весьма маломощный стабилизатор, а из светодиодов — только индикатор питания и то на последних версиях=).
Есть варианты платы работающие на 3,3В и 8МГц, раньше ставили ATmega168, сейчас стоят 328.
Тээкс, разобрались с итальянскими оригиналами, пройдёмся по творчеству остальных ардуино-делов.
Проект ардуино — полностью открытый (доступна вся техническая документация необходимая для производства) и платы благополучно копируют и творчески перерабатывают все кому не лень=)
Ограничение касается только названия «Arduino» — его нельзя использовать для обзывания не итальянских плат (китайцы, естественно, плевали=) поэтому более законопослушные производители изгаляются с производными, много уже напридумали, кстати=)
Всё, что наплодили неитальянцы, можно условно разделить на три группы: «клоны», «совместимые» и «ардуино-подобные».
Клоны
Тут всё просто — берём документацию с сайта ардуино и тупо сдаём на производство, при желании изменив цвет маски и название (некоторые китайцы не желают=)
Такие платы («клоны») полностью повторяют ардуину и полностью совместимы с ней. То есть, разница между клоном и оригиналом — только в производителе (+иногда в цвете=) — соответственно различия могут быть только в качестве сборки, качестве компонентов, строгости выходного контроля. С качеством — всё на совести производителя/продавца и на ваше эстетическое восприятие/везение.
В целом, повторюсь — не айфон, никаких космических технологий для сборки таких плат не нужно, и обеспечить достойное качество вполне может средний китайский подвал=) ИМХО за оригиналом гоняться особого смысла нет.
Да, чуть не забыл, у оригинальных плат в комплекте коробочка из тонкого, экологически чистого, цветного картона. И брошюрка с заверениями об экологичности и протестированности платы, а также повествующая, о том, что производители отказываются нести ответственность за использование платы в аэрокосмических/автомобильных/военных/ядерных/медицинских целях=)
видео распаковки)
Совместимые
Некоторые, наверное, более сознательные товарищи, пошли не путём копирования, а решили что-то добавить в проект (помимо своего названия и цвета маски) и повыдумывали ворох своих плат полностью совместимых с ардуино — условно их можно назвать «совместимыми переработками» (переосмыслениями=)
Например:
Freeduino
Freetronics Eleven
Seeeduino
CraftDuino
Diavolino
Japanino
и ещё многие-многие=)
Как правило доработки и переработки носят довольно эстетический характер (не несут принципиальных изменений функционала или характеристик) иначе платы потеряли бы совместимость. Обычно это дополнительные разъёмы, другое расположение светодиодов и кнопок, своя разводка, применение других компонентов (в других корпусах, других размеров), другие схемы питания, сброса, USB-части.
Повторюсь, этот класс плат полностью совместим с ардуино — и шилды можно втыкать и с ИДЕ работают как родные. Ярчайший пример — указанные на оф. сайте у итальянцев плата ArduinoPro (упрощена схема питания и убрана USB-часть) на самом деле их придумали и делает Sparkfun=)
Естественно, основным размером плат не ограничиваются — есть версии и мини- и нано- и мега- совместимых переработок, правда в этих случаях совместимость не такая уж важная вещь.
Тут я всё талдычу совместимо-несовместимо, пора уточнить что имеется ввиду.
Совместимость с ардуино складывается из двух вещей:1.Совместимости с платами расширениями — шилдами. Для этого расположение и вид разъёмов должен быть как на итальянской Arduino Duemilanove/UNO. Так, например, самая что ни на есть итальянская-оригинальная «Нано» с шилдами не совместима=)
Естественно провода и скотч никто не отменял — соединить можно что угодно=)2.Програмная совместимость. (программная часть проекта ардуино — это среда разработки(ИДЕ), библиотеки и скетчи)
На платах ардуино установлены микроконтроллеры фирмы Atmel, семейства ATMega — ATMega8/168/328 — на всех кроме Мега(ATMega1280/2560) и Леонардо(ATMega32U4).
Обычно тактируются эти МК кварцевым резонатором на 16МГц (Реже 8МГц)
Питаются МК на платах от 5В (реже 3,3В)
Загрузка скетчей происходит через бутлоадер(специальная программа-загрузчик заранее прошитая в МК), хотя в последних версиях среды появилась опция прошивки скетча через программатор, так что это уже, пожалуй, не критерий=)
Так вот, ЛЮБАЯ плата удовлетворяющая перечисленным условиям (Тип контроллера, частота, напряжение питания, наличие бутлоадера) сможет использовать все наработки сообщества Arduino — и скетчи, и библиотеки, и писать всё это можно будет в той же среде Arduino, и загружать оттуда же.
При наличии прямых рук, можно подпилить библиотеки для использования не в среде ардуино или среду для использования плат с нехарактерными МК или частотами их работы. Но вроде как у нас тут начинающие рассматриваются — какие правки среды и библиотек?!
Так что будем считать программно совместимыми только те платы, которые корректно заработают без всяких допиливаний.
Ардуино-подобные
Некоторые идут дальше и вносят более существенные изменения теряя совместимость (с шилдами) такие платы можно назвать ардуино-подобными.
К ним можно смело отнести, расположенные в официальном зоопарке:
ArdinoFio — плата для портативных устройств с питанием от литиевых батарей.
LilyPad — круглая плата для «электронной одежды»
ProMini, значительно отличающаюсяя версия ардуино мини.
Всех их, тоже выдумал и клепает Sparkfun=)
Менее известные общественности примеры — древняя Roboduino — плата для управления кучей сервоприводов. Несмотря на общие с ардуиной очертания — шилды в неё втыкать не выйдет, да и не предполагалось=)
Менее похожая на родоначальника Rainbowduino, — для управления светодиодными матрицами,
и ни на что не похожая гибкая версия Seeeduino Film от Seeedstudio.
Или вот ещё мегакомбайн-всё-в-одном DINo Internet Ethernet IO board тоже совместим лишь программно.
Собственно, как мы уже сказали, ардуино-подобной может считаться (и является) любая плата с ATMega8/168/328/32U4/1280/2560, 16/8Мгц, 5/3,3В, так что в этом месте классификация/перечесление срывается в бесконечность=)
Использованы фотографии с
arduino.cc
robocraft.ru
freeduino.org
freeduino.ru
dfrobot.com
yourduino.com
evilmadscientist.com
seeedstudio.com
kmtronic.com
store.curiousinventor.com
syslab.asablo.jp
freetronics.com
По теме
Ардуино что это и зачем?
Почему Arduino побеждает и почему он здесь, чтобы остаться?
Arduino, термины, начало работы
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)
Возможные ошибки при работе с Arduino
Купить контроллер Arduino или CraftDuino — можно в нашем Магазине.
0 комментариев на «“Разновидности плат Arduino, а также про клоны, оригиналы и совместимость”»
те я правильно понял что на Leonardo можно организовать обмен данными с компом через USB и одновременно с каким либо модулем через Uart?
на USB данные отправляются не через UART? или через USB данные вообще можно передавать?
Да, в Леонардо UART и USB раздельные и друг другу не мешают.
а что за плата arduino NG
ЕМНИП NG — «nuova generazione» — новое поколение. Старинная плата отличающаяся от классической Duemilanove, отсутствием автовыбора питания.
В статье есть ссылка на описание — https://www.arduino.cc/en/Main/Boards.