Arduino

Материал из BrSTU Robotics Wiki
Перейти к: навигация, поиск
Самая новая версия платы Arduino UNO

Arduino представляет собой линейку электронных блоков-плат, которые можно подключать к компьютеру по USB/ RS-232, а в качестве периферии — любые устройства от светодиодов до механизмов радиуоправляемых моделей и роботов. Подробности на официальном сайте

Описание

Arduino - это открытая аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring.

Эта платформа интересна именно своей открытостью и простотой. Ключевой особенностью Arduino является тот факт, что под открытой лицензией распространяется не только программное обеспечение контроллеров, но так же и все схемотехнические решения. Вся документация и чертежи контроллеров Arduino выпущены под вариантом свободной Creative Commons лицензии - Attribution-Share Alike, и доступны для загрузки с сайта компании. Любой желающий может изготовить любое из представленных на сайте устройств самостоятельно или даже открыть собственное производство — свободная лицензия не устанавливает никаких финансовых отчислений разработчикам.

Самодельный вариант платы Arduino (Первый вариант был собран в лаборатории БрГТУ еще в 2008 году)

Небольшая плата взимается только за использование зарегистрированной торговой марки Arduino, поэтому любители создали ответвление от проекта – Freeduino. Он полностью аппаратно и программно совместим с Arduino.

Несмотря на то, что плата была создана преподавателем итальянского ВУЗа Ivrea Massimo Banzi для обучения студентов, применение контроллеров Arduino не ограничивается академическими рамками. С их помощью любители и разработчики уже модернизировали блоки управления двигателями своих машин, создали модели беспилотных летательных аппаратов и даже кластер из нескольких плат, систему мониторинга состояния почвы комнатных растений.

Стоит отметить, что Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере (например, Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider).

Проект Arduino был удостоен почётного упоминания при вручении призов Prix Ars Electronica 2006 в категории Digital Communities.

Технические характеристики

Технически Arduino представляет собой небольшую электронную плату, ядром которой является микроконтроллер ATmega168. На плате размещены 14 цифровых входов/выходов, 6 из которых могут работать в режиме ШИМ (PWM), 6 аналоговых входов, тактовый генератор на 16 МГц, разъёмы питания и USB, ICSP-порт (разработка фирмы Atmel для простой прошивки своих контроллеров), несколько контрольных светодиодов и кнопка сброса. В самодельных вариантах плат разъем USB часто заменяется на RS-232, а подключение платы осуществляется через переходник.

Интегрированная среда разработки Arduino это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату. Среда разработки основана на языке программирования Processing и спроектирована для простоты и удобства. Используемый язык программирования микропроцессора аналогичен проекту Wiring. Этот язык является C/C++ совместимым и дополнен некоторыми библиотеками. Перед прошивкой, программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC. Ключевой особенностью платы является то, что в нее прошита специальная прошивка – bootloader, которая отвечает за связь с компьютером и «горячее» перепрограммирование платы.

Так как проект Arduino стартовал с использования микроконтроллеров Atmega8, а затем перешел на Atmega168 и совсем недавно на ATmega1280, то на данный момент доступно 10 версий плат:

  • Serial Arduino, программируется через последовательное соединение (разъём DB9), используется ATmega8.
  • Arduino Extreme, с USB интерфейсом для программирования, используется ATmega8.
  • Arduino Mini, миниатюрная версия Arduino, использующая поверхностный монтаж ATmega168.
  • Arduino Nano, еще миниатюрнее, с питанием от USB и поверхностным монтажём ATmega168.
  • LilyPad Arduino, минималистичный дизайн для носимых применений с поверхностным монтажём ATmega168.
  • Arduino NG, с USB интерфейсом для программирования, используется ATmega8.
  • Arduino NG plus, с USB интерфейсом для программирования, используется ATmega168.
  • Arduino BT, с Bluetooth интерфейсом для программирования, используется ATmega168.
  • Arduino Diecimila, текущая версия, использует USB интерфейс и Atmega168 в DIL28 корпусе (как на картинке).
  • Arduino Duemilanove (выпущена в 2009), на основе ATmega168, с автоматическим выбором питания от USB или постоянного тока.
  • Arduino Mega (2009), на основе ATmega1280.
  • Arduino UNO (2011).

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

  • Кроссплатформенность. Программное обеспечение Arduino работает на Windows, Macintosh OS X, Linux и других операционных системах, поскольку является открытым и работает на Java.
  • Простая среда программирования. Программная оболочка является простой в использовании для новичков, но достаточно гибкой для продвинутых пользователей, чтобы быстро достичь нужного результата. Особенно это удобно в образовательной среде, где студенты могут с лёгкостью разобраться с платформой, а преподаватели — разработать учебный курс и задания.
  • Открытый исходный код. Язык может быть расширен с помощью C++ библиотек, более продвинутые специалисты могут создать свой собственный инструментарий для Arduino на основе компилятора AVR C.
  • Открытые спецификации и схемы оборудования. Arduino основан на микроконтроллерах Atmel ATMEGA8 и ATMEGA168. Схемы модулей опубликованы под лицензией Creative Commons, поэтому опытные схемотехники могут создать свою собственную версию модуля для своих нужд. Даже сравнительно неопытные пользователи могут сделать макетную версию модуля, чтобы понять, каким образом он работает.
  • Цена. Покупка платы в Беларуси пока не возможна, однако ее можно заказать в России на Linuxcenter или в Китае. Один из самых популярных вариантов Decimlia стоит до 40 долларов. Но самым приятным вариантом будет ручная сборка платы, где стоимость будет всего 20-25 долларов.

Недостатки

Недостатки платформы частично вытекают из спецификации используемого микроконтроллера. Малый объем ПЗУ, низкая частота накладывают ограничения на использование платы. Однако в этом есть и свои плюсы, а именно – низкая стоимость и низкое энергопотребление. Также, не смотря на всю простоту, необходимы знания в основах электроники.

Разновидности платформы

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

  • Freeduino SB, производится и продается в виде мини-набора для сборки компанией Solarbotics.
  • Freeduino MaxSerial, плата со стандартным последовательным портом (разъём DB9), производится и продаётся в собранном виде или в виде набора для сборки компанией Fundamental Logic.
  • Freeduino Through-Hole, плата, в которой не используется поверхностный монтаж, производится и продаётся в виде набора фирмой NKC Electronics.
  • Illuminato, вместо ATMega168 используется ATMega645, что даёт 64K флеш-памяти, 4K ОЗУ и 32 канала ввода-вывода. Аппаратная и программная части выпущены под open source. Плата выглядит тонкой и имеет 10 светодиодов, которыми можно управлять, используя «скрытые» инструкции. Разработана компанией Liquidware.
  • «Metaboard» — в основном Arduino-совместимая плата, целью проектирования которой стали наименьшая сложность и, вследствие этого, стоимость. Аппаратное и программное обеспечение — open source. Разработана в Metalab, хакспейсе в Вене.
  • Seeeduino, производная от Arduino Diecimila.
  • MRC28 Универсальный робо-контроллер MRC28 v1.4.1

Сообщество

Сообщество Arduino очень быстро развивается: разработчики с завидной частотой выпускают новые версии среды разработки и прошивок, появляется все большее количество разработок на базе Arduino, платформа усложняет свою аппаратную и программную часть, а также увеличивается количество библиотек для разработки программ микроконтроллера. Конечно наибольшую часть работы проделывают создатели проекта. Ядро команды разработчиков Arduino сейчас составляют Массимо Банци (Massimo Banzi), Девид Куартиллье (David Cuartielles), Том Иго (Tom Igoe), Жанлюка Мартино (Gianluca Martino), Девид Меллис (David Mellis) и Николас Замбетти (Nicholas Zambetti). Однако наиболее интересные решения и применения платформы придуманы и реализованы радиолюбителями и фанатами. Сообщество Arduino на сегодняшний день в области электроники одно из самых быстрорастущих.

Полезное видео для начинающих

{{#ev:youtube|yKTcRmmkNRc|400 Простые опыты с Arduino. Опыт 1 }} {{#ev:youtube|_pf9pkfkpH8|400 Видеоуроки по Arduino }}
{{#ev:youtube|bO_jN0Lpz3Q|400 Видеоуроки по Arduino. Первые шаги (1-я серия) }} {{#ev:youtube|PeScmRwzQho|400 Intro to the Arduino :) }}