Arduino — аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере (например, Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider). Рассылаемые в настоящее время версии могут быть заказаны уже распаянными. Информация об устройстве платы (рисунок печатной платы) находится в открытом доступе и может быть использована теми, кто предпочитает собирать платы самостоятельно. Микроконтроллеры ATmega328 дёшевы и стоят около 200 рублей.
Проект Arduino был удостоен почётного упоминания при вручении призов Prix Ars Electronica 2006 в категории Digital Communities.[2][3]
Описание платформы
Аппаратная часть
Плата Arduino состоит из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых), а также элементов обвязки для программирования и интеграции с другими схемами. На многих платах присутствует линейный стабилизатор напряжения +5 или +3,3 В. Тактирование осуществляется на частоте 16 или 8 МГц кварцевым резонатором (в некоторых версиях керамическим резонатором[4]). В микроконтроллер предварительно прошивается загрузчик BootLoader, поэтому внешний программатор не нужен.
На концептуальном уровне все платы программируются через RS-232 (последовательное соединение), но реализация этого способа отличается от версии к версии. Плата Serial Arduino содержит простую инвертирующую схему для конвертирования уровней сигналов RS-232 в уровни ТТЛ, и наоборот. Текущие рассылаемые платы, например, Diecimila, программируются через USB, что осуществляется благодаря микросхеме конвертера USB-to-Serial FTDI FT232R. В версии платформы Arduino Uno в качестве конвертера используется микроконтроллер Atmega8 в SMD-корпусе. Данное решение позволяет программировать конвертер так, чтобы платформа сразу определялась как мышь, джойстик или иное устройство по усмотрению разработчика со всеми необходимыми дополнительными сигналами управления. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется подключение отдельной платы USB-to-Serial или кабеля.
Платы Arduino позволяют использовать большую часть I/O выводов микроконтроллера во внешних схемах. Например, в плате Diecimila доступно 14 цифровых входов/выходов, 6 из которых могут выдавать ШИМ сигнал, и 6 аналоговых входов. Эти сигналы доступны на плате через контактные площадки или штыревые разъемы. Также доступны несколько видов внешних плат расширения, называемых «shields» («шилды»), которые присоединяются к плате Arduino через штыревые разъёмы.
Программное обеспечение
Интегрированная среда разработки Arduino это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату.
Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring[5]. Строго говоря, это C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.
Существует полный русский перевод языка Arduino[6], предназначенный для преодоления языкового барьера при распространении платформы по России.
Версии плат
Плата Arduino Diecimila
Оригинальные платы Arduino производит Smart Projects.
На данный момент доступны 13 версий плат,[7] перечисленных ниже.
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 в DIP28 корпусе (как на картинке).
Arduino Duemilanove («2009»), на основе ATmega168 (в новых версиях ATmega328), с автоматическим выбором питания от USB или внешнего источника.
Arduino Mega («2009»), на основе ATmega1280
Arduino Mega2560 («2010»), на основе ATmega2560. Используется конвертер USB-UART на базе ATmega8U2
Arduino Uno (2010) на основе ATmega328. Используется конвертер USB-UART на базе ATmega8U2
Открытые архитектура и код
Документация, прошивки и чертежи Arduino распространяется под лицензией Creative Commons Attribution ShareAlike 2.5 и доступны на официальном сайте Arduino. Рисунок печатной платы для некоторых версий Arduino также доступен.[7] Исходный код для интегрированной среды разработки и библиотек опубликован и доступен под лицензией GPLv2.[8]
Платы расширений
Ардуино и Ардуино-совместимые платы спроектированы таким образом, чтобы их можно было при необходимости расширять, добавляя в схему устройства новые компоненты. Эти платы расширений (шилды) подключаются к Ардуино посредством установленных на них штыревых разъёмов.
Существует множество различных по функциональности шилдов — от простейших, предназначенных для макетирования (прототипирования), до сложных — плат управления шаговыми двигателями, плат беспроводного доступа по протоколам Bluetooth, ZigBee, WiFi, GSM и т.д.
Примеры шилдов:
Arduino Ethernet Shield
XBee Shield
TouchShield
Datalog Shield
USB Host Shield
Cosmo WiFi Connect
Cosmo GSM Connect
Клоны
Несмотря на то что документация на аппаратную часть и программный код опубликованы под лицензией «copyleft», разработчики выразили желание, чтобы название «Arduino» (и производные от него) было торговой маркой для официального продукта и не использовалось для производных работ без разрешения. В официальном документе об использовании названия Arduino подчеркивается, что проект открыт для всех желающих работать над официальным продуктом.[9]
Результатом защиты названия стало ответвление от версии платы Arduino Diecimila, сделанное группой пользователей, что привело к выпуску эквивалентной платы, названной Freeduino. Название Freeduino не является торговой маркой и может использоваться в любых целях.[10]
Некоторые программно и аппаратно совместимые продукты избегают названия «Arduino», используя в вариантах собственного названия только «duino». Они были коммерчески выпущены другими производителями.
Полностью совместимые
Перечисленные ниже платы полностью или почти полностью совместимы как с аппаратной, так и с программной частью Arduino, включая возможность присоединения дочерних плат.
Freeduino, производится и продаётся в собранном виде и в вариантах для самостоятельной сборки командой freeduino.ru.
«Cosmo Black Star», производится и продаётся в собранном виде компанией JT5.
Carduino, производится и продаётся в собранном виде командой CompCar.ru.
CraftDuino, производится и продаётся в собранном виде командой RoboCraft.ru.
OR-Duino для робототехники с драйвером двух моторов, зарядкой для LiPol 3.7В и Step-Up регулятором на 5В, производится и продаётся в собранном виде командой RoboForum.ru.
ORduino Nano - максимально упрощенная и удешевленная версия, производится и продаётся в собранном виде командой RoboForum.ru.
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.
Программно совместимые
Эти платы совместимы с Arduino программно, но не совместимы с Shield-платами:
Boarduino, недорогой клон Diecimila созданный для макетирования, производится компанией Adafruit.
Bare Bones Board (BBB) и Really Bare Bones Board (RBBB), компактные недорогие клоны, которые можно использовать для макетирования, производятся фирмой Modern Device Company.
iDuino, USB-плата для макетирования, производится и продаётся в виде набора для сборки фирмой Fundamental Logic.
Sanguino — улучшенный open source клон Ardiuno, вместо ATMega168 использующий ATMega644P в корпусе типа DIP c 40 выводами, что даёт 64K флеш-памяти, 4K ОЗУ и 32 канала ввода-вывода. Разработана с учётом проекта RepRap.
LEDuino, плата с интерфейсом I2C, DCC декодером и интерфейсом шины CAN. Имеет поверхностный монтаж и продаётся в собранном виде компанией Siliconrailway.
Stickduino, похожа на USB-ключ.
Roboduino, спроектирована для робототехники. Рядом со всеми её соединениями есть шина питания, к которой легко могут быть подключены сервоприводы и чувствительные элементы. Также для питания и последовательной связи есть разъёмы. Разработана компанией Curious Inventor, L.L.C.
MRC28 Универсальный робо-контроллер MRC28 v1.4.1
MK-duino, недорогой клон для самостоятельного изготовления в домашних условиях. Для интерфейса с персональным компьютером и питания использует USB-кабель мобильного телефона (со встроеной микросхемой USB-моста), или интерфейс RS-232. Разработана в Черноморском государственном университете, Украина.
Не-ATmega платы
Эти платы могут подсоединяться к Arduino, но в них используются микроконтроллеры не семейства ATmega. Вследствие этого они несовместимы с оборудованием для Arduino.
Jaluino", плата на основе микроконтроллера PIC18F4550.
ARMmitePRO", плата на основе микропроцессора архитектуры ARM от компании Coridium, программируется на Бейсике или Cи.
Cortino, система разработки для 32-битного микропроцессора ARM Cortex M3.
ChipKIT Uno32, система разработки на основе 32-битного микропроцессора PIC32.
Команда разработчиков
Ядро команды разработчиков Arduino составляют: Массимо Банци (Massimo Banzi), Девид Куартиллье (David Cuartielles), Том Иго (Tom Igoe), Джанлука Мартино (Gianluca Martino), Девид Меллис (David Mellis) и Николас Замбетти (Nicholas Zambetti).
Примечания
Arduino 0022 released for Windows and Mac - arduino.cc/en/Main/ReleaseNotes
Arduino на Prix Ars Electronica 2006 - www.aec.at/en/prix/honorary2006.asp
Ars Electronica Archiv / ANERKENNUNG - 90.146.8.18/de/archives/prix_archive/prix_projekt.asp?iProjectID=13789# (German).
Юрий Левашов резонатор Murata Ceralock Керамические резонаторы Murata - www.kit-e.ru/articles/elcomp/2003_03_6.php#Керамический. — Общая статья на примере продукции Murata.
Wiring ALPHA 1.0 - wiring.org.co
РадиоЛокН Hi-Tech — Arduino Russian - rln.nnov.ru/arduino/
↑ 1 2 Hardware - www.arduino.cc/en/Main/Hardware.
Страница загрузки программного обеспечения Arduino - www.arduino.cc/en/Main/Software. Software. Arduino.
Arduino — Policy - www.arduino.cc/en/Main/Policy
Freeduino Open Designs - www.freeduino.org/freeduino_open_designs.html.
Данная статья составлена на основе статьи из русской Википедии. Синхронизация выполнена 16.07.11 21:26:59
|