Arduino

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая RishatMuhametshin (обсуждение | вклад) в 12:32, 14 августа 2009 (Версии плат: пунктуация, стилевые правки). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
Arduino Software
Логотип программы Arduino Software
Arduino IDE с примером простой программы.
Тип Интегрированная среда разработки
Разработчик Arduino Software
Написана на Java
Операционная система Кроссплатформенная
Аппаратная платформа AVR
Последняя версия 0015 (26 марта 2009 года)
Лицензия LGPL или GPL license
Сайт arduino.cc
Логотип Викисклада Медиафайлы на Викискладе

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

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

Описание платформы

Аппаратная часть

Плата Arduino состоит из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых) и элементной обвязки для программирования и интеграции с другими схемами. На каждой плате обязательно присутствуют линейный стабилизатор напряжения 5 В и 16 МГц кварцевый генератор (в некоторых версиях керамический резонатор). В микроконтроллер предварительно прошит загрузчик, поэтому внешний программатор не нужен.

На концептуальном уровне все платы программируются через RS-232 (последовательное соединение), но реализация этого способа отличается от версии к версии. Плата Serial Arduino содержит простую инвертирующую схему для конвертирования уровней сигналов RS-232 в уровни ТТЛ, и наоборот. Текущие рассылаемые платы, вроде Diecimila, программируются через USB, что осуществляется благодаря микросхеме конвертера USB-to-serial вроде FTDI FT232. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется подключение отдельной платы USB-to-serial или кабеля.

Платы Arduino позволяют использовать большую часть I/O выводов микроконтроллера во внешних схемах. Например, в плате Diecimila доступно 14 цифровых вводов/выводов, 6 из которых могут выдавать ШИМ сигнал, и 6 аналоговых входов. Эти выводы доступны в верхней части платы через 0,1 дюймовые разъёмы типа «мама». На рынке доступны несколько внешних плат расширения, известных как «shields».

Программное обеспечение

Интегрированная среда разработки Arduino это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату.

Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring ([1]). Строго говоря, это C/C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.

Версии плат

The Arduino Diecimila.

Оригинальные платы Arduino производит Smart Projects.

На данный момент доступны 10 версий плат:[3]

  1. Serial Arduino, программируется через последовательное соединение (разъём DB9), используется ATmega8.
  2. Arduino Extreme, с USB-интерфейсом для программирования, используется ATmega8.
  3. Arduino Mini, миниатюрная версия Arduino, использующая поверхностный монтаж ATmega168.
  4. Arduino Nano, ещё миниатюрнее, с питанием от USB и поверхностным монтажjм ATmega168.
  5. LilyPad Arduino, минималистичный дизайн для носимых применений с поверхностным монтажом ATmega168.
  6. Arduino NG, с USB-интерфейсом для программирования, используется ATmega8.
  7. Arduino NG plus, с USB-интерфейсом для программирования, используется ATmega168.
  8. Arduino BT, с Bluetooth-интерфейсом для программирования, используется ATmega168.
  9. Arduino Diecimila, текущая версия, использует USB-интерфейс и Atmega168 в DIL28 корпусе (как на картинке).
  10. Arduino Duemilanove («2009»), на основе ATmega168 (в новых версиях ATmega328), с автоматическим выбором питания от USB или постоянного тока.
  11. Arduino Mega («2009»), на основе ATmega1280

Открытые архитектура и код

Документация и чертежи Arduino распространяется под лицензией Creative Commons Attribution Share-Alike 2.5 и доступны на официальном сайте Arduino. Рисунок печатной платы для некоторых версий Arduino также доступен.[3] Исходный код для интегрированной среды разработки и библиотек опубликован и доступен под лицензией GPLv2.[4]

Клоны

Несмотря на то, что документация на аппаратную часть и программный код опубликованы под лицензией «copyleft», разработчики выразили желание, чтобы название «Arduino» (и производные от него) было торговой маркой для официального продукта и не использовалось для производных работ без разрешения. В официальном документе об использовании названия Arduino подчеркивается, что проект открыт для всех желающих работать над официальным продуктом.[5]

Результатом защиты названия стало ответвление от версии платы Arduino Diecimila, сделанное группой пользователей, что привело к выпуску эквивалентной платы, названной Freeduino. Название Freeduino не является торговой маркой и может использоваться в любых целях.[6]

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

Полностью совместимые

Перечисленные ниже платы полностью или почти полностью совместимы как с аппаратной, так и с программной частью 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.

Программно совместимые

Эти платы совместимы с 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

Не-ATmega платы

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

Команда разработчиков

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

Примечания

  1. Arduino на Prix Ars Electronica 2006
  2. Ars Electronica Archiv / ANERKENNUNG (нем.). Дата обращения: 18 февраля 2009.
  3. 1 2 Hardware. Дата обращения: 26 декабря 2008.
  4. Страница загрузки программного обеспечения Arduino. Software. Arduino.
  5. Arduino — Policy
  6. Freeduino Open Designs. Дата обращения: 3 марта 2008.

Ссылки