Разновидности ардуино и их применение. IT портал Железногорска

В тематическом блоге уже было несколько статей по поводу выбора первого микроконтроллера и начала работы с ним. Не менее интересны были и комментарии к таким статьям. Одна из мыслей, которая несколько раз поднималась там - это что не все, кто имеют интерес к МК, приходят к ним от транзисторов. Некоторые (дай бог, чтобы побольше), приходят к ним со стороны (прикладного) программирования. Рекомендовать таким людям брать в руки паяльник - не разумно, у них и так есть вещи , которые они могут «попаять». Так мы приходим к слову «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

Оригинальный Arduino был разработан для одной специфической задачи, и справился с этой задачей в совершенстве. С успехом первой оригинальной платы Arduino, компания решила создать больше проектов, некоторые из них для очень специфических задач. Кроме того, поскольку оригинальный дизайн Arduino был под открытой лицензией, несколько компаний и частных лиц разработали свои собственные Arduino совместимые платы расширений, или следуя принципам открытого исходного кода, предложили свои изменения в Arduino. Arduino начал программу сертификации для обеспечения совместимости с бордами, которые используют различные процессоры, и Intel Galileo был первым, кто получил подобный сертификат. Любой может сделать свой собственный Arduino-совместимый прибор, но наименование и логотип Arduino зарезервирован как торговая марка. Таким образом, вы найдете множество плат с именами, заканчивающимися на "uino", подразумевающие совместимость.

Arduino сделал дизайн платы с открытым исходным кодом, но они по-прежнему производят платы самостоятельно. Эти платы известны как официальные. Другие компании также делают Arduino совместимые платы.

Arduino Uno


является стандартной платой Arduino и возможно наиболее распространенной. Она основана на чипе Atmel ATmega328, имеющем на борту 32 КБ флэш-памяти, 2 Кб SRAM и 1 Кбайт EEPROM памяти. На периферие имеет 14 дискретных (цифровых) каналов ввода / вывода и 6 аналоговых каналов ввода / вывода, это очень разносторонне-полезные девайсы, позволяющие перекрывать большинство любительских задач в области микроконтроллерной техники. Чип ATmega16u2 на борту управляет последовательной связью. Данная плата контроллера является одной из самых дешовых и наиболее часто используемых. При планировании нового проекта, если вы незнакомы, с платформой Arduino, советую начать с Uno.

Arduino Leonardo

Платформа немного отличается от Uno. На основе ATmega32u4, этот микроконтроллер имеет расширенные возможности USB и, следовательно, не требует отдельного микрочипа для последовательной связи по USB, как Uno. Это означает меньшую стоимость; меньше микросхем - дешевле решение. Это также означает, что разработчик может использовать микроконтроллер в качестве родного устройства USB, увеличивается гибкость при коммуникации с компьютером. Леонардо может эффективно эмулировать клавиатуру и мышь через USB HID.

Arduino Ethernet

Платформа Arduino Ethernet на основе ATmega 328, взятая с Uno , может подключаться к сети Ethernet ,функциональность необходимая во множестве проектов. Физически, платформа Arduino Ethernet имеет те же14-дискретных входов / выходов, как Arduino Уно, с темисключением, что 4 используются для управления модулем Ethernet и встроенным считывателем микро- SD карт, ограничиваяколичество доступных выводов.

Интересноотметить, что Arduino Ethernet имеет дополнительный модуль POE (Power Over Ethernet ). Эта опция позволяет Arduino Ethernet питаться непосредственно от сети Ethernet , без необходимости использования внешнегоисточника питания при условии, что питание POE подключено на другом конце кабеля Ethernet . Без POE Arduino должен быть запитан с помощью внешнего источника питания.

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



Arduino Mega 2560


лиш немного длиннее, чем Arduino Uno, но она имеет значительно больше каналов ввода - вывода. Она имеет в общей сложности 54 цифровых линий ввода / вывода и 16 аналоговых входов. Она также имеет большое количество флэш-памяти: 256 КБ, что позволяет хранить большие программы, чем Uno. Она также имеет немалую SRAM и EEPROM: 8 КБ и 4 КБ, соответственно. Она также имеет 4 аппаратных UART порта, что делает ее идеальной платформой для коммуникаций с несколькими устройствами параллельно.

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



Arduino Mini

Платформа Arduino Mini это крошечное устройство, используемое в проектах, требующих максимальной экономии места. Она содержит 14 цифровых входов / выходов и 4 аналоговых входных контакта. (Еще четыре доступны, но не выведены.) Устройство настолько миниатюризировано, что не имеет ни USB-разъема, ни регулятора мощности ни даже гребёнки для подключения периферии. Программирование осуществляется с помощью внешнего USB или RS232 через TTL последовательный адаптер.



Arduino Micro


полностью соответствует своему названию; это одна из самых маленьких плат из линейки Arduino. Несмотря на свой небольшой размер, она все же имеет большое количество входных и выходных выводов; она имеет 20 цифровых каналов ввода / вывода, из которых 7 могут быть использованы как выходы ШИМ. Она также имеет 12 аналоговых входов. Микро не спроектирована, для наращивания подсоединенными шилдами, но у её такое расположение выводов гребенок, что её удобно размещать непосредственно на макетной плате.



Arduino Due

Контроллер Arduino Due отличается от всех Arduino тем, что он спроецирован не на базе AVR, а на чипе Atmel SAM3X8E архитектуры ARM Cortex-M3. Этот передовой микроконтроллер работает на частоте 84 МГц и является полноценным 32-разрядным устройтвом. Он имеет большое количество дискретных и аналоговых входов / выходов: 54 цифровых канала (12, из которых могут быть использованы в качестве ШИМ) и 12 аналоговых входов. На плате предусмотрены 4 UART, порт SPI, интерфейс Twin-Wire, а так же включает в себя порт JTAG.

Платформа Arduino Due имеет более высокие требования пи питанию и питается от 3,3 В. Будьте осторожны, чтобы не подать 5 В на любой из выводов: в противном случае, вы можете спалить плату. При выборе шилда расширения для Due, убедитесь, что он поддерживает питание 3.3 В.

Arduino Due невероятно мощный Arduino. Due имеет на борту 512 КБ флэш-памяти и в суммарно 96 КБ SRAM. Он может обрабатывать крупнейшие программы на высокой скорости. Если вам нужны мощные вычислительные процессы, то эта Ардуина для вас.

LilyPad Arduino

LilyPad Arduino - довольно интересное устройство. Оно выпадает из привычных стереотипов об обычном Arduino, потому что имеет не прямоугольную, а круглую форму. Во-вторых, оно не поддерживает механические соединения с шилдами. Оно предназначено для, небольших автономных устройство. Круглая форма продиктовала то, что разъемы равномерно распределены по окружности, и его небольшой размер (2 дюйма в диаметре) делает его идеальным для переносных устройств. Это устройство легко спрятать, и несколько производителей разработали устройства, специально для LilyPad: экраны, датчики света, даже коробки для батарей питания, которые могут быть зашиты в ткань. Для того, чтобы сделать LilyPad как можно меньше и как можно легче, на сколько возможно, были принесены некоторые жертвы. У LilyPad нет регулятора напряжения на борту, так что ему для питания будет необходимо обеспечить по крайней мере 2,7 вольт, и не более 5,5 вольт; в противном случае, будет пшик.

Arduino Pro

Контроллер Arduino Pro заявлен в двух версиях, на основе ATmega168 и ATmega328. Версия 168 работает на 3,3 В с тактовой частотой 8 МГц, а версия 328 работает на 5 В и частоте 16 МГц. Обе версии имеют 14 цифровых входов / выходов и 6 аналоговых входов. Контроллер имеет разъем питания батареи JST, переключатель для выбора между режимами питания, и пространство, отведенное для модуля питания, при необходимости. На плате нет порта USB, но вместо него используется кабель FTDI для программирования.

Arduino Pro отличается от большинства других Arduino тем, что являясь отдельной самостоятельной макетной платой, он также может быть использован для расширения функционала других контроллеров в качестве шилда. Он выпускается без портов и привычных гребёнок. Все цифровые и аналоговые входы и выходы расположены по краям платы, сохраняя стандартное для Ардуино расположение отверстий, готовых к припаиванию гребенок или проводов, по необходимости. Вместо использования для прототипирования новых проектов, Arduino Pro больше направлен на окончательный монтаж в готовой продукции. Arduino Pro не разрабатывался самим Arduino, а был разработан и запущен в производство фирмой SparkFun Electronics.

Arduino Robot

Arduino Robot, это попросту говоря, Arduino на колесах. В его состав входят две платы контроллеров - один управляет двигателями на борту, а другой обрабатывает сигналы датчиков. Управляющий контроллер дает команды плате управления двигателями о том, что делать.

Управляющая плата контролируется чипом ATmega32u4, с 32 КБ флэш, 2,5 КБ SRAM и 1 Кбайт EEPROM памяти. Она также имеет внешнее I2C EEPROM устройство, обеспечивая больше места для хранения информации. На борту есть компас, динамик, три светодиода, клавиатура на пять кнопок и ЖК-экран. Она также имеет три вывода под пайку для внешнего I2C устройства. Она также имеет отдельные каналы ввода / вывода, с пятью цифровыми входами / выходами, шестью ШИМ и четырьмя аналоговыми входами. Оставлено место для восьми аналоговых входов (для датчиков расстояния, ультразвуковых датчиков или других) и шести дискретных входов / выходов для других устройств (четыре из которых могут быть использованы для аналогового входа).

Плата двигателей полностью независима, основана на ATmega32u4, тоесть на том же чипе что и плата управления. Плата двигателей имеет в своем составе два двигателя с колесами, запитанных отдельно, пять ИК датчиков, I2C и SPI порты. Она также содержит батарейный блок, в который вставляется четыре аккумуляторные батареи типа АА, а так же содержит гнездо для подзарядки аккумуляторов на борту. Плата может быть также запитана от разъема USB, но в этой конфигурации, из каких-то соображений безопасности, двигатели при этом отключаются.

Arduino Esplora

Arduino Esplora это довольно странное устройство. Большинство плат Arduino предназначены для стационарного размещения на столе или в щите, но Esplora предназначен для держания руками. Основан ATmega32u4, геометрически не совместим с шилдами и не имеет на борту контактов для входов и выходов. Вместо этого, он выглядит и ощущается в руках как геймпад; у него есть курсор под большой палец в виде четырех дискретных кнопок, один аналоговый джойстик, а так же линейный потенциометр. В качестве обратной связи предусмотрены зуммер и трехцветный светодиод. Esplora также имеет следующие датчики: она имеет на борту микрофон, датчик температуры, разъем для подключения ЖК-экрана и трех-осевой акселерометр. У Esplora 32 Кб флэш памяти; 4 Кб используются загрузчиком. Так же имеется 2,5 Кб SRAM и 1 Кбайт EEPROM памяти. Для совместимости Esplora c другими контроллерами, предусмотрены 4 разъёма TinkerKit: с двумя входами и двумя выходами.

Платформа Arduino Yun базируется на чипе ATmega32u4, но он также имеет Atheros AR9331 на одной плате. Процессор Atheros имеет полный дистрибутив Linux, на основе OpenWRT, операционной системы распространенной в беспроводных маршрутизаторах на Linux. Плата Arduino Yun имеет встроенный Ethernet и WiFi, а также слот для micro-SD. Юн отличается от других Arduino и шилдов тем, что у него серьезная сетевая функциональность; Arduino может посылать команды в OpenWRT, и дальше продолжать обработку своего скетча. Оба процессора работают самостоятельно, существующая библиотека обмена данными облегчает коммуникацию между двумя процессорами.

Arduino Tre

Arduino Tre только планируется запустить в производство но обещает стать феноменальным монстром в сфере любительских контроллеров. До этого момента, самым быстрым Arduino был Due, на основе ARM-совместимого микроконтроллера. Tre, созданный Arduino и BeagleBoard, сочетает в себе мощность полного компьютера с гибкостью каналов ввода / вывода платформ Arduino. Tre будет иметь процессор класса Cortex-A8 под названием Sitara AM335X, работающий на частоте 1 ГГц. Этот процессор имеет доступ к 512 Мб оперативной памяти и имеет HDMI порт способный отображать Full HD (1920 х 1080). Вся эта мощь сопряжена с интерфейсом разработчика с помощью Atmel ATmega32u4 используя среду программирования Arduino, столь полюбившуюся фанатам.

Arduino Zero

Arduino Zero это новый Arduino на чипе Atmel SAM D21 микроконтроллера. У него 256 Кб флэш-памяти, 32 Кб оперативной памяти, и работает он на частоте 48 МГц. Arduino Zero предназначен для удовлетворения будущих потребностей сообщества разработчиков, предлагая дизайн, который одновременно является мощным, надежным, и достаточно гибким, который будет востребован в робототехнике и переносных проектах.

Сейчас мы рассмотрим три платформы для разработки встраиваемых приложений: Arduino Uno, RaspberryPi, сравним их и дадим рекомендации по выбору подходящей для вашего следующего проекта (Рисунок 1). В общем случае, для профессионалов можно порекомендовать все три.

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

Плату Arduino Uno с некоторых пор можно считать основным компонентом в сообществе радиолюбителей (Рисунок 2). Сейчас платы Arduino доступны в различных форм-факторах, с различным набором периферии. Большая их часть выполненыа на 8-разрядном микроконтроллере компании Atmel. А не так давно была анонсирована плата Arduino Due на мощном ARM микроконтроллере с ядром Cortex-M3. Для нашего обзора была выбрана Arduino Uno в качестве представителя платформы Arduino. Для нее доступны простая среда разработки и большая база знаний и наработок, что говорит о возможности создания достаточно функциональных приложений.

Плата Raspberry Pi является новичком в «игре» - это одноплатный компьютер, позиционирующийся на рынке как дешевое решение для начинающих разработчиков встраиваемых систем (Рисунок 3). Несмотря на скромный вид и низкую стоимость (около 35$), вы получаете реальный компьютер, который может стать основой для множества проектов.

BeagleBone является, пожалуй, наименее известной из всех трех платформ, но ее возможности заслуживают внимания создателей встраиваемых приложений. Это мощный Linux-компьютер компактных размеров, который поддерживает работу с ОС Android и Ubuntu (Рисунок 4).

Рисунок 4.

Сравнение трех платформ для разработки.

Все три платы имеют определенный функционал и набор периферии, которые делают их ценными для разработчиков и проектировщиков микроконтроллерных систем. Ниже мы постарались сравнить их по некоторым важным параметрам (Таблица 1). Можно заметить, что именно отличия плат делают каждую из них идеальной для разработки определенного типа приложений.

Таблица 1. Сравнение характеристик плат Arduino Uno, BeagleBone, RaspberryPi.

Платформа Arduino Uno Raspberry Pi BeagleBone
Модель R3 Model B Rev A5
Ориентировочная цена 29.95$ 35$ 89$
Габаритные размеры 7.5 × 5.3 см 8.5 × 5.4 см 8.6 × 5.3 см
Микроконтроллер ATmega328 ARM11 ARM Cortex-A8
Тактовая частота 16 МГц 700 МГц 700 МГц
ОЗУ 2 Кбайт 256 Мбайт 256 Мбайт
Flash-память 32 Кбайт SD карта 4 Гбайт (SD карта)
EEPROM 1 Кбайт - -
Напряжение питания 7 - 12 В 5 В 5 В
Минимальное
энергопотребление
42 мА (0.3 Вт) 700 мА (3.5 Вт) 170 мА (0.85 Вт)
Цифровые линии
ввода/вывода
14 8 66
Аналоговые входы 6
(10-битный АЦП)
- 7
(12-битный АЦП)
Каналы ШИМ 6 - 8
Интерфейс TWI/I2C 2 1 2
Интерфейс SPI 1 1 1
Интерфейс UART 1 1 5
Инструменты
разработки
Arduino IDE IDLE, Scratch,
Squeak/Linux
Phyton, Scratch,
Squeak, Cloud9/Linux
Порт Ethernet - 10/100 10/100
Интерфейс USB Master - 2 USB 2.0 USB 2.0
Видео выход - HDMI, композитный -
Аудио выход - HDMI, аналоговый Аналоговый

Arduino и Raspberry Pi - недорогие платы стоимостью до 40$. BeagleBone предлагается по цене почти трех Arduino Uno. Однако Arduino в 40 раз медленнее и имеет в 128,000 раз меньше оперативной памяти, чем два оставшихся участника. Уже на данном этапе вы можете видеть важные отличия. Arduino и Raspberry Pi - дешевые платы, а Raspberry Pi и BeagleBone - гораздо более мощные.

Кажется, что Raspberry Pi выглядит на данный момент оптимальным решением, но это не совсем так: для работы вам потребуется отдельно приобрести карту памяти SD, а это еще 5 - 10$ к стоимости самой платы. Также, несмотря на одинаковую тактовую частоту, по тестам BeagleBone работает вдвое быстрее Raspberry Pi. И как бы парадоксально это не звучало, Arduino является оптимальным выбором, по крайней мере, для новичков. Основной причиной этому является операционная система Linux, под управлением которой работают платы Raspberry Pi и BeagleBone. Это «причудливое» ПО превращает платы в крошечные компьютеры, которые способны выполнять несколько программ одновременно и могут программироваться на различных языках. Разработка же приложений на Arduino очень проста из-за отсутствия многозадачности и программирования на языке низкого уровня Си++.

Заметим интересную особенность Raspberry Pi и BeagleBone: возможность запускать программные приложения с карты памяти (SD-карта для Raspberry Pi, microSD - для BeagleBone). Это означает, что вы можете иметь различные конфигурации ОС, приложения, сборки и образы ОС на разных картах памяти, и выбор того или иного проекта осуществляется просто заменой карты памяти. Таким же образом можно сменить операционную систему.

Выбор платформы для разработки

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

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

Для компактных устройств мы рекомендуем платформу Arduino. Все три тестируемые модели плат для разработки являются малогабаритными. Единственный отрицательный момент присущ Raspberry Pi - установленная в слот карта памяти SD делает плату больше остальных участников теста (Рисунок 8).

Как мы заметили выше, существует очень много вариаций плат Arduino (Рисунок 5), но у всех есть две общие черты: используется определенный микроконтроллер компании Atmel и программный загрузчик (bootloader) Arduino, который реализует базовые функции платы. Для компактных устройств (возможно, не требующих применения печатной платы) вы можете приобрести этот дешевый микроконтроллер и запрограммировать в него загрузчик с помощью любого программатора AVR микроконтроллеров.

Для разработки приложений, требующих подключения к сети Интернет, мы рекомендуем BeagleBone или Raspberry Pi. Оба устройства работают под управлением ОС Linux, имеют порты Ethernet и USB (Рисунок 6). Посредством USB можно подключать модули беспроводной передачи данных и, таким образом, реализовать функции беспроводной передачи данных и подключение к сети Интернет (Рисунок 7). К тому же, ОС Linux имеет множество встроенных программных компонентов, предоставляющих расширенные сетевые функции.

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

Для приложений и систем взаимодействующих с внешними датчиками и исполнительными механизмами мы рекомендуем Arduino или BeagleBoard. Любой вариант аппаратной платформы Arduino подразумевает простое подключения внешних сенсоров и взаимодействие с ними. Для радиолюбителей доступно нескольких вариантов плат с напряжением питания 3.3 В и 5 В, что упрощает подключение внешней периферии. Напряжение питания платы BeagleBone составляет 3.3 В, поэтому в случае подключения некоторых типов внешних устройств необходимо использовать дополнительные резисторы или схемы согласования логических уровней. И Arduino, и BeagleBone имеют интерфейс аналого-цифрового преобразователя (разрешение АЦП, встроенного в микроконтроллер на плате BeagleBoard, несколько выше), что говорит о возможности подключения различных аналоговых датчиков.

С учетом сказанного, важно отметить, что многие современные датчики снабжены цифровыми интерфейсами I 2 C или SPI. Все три платы поддерживают этот тип последовательного интерфейса и реализовать взаимодействие с ним можно довольно легко.

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

Для приложений с графическим пользовательским интерфейсом рекомендуется использовать Raspberry Pi. Одноплатный компьютер Raspberry Pi действительно можно выделить в отдельную категорию, поскольку плата снабжена выходом HDMI (Рисунок 8). Это означает, что вы можете подключить к плате мышь и клавиатуру, а саму плату подключить непосредственно к телевизору. Таким образом, вы получаете полнофункциональный компьютер, который идеально подходит для применения в торговых терминалах и киосках. Мы ради интереса в ходе тестирования установили на Raspberry Pi программные инструменты разработки для Arduino, написали небольшую программу и запрограммировали плату Arduino через интерфейс Raspberry Pi.

Заключение

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

В платформе BeagleBone идеально совмещена гибкость Arduino, производительность процессора платы Rapberry Pi и ОС Linux (и на самом деле, производительность выше, чем у Raspberry Pi). Имея достаточное количество входов/выходов, BeagleBone обеспечивает простое подключение к сети и позволяет реализовать web-сервер.

Arduino — самая популярная платформа любительской и образовательной робототехники. Какую плату или набор Arduino купить начинающему? Как купить Arduino дешево? Чем аналоги Arduino отличается от оригинальной платы? Ответы в нашем обзоре.

Arduino или чтототам-duino

Благодаря открытости Arduino , ее устройство известно и допускает свободную модификацию. Поэтому любой производитель плат может выпускать аналог платы Arduino , вносить изменения в саму плату, не говоря уже о свободной комплектации наборов (kits).


Поскольку Arduino — это бренд производителя, аналоги имеют другие, но обычно созвучные с Arduino названия — Freduino, Freeduino, DCcduino, Xdruino, Funduino , Robotale и множество других. Более того, бренд вообще может быть не указан, а будет присутствовать надпись типа for Arduino . Оригинальные Arduino производятся в Италии, большинство аналогов — в Китае. Есть и российские разработки.

Визуально большинство этих плат выглядит одинаково (на Arduino присутствует фирменный логотип) и даже имеют одинаковый синий цвет (исключения есть, но немного, Funduino, например, красного цвета). Также платы-аналоги Arduino обычно в своем названии имеют такие же приставки, как и сама Arduino, например, DCcduino UNO соответствует Arduino UNO (что такое UNO — ниже).

Безымянный аналог Arduino UNO

Аналоги обычно не уступают по качеству, зато сильно выигрывают в цене (об этом ниже).

Все инструкции, все методические разработки, уроки и т.п., ориентированные на Arduino, в полной мере подходят и для аналогов. Поэтому, если имидж для вас ничто, то смело берите другие -duinы!

Arduino Starter Kit

Производитель рекомендует начинать изучение Arduino с набораArduino Starter Kit . Этот комплект содержит плату и другие электронные компоненты, необходимые для начального изучения Arduino: светодиоды, резисторы, сервопривод, мотор, кнопку, жидкокристаллический экран, пьезоэлемент, датчики и прочее.

Чтобы купить Arduino Starter Kit у официального производителя , придется заплатить около 80 евро.

Аналоги значительно выигрывают в цене при схожей комплектации. Самые низкие цены на них в китайских интернет-магазинах. Сравнивая цены на наборы, конечно нужно учитывать и их состав. Так, Starter Kit for Arduino с платой DCcduino на сайте AliExpress стоит чуть менее $34 — комплектация похожа на оригинальную. Несколько меньшая комплектация у Starter Kit for Arduino с платой Robotale на сайте DealExtreme cтоит $28. Доставка в Россию бесплатная на обоих сайтах.

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

Starter Kit for Arduino

У меня самого случилась интересная история. Я заказывал в DX такой набор — как видно на фото там идет неоригинальная Arduino, а пришел вполне итальянский Arduino! Мелочь, а приятно.

Покупка готового Arduino-робота как начало обучения

О покупке готовых роботов как способе первоначального знакомства с Arduino мы уже . В продаже имеется огромное множество таких наборов на основе Arduino. Детям младшего возраста, такой способ знакомства с Arduino предпочтительней, так как это готовая игрушка, в которую можно поиграть, а затем разобрать и использовать плату Arduino и другие компоненты в обучении.

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

На фото популярный Arduino-робот — , стоимостью менее 100$.

Машинка, управляемая по Blutooth

Выбор модификации Arduino для начинающего

На официальном сайте производителя Arduino представлены 20 модификаций Arduino платы. Среди них Arduino Uno, Arduino Due, Arduino Leonardo и другие.

Arduino UNO и аналоги

Имеет наибольшую популярность, обычно входит в состав вышеописанных наборов (kits) и, пожалуй, ее можно назвать стандартной Arduino-платой. Это одна из самых дешевых Arduino-плат.

На официальном сайте Arduino UNO можно купить за 20 евро + доставка. В крупных российских интернет-магазинах, в том числе и у официальных дистрибьюторов, она продается по 1150-1300 рублей. Обычно в Москве и Санкт-Петербурге вы можете забрать самовывозом (рекомендуем интернет-магазины и DESSY), а в другие регионы придется платить еще и за доставку. Выходит дороговато. Хотя иногда можно встретить магазины с низкими ценами и в России. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore . Цена будет все равно повыше чем в Китае, но ждать посылку намного меньше.

Оригинальную Arduino UNO также можно купить в китайских магазинах, но надо внимательно смотреть на описания и фотографию (в текстах описаний не всегда это явно видно). Впрочем, описания иногда бывают ошибочны (как я уже написал выше). Цена, конечно, получается ниже, чем в российских магазинах.

Как и в случае с kitовыми наборами, очень дешево можно купить аналоги Arduino. Например, практически идентичный аналог DCcduino UNO на dx.com стоит менее $10, а на aliexpress вообще $5,50!

DCcduino на AliExpress за $5,5

Другие модификации Arduino плат

Давайте рассмотрим, какие из плат удобны начинающему для знакомства с основами электроники.

Пойдем методом исключения.

Сразу отказываемся от 4 модификаций платы Lilly Pad — они предназначены для «электронного текстиля» — вшивание светодиодов в одежду и т. д. Позже мы напишем о них.

Arduino Lilly Pad

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

USB-порта НЕ имеют платы: Arduino Mini, Pro, Pro Mini.

Если вы хотите познакомиться с основами электроники, вам не очень подойдут «навороченные» платы: Esplora, BT, Ethernet, Tre, Yun, Robot .

Остаются UNO, Leonardo, Due, Micro, Mega ADK, Mega 2560, Nano, Fio.

Если для расширения платы вы будете вставлять Shield’ы (в их виде выполняются драйвера моторов, платы с дополнительными разъемами и т. д.) — надо учесть, что они имеют стандартный формат, которым не обладают Micro и Fio.

Надо сказать, что нестандартным размером обладает и Arduino Nano, но зато ее легко вставить в Breadboard — ее ножки находятся на нижней стороне платы.

Сравним цены оставшихся плат на Arduino Store:

  • UNO — 20 евро,
  • Leonardo — 18 евро,
  • Due — 36 евро,
  • Mega 2560 — 29 евро,
  • Mega ADK — 44 евро,
  • Nano — 33 евро.

В упомянутых китайских магазинах можно найти аналоги по значительно низкой цене.

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

Платы отличаются:

  • микроконтроллером и частотой его работы (ATmega328 — 16 мГц, ATmega32u4 — 16 мГц, ATmega2560 — 16 мГц и другие),
  • входным и выходным напряжением на плату,
  • количеством аналоговых входов и выходов,
  • количеством цифровых портов, в том числе поддерживающих ШИМ,
  • объемом флэш-памяти.

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

Аналог Arduino Leonardo

Краткие характеристики некоторых плат:

: микроконтроллер ATmega328, 14 цифровых портов, в т.ч. 6 с ШИМ, 6 аналоговых входов, 32 KB Flash-память, USB-порт типа B.

Arduino Due: микроконтроллер AT91SAM3X8E, 54 цифровых порта, в т.ч. 12 с ШИМ, 12 аналоговых входов и 2 аналоговых выхода, 512 KB Flash-память, 2 MicroUSB порта.

Arduino Leonardo: микроконтроллер ATmega32u4, 20 цифровых портов, в т.ч. 7 с ШИМ, 12 аналоговых входов, 32 KB Flash-память, MicroUSB порт.

Все цены приведены на дату публикации поста.

Как выбрать Arduino Данный вопрос возникает у всех, кто впервые решился создать проект с использованием Arduino. Определились с необходимыми деталями: сенсорами, датчиками, модулями и т.д., и столкнулись с немалым ассортиментом плат Arduino, в добавок у каждой платы еще и по два, три аналога. Некоторые думают, что чем дороже и мощнее - тем лучше, приобретают серьезные решения, как например Arduino Due, а потом понимают, что на нем работают не все скетчи, и самостоятельно справиться со всей мощью данного девайса, для них трудно. Другие идут по противоположному пути и сталкиваются с нехваткой ресурсов (память, выводы, порты, тактовая частота, питание). Как же найти ту золотую середину′ Попробуем разобраться...

Плата Плюсы Минусы

Arduino Uno

функционал как у ProMini и Nano
  • Плата является самой распространённой в семействе Arduino, именно для неё создано наибольшее количество уроков
  • Благодаря наличию DIP панели, можно менять микроконтроллер
  • При одинаковом функционале с Arduino ProMini, Nano и Micro плата имеет в разы большие размеры

Arduino Mega 2560

  • Подходят shield созданные под Arduino UNO
  • Максимальное количество выводов
  • Расширенный объем всех видов памяти
  • Нельзя установить на Breadboard без использования проводов

Arduino Leonardo

функционал как у MICRO

  • Подходят shield созданные под Arduino UNO
  • Плата является усовершенствованной версией Arduino UNO и работает с большинством её скетчей
  • Нельзя установить на Breadboard без использования проводов
  • Некоторые скетчи созданные под Arduino Uno не работают на Leonardo, т.к. используются разные микроконтроллеры

Arduino Due


  • Количество выводов как у Arduino Mega
  • Внедрены два аналоговых выхода
  • Используется мощный 32 разрядный микроконтроллер с тактовой частотой 84МГц
  • Нельзя установить на Breadboard без использования проводов
  • Самый большой размер платы во всём семействе Arduino
  • Не все скетчи предусматривают столь высокую тактовую частоту
  • Не все shield предусматривают передачу сигналов с граничным напряжением 3,3В
  • Напряжение питания 3,3В

Arduino ProMini 3.3V

функционал как у Nano и UNO


  • Самая маленькая тактовая частота микроконтроллера, всего 8МГц
  • Напряжение питания 3,3В

Arduino ProMini 5V

функционал как у Nano и UNO

  • Можно использовать для конструирования схем на Breadboard
  • Самая миниатюрная плата в семействе Arduino
  • Поставляется без впаянных штыревых контактов, что позволяет использовать навесной монтаж
  • Не подходят shield созданные под Arduino UNO
  • Нет контроллера USB, в связи с чем требуется внешний программатор

Arduino NANO V3.0

функционал как у ProMini и UNO


  • Можно использовать для конструирования схем на Breadboard
  • Плата незначительно больше чем Arduino ProMini, но имеет порт USB и не требует использования внешнего программатора
  • Не подходят shield созданные под Arduino UNO
  • Внедрение порта USB cконтроллером, привело к увеличению объёма flash-памяти выделяемой под загрузчик (по сравнению с Arduino ProMini)

Arduino MICRO

функционал как у Leonardo


  • Можно использовать для конструирования схем на Breadboard
  • Плата незначительно больше чем Arduino Nano, но имеет весь функционал Arduino Leonardo
  • Есть возможность имитировать различные USB устройства при подключении к ПК (плата будет определяться как мышь, клавиатура и т.д.)
  • Не подходят shield созданные под Arduino UNO
  • Передача функции контроллера USB на микроконтроллер, привело к увеличению объёма flash-памяти выделяемой под загрузчик

Первый вопрос влияющий на выбор Arduino - какой проект Вы хотите реализовать′

Если Вы хотите создать уже готовый проект , любезно предоставленный другими разработчиками, то логичным приобретением будет та Arduino, на которой проект был создан изначально. Здесь стоит отметить тот факт, что теперь, на территории РФ платы Arduino распространяются под торговой маркой Geduino. То есть, как Вы правильно поняли, Arduino Micro отличается от Geduino Micro названием и логотипом (это не аналог), о чем написано на официальном сайте . А так как последняя стоит дешевле, то выбор очевиден.

Если Вы не определились с проектом , но хотите приобрести Arduino для собственных экспериментов, то немаловажным фактором является количество различных примеров в сети, под ту или иную Arduino. Тут несомненным лидером является Arduino UNO , это объясняется тем, что данная плата является старшей в линейке Arduino, при этом не является устаревшей, так как претерпела не мало изменений с момента создания.

Если Вы собираетесь реализовать собственный проект , то к выбору Arduino стоит подходить методом исключения. Если в Вашем проекте имеются модули с выводами под Arduino Uno , тогда исключаем Arduino ProMini 3.3V , Arduino ProMini 5V , - аналог Arduino Nano ), но могут иметь другой тип USB разъема, немного отличаться по габаритам, иметь иной контроллер USB, иной тип корпуса микроконтроллера, цвет платы и т.д. Здесь нужно понимать, что данные платы повторяют функционал их оригинала (на который они похожи названием), так как используют тот же микроконтроллер ATmega, той же серии. Габариты платы, корпус микроконтроллера и тип USB порта, можно определить по фото. А наличие «CH340G» в названии, означает о том, что в качестве контроллера USB используется не стандартный для Arduino чип FTDI, а его аналог CH340G, следовательно, для подключения такой Arduino к компьютеру, нужно установить драйвер для чипа CH340G . Данные платы подойдут тем, кто считает, что однократная установка драйвера не является неудобством, а пониженная цена - является преимуществом перед оригинальным названием.

В продолжение темы:
Мобильное

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

Новые статьи
/
Популярные