В тематическом блоге «Программинг микроконтроллеров» уже было несколько статей по поводу выбора первого микроконтроллера и начала работы с ним. Не менее интересны были и комментарии к таким статьям. Одна из мыслей, которая несколько раз поднималась там — это что не все, кто имеют интерес к МК, приходят к ним от транзисторов. Некоторые (дай бог, чтобы побольше), приходят к ним со стороны (прикладного) программирования. Рекомендовать таким людям брать в руки паяльник — не разумно, у них и так есть вещи, которые они могут «попаять». Так мы приходим к слову «Arduino», которое уже многие слышали. Среди бывалых с паяльниками существует стереотип — Arduino это платка на AVR для ленивых. Так ли это? Эта статья — попытка наглядно показать, что Arduino — это не про AVR и не про лень, Arduino — это архитектурно-независимая электронно-механическая платформа совместимых компонентов, по (относительной) значимости не менее важная, чем (в свое время) IBM S/360, IBM PC или USB.
![](https://habrastorage.org/r/w1560/getpro/geektimes/post_images/a83/0a8/0ee/a830a80ee542b24276b3a38fd1dca59a.png)
Дойдя до второй части обзора, читатель увидит, что Arduino-совместимые платы на современных мощных 32-битных контроллерах стоят не много больше, а иногда даже меньше, чем на оригинальной AVR архитектуре. И все же сначала AVR. Почему? Потому что мэтры говорят, что рано или поздно захочется собрать свое устройство. И я им верю. Верю, что однажды я возьму 8-ногий ATtiny в DIP корпусе, засуну его в картонку и включу паяльник. И я буду знать, что делать дальше — ведь я уже все отпрототипировал на Arduino AVR.
Это предпоследняя версия официальной Arduino, и большинство совместимых плат, которые сейчас присутствуют на рынке, основано именно на схемотехнике Duemilanove. Она включает микроконтроллер ATmega 328 (в прошлом десятилетии (читай: до 2010г) ставили и ATmega 168) и USB-Serial преобразователь FTDI FT232RL. $25
![image](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/214/ab8/0e5/214ab80e53eb1e30c9209f97eda4230f.jpg)
Текущая версия официальной Arduino. Пока на рынке мало альтернативных реализаций, но они начинают появляться, одна включена в этот обзор. Основное отличие от Duemilanove — замена популярного, а значит, не по начинке дорого, чипа FT232RL на… ATmega8U2. Да-да, в Uno фактически два микроконтроллера AVR, причем один — с аппаратным USB. Почему два, почему не поставить один? Вопрос совместимости, дружественности для новичков и для собственных разработок. Микроконтроллеры с аппаратным USB судя по всему есть только в SMD корпусах, поэтому использовать такой в своих разработках или заменить вышедший из строя на плате будет нелегко. Поэтому лучше использовать старый-добрый ATmega328 в DIP-панельке, а ATmega8U2 оставить на будущее. Судя по тому, как уверенно Uno завоевывает позиции — на ближайшее будущее. $30
![image](http://www.seeedstudio.com/depot/images/product/arduno1.jpg)
Существует множество клонов Arduino Duemilanove, которые копируют ее фактически один в один. Но мы ждем от конкуренции прогресса и улучшения, а не простого «передирания», дозволенного открытой лицензией. Iteaduino — хороший пример, когда разработчики «сделали свое домашнее задание». Многие электронные компоненты требуют питания 3.3в, что требует дополнительного сопряжения уровней при работе с классическим Arduino. Iteaduino же позволяет запитать плату 3.3в или 5в на выбор (переключателем на плате). «Соль» применения Arduino конечно же в подключении внешних устройств ввода-вывода, и для простых устройств сложился де-факто стандарт интерфейса GVS (Ground-Voltage-Signal). Для приятного (без паутины проводов) подключения таких устройств к классическому Arduino придется докупать шилд, а в Iteaduino соответствующие разъемы есть прямо на плате. Кроме того, улучшена эргономика — в оригинальном Arduino при надетом шилде нельзя добраться до кнопки Reset (поэтому многие шилды дублируют ее) и плохо виден светодиод, а в Iteaduino они размещены на краю платы с возможностью доступа. $25
![image](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/1c3/107/408/1c31074087d4e8400f9844d5a741433d.jpg)
Благодаря стандарту Arduino можно создавать не только платы общего назначения, но и специализированные платы, которые все также будут легко расширяться существующими компонентами. Одна из идеальных применений для Arduino — разработка автономных беспроводных узлов-агентов распределенной системы контроля и управления. Платы Seeeduino Stalker разработаны именно для такого применения. В версии 2 на плате установлен контроллер зарядки литиевого аккумулятора с возможностью подключения солнечной панели, часы реального времени (RTC) с питанием от супер-конденсатора, microSD-слот, сокет *Bee (в оригинале XBee для протокола ZigBee, но уже есть BTBee в том же формфакторе) и разъемы I2C. $39
![image](http://www.seeedstudio.com/depot/images/product/stalkerv2z1.jpg)
Вы начинающий, любите переплюсовывать питание и хвататься за оголенные GPIO наэлектризованными руками? Или подключаете датчики проводами по 20 метров, а иногда вокруг бьют молнии? Или используете Arduino в производственных целях, где требования по защите и надежности повыше? Ruggeduino поможет вам, одного взгляда на него будет достаточно, чтобы проникнуться уважением и понять, что это настоящий индустриальный Arduino. $40
![image](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/11b/0d3/9d3/11b0d39d33d45480c432d7cfaccbebd8.jpg)
Плата для роботостроения, содержит на плате множество интерфейсных разъемов, драйвер двигателя, кнопки. $36
![](http://www.dfrobot.com/image/cache/data/DFR0004/15-70-thickbox-500x500.jpg)
Российский вариант Arduino с улучшенной эргономикой (доступ к светодиодам и Reset) и возможностями: на плате присутствует разъем для всех выводов чипа FT232, что позволяет использовать его для bitbang-приложений (программатор различных МК, JTAG и т.п.), и возможность допаять дополнительные выводы для установки CraftDuino на беспаечную макетную плату (breadboard). $30
![](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/dfd/05a/625/dfd05a625d65b819c6d6e56acf9cc812.jpg)
Итак, мы выросли из AVR, но все наши шилды, сенсоры, сервы с нами. И мы не заставим их пропадать, ведь они для Arduino, а не для AVR. Мы также и дальше не будем поддаваться стереотипам, что есть только какой-то ARM, и какой-то Cortex. Все много интереснее!
Каждый студент знает, что AVR — это хорошо, а PIC — это плохо. Однако, не стоит это распространять на все семейства МК. PIC32 — вполне нормальный процессор с архитектурой MIPS. А MIPS — одна из лидирующих RISC-архитектур. По сравнению с ARM у нее есть одно достоинство — она не столь медиа-популяризирована, поэтому лицензионные отчисления за MIPS меньше, а процессоры в среднем — дешевле, и лидируют в отельных рыночных сегментах, таких как раутеры. Например, Arduino-несовместимая плата в корпусе, с Ethernet, WiFi и USB-хостом стоит менее $50 даже в этой стране, ARM'у такое и не снилось. Но сейчас мы рассматриваем Arduino совместимые, и ChipKIT не заставит скучать при частоте 80МГц. 20EUR
![](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/651/fbb/8a1/651fbb8a1078baed6bd1453c38e5b0e9.jpg)
Cortex снова подождет. На сцене — классика ARM, ядро ARM7, в лице чипа от любимого вендора AT91SAM7X512-AU. На своих 48МГц он даже щелкает .NET Micro Framework! $35
![](https://habrastorage.org/getpro/geektimes/post_images/0a6/e01/260/0a6e01260fc841df483c3bf668aa942d.gif)
Конечно же, в managed коде писать легче, так что парад .NET MF продолжается. Эта плата идет под маркетинговым чипом «USBizi», который на поверку оказывается NXP LPC2387 с соответствующим firmware. На 72МГц он наверное мог бы играть MP3. Только не в .NET коде, конечно. $40
![](http://www.ghielectronics.com/images/fpn2_features.jpg)
Ну вот добрались и до героя нашего времени — фирмы STMicroelectronics, которая люто-бешено демпингует свои Cortex-M чипы. Новая 16-битная система команд Thumb2 вместо классической 32-битной — это ли тот ARM, каким мы его знаем? Впрочем, не важно, главное, чтобы GCC компилил в него оптимально. А ассемблерный код бывалые допилят ручками. 20EUR
![](http://www.olimex.com/dev/DUINO/OLIMEXINO-STM32/OLIMEXINO-STM32-1.jpg)
Arduino-совместимость может быть и ограничением — ведь 32-битные многолапые процессоры имеют куда больше, чем классические 14 GPIO и 6 ADC от Arduino. Собственно, на фотографиях выше видно, что почти все 32-битные платы имеют дополнительные разъемы, но часто они будут недоступны при использовании Arduino шилдов. И снова китайская фирма Iteadstudio впечатляет не только ценами, но и функциональностью. IFLAT-32 имеет площадь больше, чем Arduino, и оставляет легко доступными разъемы XBee и LCD. $27
![](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/c52/b39/93e/c52b3993ef5ca7d994c5b311dc0976d5.jpg)
Надоело баловаться в хардварной песочнице с микроконтроллерами с микропамятью и микрогигагерцами? Хочется ощутить настоящий процессор, способный работать с настоящей операционной системой, хочется теплых и мягких ха-тэ-эм-элов и джаваскриптов? Chumby Hacker Board все так же примет ваши шилды, если не на грудь, то на обратную сторону платы. $89
![](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/92a/cba/d66/92acbad66285db6ceda71eb9875565f7.jpg)
Ссылки:
![](https://habrastorage.org/getpro/geektimes/post_images/a83/0a8/0ee/a830a80ee542b24276b3a38fd1dca59a.png)
AVR живее всех живых
Дойдя до второй части обзора, читатель увидит, что Arduino-совместимые платы на современных мощных 32-битных контроллерах стоят не много больше, а иногда даже меньше, чем на оригинальной AVR архитектуре. И все же сначала AVR. Почему? Потому что мэтры говорят, что рано или поздно захочется собрать свое устройство. И я им верю. Верю, что однажды я возьму 8-ногий ATtiny в DIP корпусе, засуну его в картонку и включу паяльник. И я буду знать, что делать дальше — ведь я уже все отпрототипировал на Arduino AVR.
Arduino Duemilanove
Это предпоследняя версия официальной Arduino, и большинство совместимых плат, которые сейчас присутствуют на рынке, основано именно на схемотехнике Duemilanove. Она включает микроконтроллер ATmega 328 (в прошлом десятилетии (читай: до 2010г) ставили и ATmega 168) и USB-Serial преобразователь FTDI FT232RL. $25
![image](https://habrastorage.org/getpro/geektimes/post_images/214/ab8/0e5/214ab80e53eb1e30c9209f97eda4230f.jpg)
Arduino Uno
Текущая версия официальной Arduino. Пока на рынке мало альтернативных реализаций, но они начинают появляться, одна включена в этот обзор. Основное отличие от Duemilanove — замена популярного, а значит, не по начинке дорого, чипа FT232RL на… ATmega8U2. Да-да, в Uno фактически два микроконтроллера AVR, причем один — с аппаратным USB. Почему два, почему не поставить один? Вопрос совместимости, дружественности для новичков и для собственных разработок. Микроконтроллеры с аппаратным USB судя по всему есть только в SMD корпусах, поэтому использовать такой в своих разработках или заменить вышедший из строя на плате будет нелегко. Поэтому лучше использовать старый-добрый ATmega328 в DIP-панельке, а ATmega8U2 оставить на будущее. Судя по тому, как уверенно Uno завоевывает позиции — на ближайшее будущее. $30
![image](http://www.seeedstudio.com/depot/images/product/arduno1.jpg)
Iteaduino
Существует множество клонов Arduino Duemilanove, которые копируют ее фактически один в один. Но мы ждем от конкуренции прогресса и улучшения, а не простого «передирания», дозволенного открытой лицензией. Iteaduino — хороший пример, когда разработчики «сделали свое домашнее задание». Многие электронные компоненты требуют питания 3.3в, что требует дополнительного сопряжения уровней при работе с классическим Arduino. Iteaduino же позволяет запитать плату 3.3в или 5в на выбор (переключателем на плате). «Соль» применения Arduino конечно же в подключении внешних устройств ввода-вывода, и для простых устройств сложился де-факто стандарт интерфейса GVS (Ground-Voltage-Signal). Для приятного (без паутины проводов) подключения таких устройств к классическому Arduino придется докупать шилд, а в Iteaduino соответствующие разъемы есть прямо на плате. Кроме того, улучшена эргономика — в оригинальном Arduino при надетом шилде нельзя добраться до кнопки Reset (поэтому многие шилды дублируют ее) и плохо виден светодиод, а в Iteaduino они размещены на краю платы с возможностью доступа. $25
![image](https://habrastorage.org/getpro/geektimes/post_images/1c3/107/408/1c31074087d4e8400f9844d5a741433d.jpg)
Seeeduino Stalker v2
Благодаря стандарту Arduino можно создавать не только платы общего назначения, но и специализированные платы, которые все также будут легко расширяться существующими компонентами. Одна из идеальных применений для Arduino — разработка автономных беспроводных узлов-агентов распределенной системы контроля и управления. Платы Seeeduino Stalker разработаны именно для такого применения. В версии 2 на плате установлен контроллер зарядки литиевого аккумулятора с возможностью подключения солнечной панели, часы реального времени (RTC) с питанием от супер-конденсатора, microSD-слот, сокет *Bee (в оригинале XBee для протокола ZigBee, но уже есть BTBee в том же формфакторе) и разъемы I2C. $39
![image](http://www.seeedstudio.com/depot/images/product/stalkerv2z1.jpg)
Ruggeduino
Вы начинающий, любите переплюсовывать питание и хвататься за оголенные GPIO наэлектризованными руками? Или подключаете датчики проводами по 20 метров, а иногда вокруг бьют молнии? Или используете Arduino в производственных целях, где требования по защите и надежности повыше? Ruggeduino поможет вам, одного взгляда на него будет достаточно, чтобы проникнуться уважением и понять, что это настоящий индустриальный Arduino. $40
![image](https://habrastorage.org/getpro/geektimes/post_images/11b/0d3/9d3/11b0d39d33d45480c432d7cfaccbebd8.jpg)
RoMeo All-in-one
Плата для роботостроения, содержит на плате множество интерфейсных разъемов, драйвер двигателя, кнопки. $36
![](http://www.dfrobot.com/image/cache/data/DFR0004/15-70-thickbox-500x500.jpg)
CraftDuino
Российский вариант Arduino с улучшенной эргономикой (доступ к светодиодам и Reset) и возможностями: на плате присутствует разъем для всех выводов чипа FT232, что позволяет использовать его для bitbang-приложений (программатор различных МК, JTAG и т.п.), и возможность допаять дополнительные выводы для установки CraftDuino на беспаечную макетную плату (breadboard). $30
![](https://habrastorage.org/getpro/geektimes/post_images/dfd/05a/625/dfd05a625d65b819c6d6e56acf9cc812.jpg)
Быстрее, выше, сильнее
Итак, мы выросли из 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
![](https://habrastorage.org/getpro/geektimes/post_images/651/fbb/8a1/651fbb8a1078baed6bd1453c38e5b0e9.jpg)
Netduino
Cortex снова подождет. На сцене — классика ARM, ядро ARM7, в лице чипа от любимого вендора AT91SAM7X512-AU. На своих 48МГц он даже щелкает .NET Micro Framework! $35
![](https://habrastorage.org/getpro/geektimes/post_images/0a6/e01/260/0a6e01260fc841df483c3bf668aa942d.gif)
FEZ Panda II
Конечно же, в managed коде писать легче, так что парад .NET MF продолжается. Эта плата идет под маркетинговым чипом «USBizi», который на поверку оказывается NXP LPC2387 с соответствующим firmware. На 72МГц он наверное мог бы играть MP3. Только не в .NET коде, конечно. $40
![](http://www.ghielectronics.com/images/fpn2_features.jpg)
Olimexino-STM32
Ну вот добрались и до героя нашего времени — фирмы STMicroelectronics, которая люто-бешено демпингует свои Cortex-M чипы. Новая 16-битная система команд Thumb2 вместо классической 32-битной — это ли тот ARM, каким мы его знаем? Впрочем, не важно, главное, чтобы GCC компилил в него оптимально. А ассемблерный код бывалые допилят ручками. 20EUR
![](http://www.olimex.com/dev/DUINO/OLIMEXINO-STM32/OLIMEXINO-STM32-1.jpg)
IFLAT-32 v2.0
Arduino-совместимость может быть и ограничением — ведь 32-битные многолапые процессоры имеют куда больше, чем классические 14 GPIO и 6 ADC от Arduino. Собственно, на фотографиях выше видно, что почти все 32-битные платы имеют дополнительные разъемы, но часто они будут недоступны при использовании Arduino шилдов. И снова китайская фирма Iteadstudio впечатляет не только ценами, но и функциональностью. IFLAT-32 имеет площадь больше, чем Arduino, и оставляет легко доступными разъемы XBee и LCD. $27
![](https://habrastorage.org/getpro/geektimes/post_images/c52/b39/93e/c52b3993ef5ca7d994c5b311dc0976d5.jpg)
Chumby Hacker Board
Надоело баловаться в хардварной песочнице с микроконтроллерами с микропамятью и микрогигагерцами? Хочется ощутить настоящий процессор, способный работать с настоящей операционной системой, хочется теплых и мягких ха-тэ-эм-элов и джаваскриптов? Chumby Hacker Board все так же примет ваши шилды, если не на грудь, то на обратную сторону платы. $89
![](https://habrastorage.org/getpro/geektimes/post_images/92a/cba/d66/92acbad66285db6ceda71eb9875565f7.jpg)
Ссылки: