Arduino — апаратная вылічальная платформа, асноўнымі кампанентамі якой з’яўляюцца простая плата ўводу/вываду і асяроддзе распрацоўкі на мове Processing/Wiring. Arduino можа выкарыстоўвацца як дзеля стварэння аўтаномных інтэрактыўных аб’ектаў, так і далучацца да праграмнага забеспячэння, якое выконваецца на камп’ютары (напрыклад, Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider). На цяперашні дзень заказаныя платы могуць прыходзіць ужо разлітаванымі. Інфармацыя аб структуры платы (малюнак друкаванай платы) знаходзіцца ў вольным доступе і можа быць выкарыстана асобамі, якія жадаюць збіраць платы самастойна. Мікракантролеры ATmega328 танныя і каштуюць каля 10$.
Праект Arduino быў удастоены ганаровага згадвання пры ўручэнні прызоў Prix Ars Electronica 2006 у катэгорыі Digital Communities.Arduino на Prix Ars Electronica 2006
Апісанне платформы
Апаратная частка
Плата 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 5 В 256 4 8 54 14 16 ATmega8U2 MAX3421EUSB хост 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 Due ATMEL SAM3U 256 0Finder Results- Atmel Corporation 50 54 16 16 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 EthernetMicroSD 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 or 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 or 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 і спраектавана для праграмавання пачаткоўцамі, якія не знаёмы блізка з распрацоўкай праграмнага забеспячэння. Мова праграмавання падобна ўжывальнай у праекце WiringWiring ALPHA 1.0. Строга кажучы, гэта C++, даданы некаторымі бібліятэкамі. Праграмы апрацоўваюцца з дапамогай прэпрацэсара, а потым кампілююцца з дапамогай AVR-GCC.
Версіі плат
thumb|250px|Плата Arduino Diecimila Арыгінальныя платы Arduino вырабляе Smart Projects.
На дадзены момант даступныя 15 версій плат, пералічаныя ніжэй. Serial Arduino, праграмуецца праз паслядоўнае злучэнне (раздым DB-9), выкарыстоўваецца ATmega8. Arduino Extreme, з USB-інтэрфейсам для праграмавання, выкарыстоўваецца ATmega8. Arduino Mini, мініяцюрная версія Arduino, дзе ўжываецца павярхоўны мантаж ATmega328. Не змяшчае канвертара USB-UART. 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 таксама даступны. Крынічны код для інтэграванага асяроддзя распрацоўкі і бібліятэк апублікаваны і даступны пад ліцэнзіяй GPLv2.
Платы пашырэнняў
Ардуіна і Ардуіна-сумяшчальныя платы спраектаваны такім чынам, каб іх можна было пры патрэбе пашыраць, дадаючы ў схему прылады новыя кампаненты. Гэтыя платы пашырэняў (шыльды) далучаюцца да Ардуіна праз усталяваныя на іх штыравыя раздымы.
Існуе мноства разнастайных па функцыянальнасці шыльдаў — ад простых, прызначаных для макетавання (прататыпавання), да складаных — плат кіравання крокавымі рухавікамі, плат бяздротавага доступу па пратаколам Bluetooth, ZigBee, WiFi, GSM і інш.
Прыклады шыльдаў: Arduino Ethernet Shield XBee Shield TouchShield Datalog Shield USB Host Shield
Клоны
Нягледзячы на тое, што дакументацыя на апаратную частку і праграмны код апублікаваны пад ліцэнзіяй «copyleft», распрацоўшчыкі выказалі жаданне, каб назва «Arduino» (і вытворныя ад яе) была гандлёвай маркай для афіцыйнага прадукту і не ўжывалася для вытворных работ без дазволу. У афіцыйным дакуменце аб ужыванні назвы Arduino падкрэсліваецца, што праект адкрыты для ўсіх жадаючых працаваць над афіцыйным прадуктам.Arduino — Policy
Вынікам аховы назвы стала адгалінаванне ад версіі платы 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