# Arduino

| Arduino Software |
| --- |
|  |
| Arduino IDE з прыкладам простай праграмы. |
| Тып | Інтэграванае асяроддзе распрацоўкі |
| Распрацоўшчык |
Arduino Software |
| Напісана на | Java |
| Аперацыйная сістэма | Кросплатформавая |
| Мовы інтэрфейсу | 47 моў, у тым ліку беларуская |
| Апошняя версія | 1.5.7 (7 ліпеня 2014 года) |
| Ліцэнзія | LGPL ці GPL license |
| Сайт | arduino.cc |
|  Медыяфайлы на Вікісховішчы |

**Arduino** — апаратная вылічальная платформа, асноўнымі кампанентамі якой з’яўляюцца простая плата ўводу/вываду і асяроддзе распрацоўкі на мове Processing/Wiring. Arduino можа выкарыстоўвацца як дзеля стварэння аўтаномных інтэрактыўных аб’ектаў, так і далучацца да праграмнага забеспячэння, якое выконваецца на камп’ютары (напрыклад, Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider). На цяперашні дзень заказаныя платы могуць прыходзіць ужо разлітаванымі. Інфармацыя аб структуры платы (малюнак друкаванай платы) знаходзіцца ў вольным доступе і можа быць выкарыстана асобамі, якія жадаюць збіраць платы самастойна. Мікракантролеры ATmega328 танныя і каштуюць каля 10$.

Праект Arduino быў удастоены ганаровага згадвання пры ўручэнні прызоў Prix Ars Electronica 2006 у катэгорыі Digital Communities.

## Апісанне платформы

### Апаратная частка

Плата Arduino складаецца з мікракантролера Atmel AVR (ATmega328 і ATmega168 у новых версіях і ATmega8 у старых), а таксама элементаў абвязкі для праграмавання і інтэграцыі з іншымі схемамі. На шматлікіх платах прысутнічае лінейны стабілізатар напружання +5В ці +3,3В. Тактаванне ажыццяўляецца на частаце 16 ці 8 МГц кварцавым рэзанатарам (у некаторых версіях керамічным рэзанатарам). У мікракантролер папярэдне прашываецца загрузчык 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, КБ | Двайковыя ўваходы/выхады | …з ШІМ | Аналагавыя ўваходы | USB-інтэрфейс | Іншыя інтэрфейсы | Памеры, мм |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Due | Atmel SAM3X8E ARM Cortex-M3 | 3.3 В | 512 |  | 96 | 54 | 12 | 12 | ATmega16U2 |  | 101.6 × 53.3  |
| ADK  | ATmega2560 Архівавана 25 студзеня 2012. | 5 В | 256 | 4 | 8 | 54 | 14 | 16 | ATmega8U2 Архівавана 1 лістапада 2011. | MAX3421E USB хост | 101.6 × 53.3  |
| BT (Bluetooth)  | ATmega328 | 5 В | 32 | 1 | 2 | 14 | 4 | 6 | Нет | Bluegiga WT11 Bluetooth |  |
| Diecimila  | ATmega168 Архівавана 17 студзеня 2012. | 5 В | 16 | 0.5 | 1 | 14 | 6 | 6 | FTDI |  | 68.6 × 53.3  |
| Due | ATMEL SAM3U Архівавана 16 кастрычніка 2019. |  | 256 | 0 | 50 | 54 | 16 | 16 |  |  |  |
| Duemilanove  | ATmega168/328P Архівавана 17 студзеня 2012. | 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 Архівавана 26 мая 2011. | ATmega328P Архівавана 29 студзеня 2012. | 3.3 В | 32 | 1 | 2 | 14 | 6 | 8 | Нет |  | 40.6 × 27.9  |
| Leonardo | Atmega32u4 Архівавана 26 лістапада 2011. | 5 В | 32 | 1 | 2 | 14 | 6 | 12 | Atmega32u4 Архівавана 26 лістапада 2011. |  | 68.6 × 53.3  |
| LilyPad | ATmega168V or ATmega328V | 2.7-5.5 В | 16 | 0.5 | 1 | 14 | 6 | 6 | Нет |  | 50  ⌀ |
| Mega | ATmega1280 Архівавана 25 студзеня 2012. | 5 В | 128 | 4 | 8 | 54 | 14 | 16 | FTDI |  | 101.6 × 53.3  |
| Mega2560 | ATmega2560 Архівавана 25 студзеня 2012. | 5 В | 256 | 4 | 8 | 54 | 14 | 16 | ATmega8U2 Архівавана 1 лістапада 2011. ATmega16U2 Архівавана 14 снежня 2010. |  | 101.6 × 53.3  |
| Nano | ATmega168 Архівавана 17 студзеня 2012. or ATmega328 | 5 В | 16/32 | 0.5/1 | 1/2 | 14 | 6 | 8 | FTDI |  | 43 × 18  |
| Uno | ATmega328P Архівавана 29 студзеня 2012. | 5 В | 32 | 1 | 2 | 14 | 6 | 6 | ATmega8U2 Архівавана 1 лістапада 2011. ATmega16U2 Архівавана 14 снежня 2010. |  | 68.6 × 53.3  |

### Праграмнае забеспячэнне

Інтэграванае асяроддзе распрацоўкі Arduino — гэта кросплатформавая праграма на Java, якая змяшчае ў сябе рэдактар кода, кампілятар і модуль перадачы прашыўкі ў плату.

Асяроддзе распрацоўкі заснавана на мове праграмавання Processing і спраектавана для праграмавання пачаткоўцамі, якія не знаёмы блізка з распрацоўкай праграмнага забеспячэння. Мова праграмавання падобна ўжывальнай у праекце Wiring. Строга кажучы, гэта C++, даданы некаторымі бібліятэкамі. Праграмы апрацоўваюцца з дапамогай прэпрацэсара, а потым кампілююцца з дапамогай AVR-GCC.

## Версіі плат

Плата Arduino Diecimila
Арыгінальныя платы Arduino вырабляе Smart Projects.

На дадзены момант даступныя 15 версій плат, пералічаныя ніжэй.

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 таксама даступны. Крынічны код для інтэграванага асяроддзя распрацоўкі і бібліятэк апублікаваны і даступны пад ліцэнзіяй GPLv2.

### Платы пашырэнняў

Ардуіна і Ардуіна-сумяшчальныя платы спраектаваны такім чынам, каб іх можна было пры патрэбе пашыраць, дадаючы ў схему прылады новыя кампаненты. Гэтыя платы пашырэняў (шыльды) далучаюцца да Ардуіна праз усталяваныя на іх штыравыя раздымы.

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

Прыклады шыльдаў:

* Arduino Ethernet Shield
* XBee Shield
* TouchShield Архівавана 5 лістапада 2009.
* Datalog Shield
* USB Host Shield Архівавана 6 снежня 2010.

## Клоны

Нягледзячы на тое, што дакументацыя на апаратную частку і праграмны код апублікаваны пад ліцэнзіяй «copyleft», распрацоўшчыкі выказалі жаданне, каб назва «Arduino» (і вытворныя ад яе) была гандлёвай маркай для афіцыйнага прадукту і не ўжывалася для вытворных работ без дазволу. У афіцыйным дакуменце аб ужыванні назвы Arduino падкрэсліваецца, што праект адкрыты для ўсіх жадаючых працаваць над афіцыйным прадуктам.

Вынікам аховы назвы стала адгалінаванне ад версіі платы Arduino Diecimila, зробленае групай карыстальнікаў, што прывяло да выпуску эквівалентнай платы, названай Freeduino. Назва Freeduino не з’яўляецца гандлёвай маркай і можа ўжывацца ў любых мэтах.

Некаторыя праграмна і апаратна сумяшчальныя прадукты пазбягаюць назвы «Arduino», карыстаючыся ў варыянтах уласнай назвы толькі «duino». Яны былі камерцыйна выпушчаны іншымі вытворцамі.

## Каманда распрацоўшчыкаў

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

## Гл. таксама

* Humane Informatics
* Beagle board
* Raspberry Pi

## Зноскі

## Спасылкі

* Arduino (англ.)(недаступная спасылка). — Официальный сайт. Архівавана з першакрыніцы 23 лютага 2011. Праверана 23.07.2010.
* Arduino Russian (руск.)(недаступная спасылка). — Неполная русская документация по языку и библиотекам. Архівавана з першакрыніцы 16 мая 2012. Праверана 23.07.2010.
* LXF100-101:Arduino (руск.)(недаступная спасылка). — Цикл статей по Arduino на wiki.linuxformat.ru. Архівавана з першакрыніцы 14 чэрвеня 2010. Праверана 23.07.2010.
* Интервью LXF Джанлука Мартино (Gianluca Martino, проект Arduino) (руск.)(недаступная спасылка). — О проекте, его развитии. Архівавана з першакрыніцы 13 сакавіка 2013. Праверана 20 сакавіка 2013.
* Arduino Fever (англ.). — Статья про Arduino в журнале Make. Архівавана з першакрыніцы 12 сакавіка 2012. Праверана 23.07.2010.
* Tópico: Índice do Arduino passo-a-passo (парт.)(недаступная спасылка). — Обучающие материалы по Arduino с исходными кодами и видео.. Архівавана з першакрыніцы 12 сакавіка 2012. Праверана 23.07.2010.