Arduino
| Arduino Software | |
Arduino IDE с примером простой программы. |
|
| Тип | |
|---|---|
| Разработчик |
Arduino Software |
| Написана на | |
| Операционная система | |
| Последняя версия | |
| Лицензия | |
| Сайт | |
Arduino — аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере (например, Adobe 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 производит Smart Projects.
На данный момент доступны 15 версий плат,[7] перечисленных ниже.
- Serial Arduino, программируется через последовательное соединение (разъём DB9), используется ATmega8.
- Arduino Extreme, с USB-интерфейсом для программирования, используется ATmega8.
- Arduino Mini, миниатюрная версия Arduino, использующая поверхностный монтаж ATmega328.
- Arduino Nano 3.0, ещё миниатюрнее, с питанием от USB и поверхностным монтажом ATmega328.
- LilyPad Arduino, минималистичный дизайн для носимых применений с поверхностным монтажом ATmega168 (в новых версиях ATmega328).
- Arduino NG, с USB-интерфейсом для программирования, используется ATmega8.
- Arduino NG plus, с USB-интерфейсом для программирования, используется ATmega168.
- Arduino BT, с Bluetooth-интерфейсом для программирования, используется ATmega168 (в новых версиях ATmega328).
- Arduino Diecimila, текущая версия, использует USB-интерфейс и Atmega168 в DIP28 корпусе.
- Arduino Duemilanove («2009»), на основе ATmega168 (в новых версиях ATmega328), с автоматическим выбором питания от USB или внешнего источника.
- Arduino Mega («2009»), на основе ATmega1280.
- Arduino Mega2560 R3 («2011»), на основе ATmega2560. Используется конвертер USB-UART на базе ATmega16U2.
- Arduino Uno R3 (2011), на основе ATmega328. Используется конвертер USB-UART на базе ATmega16U2.
- Arduino Ethernet (2011), на основе ATmega328. Конвертера USB-UART нет. Ethernet чип - W5100, также содержит модуль MicroSD.
- 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 и т.д.
Примеры шилдов:
- Arduino Ethernet Shield
- XBee Shield
- TouchShield
- Datalog Shield
- USB Host Shield
- Cosmo WiFi Shield
- Cosmo GSM Connect
- Cosmo USB Host
[править] Клоны
Несмотря на то что документация на аппаратную часть и программный код опубликованы под лицензией «copyleft», разработчики выразили желание, чтобы название «Arduino» (и производные от него) было торговой маркой для официального продукта и не использовалось для производных работ без разрешения. В официальном документе об использовании названия Arduino подчеркивается, что проект открыт для всех желающих работать над официальным продуктом.[9]
Результатом защиты названия стало ответвление от версии платы Arduino Diecimila, сделанное группой пользователей, что привело к выпуску эквивалентной платы, названной Freeduino. Название Freeduino не является торговой маркой и может использоваться в любых целях.[10]
Некоторые программно и аппаратно совместимые продукты избегают названия «Arduino», используя в вариантах собственного названия только «duino». Они были коммерчески выпущены другими производителями.
[править] Команда разработчиков
Ядро команды разработчиков Arduino составляют: Массимо Банци (Massimo Banzi), Девид Куартиллье (David Cuartielles), Том Иго (Tom Igoe), Джанлука Мартино (Gianluca Martino), Девид Меллис (David Mellis) и Николас Замбетти (Nicholas Zambetti).
[править] См. также
| Arduino на Викискладе? |
| В Википедии есть проект «Компьютерные технологии» |
| В Википедии есть проект «Свободное программное обеспечение» |
[править] Примечания
- ↑ Arduino 0023 released for Windows and Mac
- ↑ Arduino на Prix Ars Electronica 2006
- ↑ Ars Electronica Archiv / ANERKENNUNG (German). Проверено 18 февраля 2009.
- ↑ Юрий Левашов резонатор Murata Ceralock Керамические резонаторы Murata. — Общая статья на примере продукции Murata. Проверено 23 июля 2010.
- ↑ Wiring ALPHA 1.0
- ↑ РадиоЛокН Hi-Tech — Arduino Russian
- ↑ 1 2 Hardware. Проверено 26 декабря 2008.
- ↑ Страница загрузки программного обеспечения Arduino. Software. Arduino.
- ↑ Arduino — Policy
- ↑ Freeduino Open Designs. Проверено 3 марта 2008.
[править] Ссылки
- Arduino (англ.). — Официальный сайт. Проверено 23 июля 2010.
- Wiki Amperka (рус.). — полезные русскоязычные статьи и видеоуроки по работе с Arduino.
- Arduino Russian (рус.). — полная русская документация по языку и библиотекам. Проверено 23 июля 2010.
- Arduino Russian (рус.). — использование ardiuno в робототехнике. Проверено 23 июля 2010.
- LXF100-101:Arduino (рус.). — Цикл статей по Arduino на wiki.linuxformat.ru. Проверено 23 июля 2010.
- Интервью LXF Джанлука Мартино [Gianluca Martino, проект Arduino.] (рус.). — О проекте, его развитии..
- Arduino Fever (англ.). — Статья про Arduino в журнале Make. Проверено 23 июля 2010.
- Tópico: Índice do Arduino passo-a-passo (порт.). — Обучающие материалы по Arduino с исходными кодами и видео.. Проверено 23 июля 2010.

