Arduino

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Arduino Software
Arduino Logo.svg
Arduino IDE - v0011 Alpha.png
Arduino IDE с примером простой программы.
Тип

Интегрированная среда разработки

Разработчик

Arduino Software

Написана на

Java

Операционная система

Кроссплатформенная

Последняя версия

1.5[1] (21 мая 2012 года)

Лицензия

LGPL или GPL license

Сайт

arduino.cc

Arduino Software на Викискладе

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

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

Описание платформы[править | править вики-текст]

Аппаратная часть[править | править вики-текст]

Плата Arduino состоит из микроконтроллера Atmel AVR (ATmega328P и 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 Процессор Напряжение питания Флеш-память,
КБ
EEPROM,
КБ
SRAM,
КБ
Двоичные
входы/выходы
…c
ШИМ
Аналоговые
входы
USB-интерфейс Прочие
интерфейсы
Размеры,
мм
Due Atmel SAM3X8E ARM Cortex-M3 3.3 В 512 Нет 256 54 12 12 + 2ЦАП ATmega16U2 CAN, JTAG, I2C 101,6 × 53.3
ADK ATmega2560 5 В 256 4 8 54 14 16 ATmega8U2 MAX3421E
USB хост
101,6 × 53.3
BT (Bluetooth) ATmega328 5 В 32 1 2 14 4 6 Нет Bluegiga WT11 Bluetooth
Diecimila ATmega168 5 В 16 0.5 1 14 6 6 FTDI 68,6 × 53.3
Duemilanove ATmega168/328P 5 В 16/32 0.5/1 1/2 14 6 6 FTDI 68,6 × 53.3
Ethernet ATmega328 5 В 32 1 2 14 4 6 Нет Wiznet Ethernet
MicroSD
Fio ATmega328P 3.3 В 32 1 2 14 6 8 Нет 40,6 × 27.9
Leonardo Atmega32u4 5 В 32 1 2 14 6 12 Atmega32u4 68,6 × 53.3
LilyPad ATmega168V или ATmega328V 2.7-5.5 В 16 0.5 1 14 6 6 Нет 50 ⌀
Mega ATmega1280 5 В 128 4 8 54 14 16 FTDI 101,6 × 53.3
Mega2560 ATmega2560 5 В 256 4 8 54 14 16 ATmega8U2 ATmega16U2 101,6 × 53.3
Nano ATmega168 или ATmega328 5 В 16/32 0.5/1 1/2 14 6 8 FTDI 43 × 18
Uno ATmega328P 5 В 32 1 2 14 6 6 ATmega8U2 ATmega16U2 68,6 × 53.3

Программное обеспечение[править | править вики-текст]

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

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

Существует перевод документации по Arduino на русский язык[6].

Версии плат[править | править вики-текст]

Плата Arduino Diecimila

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

На данный момент доступны 15 версий плат,[7] перечисленных ниже.

  1. Serial Arduino, программируется через последовательное соединение (разъём DB-9), используется ATmega8.
  2. Arduino Extreme, с USB-интерфейсом для программирования, используется ATmega8.
  3. Arduino Mini, миниатюрная версия Arduino, использующая поверхностный монтаж ATmega328. Не содержит конвертера USB-UART.
  4. Arduino Nano 3.0, ещё миниатюрнее, с питанием от USB и поверхностным монтажом ATmega328.
  5. LilyPad Arduino, минималистичный дизайн для носимых применений с поверхностным монтажом ATmega168 (в новых версиях ATmega328).
  6. Arduino NG, с USB-интерфейсом для программирования, используется ATmega8.
  7. Arduino NG plus, с USB-интерфейсом для программирования, используется ATmega168.
  8. Arduino BT, с Bluetooth-интерфейсом для программирования, используется ATmega168 (в новых версиях ATmega328).
  9. Arduino Diecimila, использует USB-интерфейс и Atmega168 в DIP28 корпусе.
  10. Arduino Duemilanove («2009»), на основе ATmega168 (в новых версиях ATmega328), с автоматическим выбором питания от USB или внешнего источника.
  11. Arduino Mega («2009»), на основе ATmega1280.
  12. Arduino Mega2560 R3 («2011»), на основе ATmega2560. Используется конвертер USB-UART на базе ATmega16U2.
  13. Arduino Uno R3 (2011), на основе ATmega328. Используется конвертер USB-UART на базе ATmega16U2.
  14. Arduino Ethernet (2011), на основе ATmega328. Конвертера USB-UART нет. Ethernet чип — W5100, также содержит модуль MicroSD.
  15. Arduino Mega ADK for Android (2011), на основе ATmega2560. Содержит USB-хост для соединения с телефонами на базе ОС Android (м/с MAX3421e). Конвертер USB-UART на базе ATmega8U2.

Открытые архитектура и код[править | править вики-текст]

Документация, прошивки и чертежи Arduino распространяются под лицензией Creative Commons Attribution ShareAlike 2.5 и доступны на официальном сайте Arduino. Рисунок печатной платы для некоторых версий Arduino также доступен.[7] Исходный код для интегрированной среды разработки и библиотек опубликован и доступен под лицензией GPLv2.[8]

Платы расширений[править | править вики-текст]

Ардуино и Ардуино-совместимые платы спроектированы таким образом, чтобы их можно было при необходимости расширять, добавляя в схему устройства новые компоненты. Эти платы расширений подключаются к Ардуино посредством установленных на них штыревых разъёмов.

Существует множество различных по функциональности плат расширения — от простейших, предназначенных для макетирования (прототипирования), до сложных — плат управления шаговыми двигателями, плат беспроводного доступа по протоколам Bluetooth, ZigBee, WiFi, GSM и т. д.

Примеры плат расширения:

Клоны[править | править вики-текст]

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

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

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

Команда разработчиков[править | править вики-текст]

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

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]