Перайсці да зместу

Arduino

З Вікіпедыі, свабоднай энцыклапедыі
Arduino Software
Arduino IDE з прыкладам простай праграмы.
Тып Інтэграванае асяроддзе распрацоўкі
Распрацоўшчык Arduino Software
Напісана на Java
Аперацыйная сістэма Кросплатформавая
Мовы інтэрфейсу 47 моў, у тым ліку беларуская
Апошняя версія 1.5.7[1] (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.[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 Працэсар Напружанне сілкавання Флэш-памяць,
КБ
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[5] ATMEL SAM3U Архівавана 16 кастрычніка 2019. 256 0[6] 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[7]. Строга кажучы, гэта C++, даданы некаторымі бібліятэкамі. Праграмы апрацоўваюцца з дапамогай прэпрацэсара, а потым кампілююцца з дапамогай AVR-GCC.

Плата Arduino Diecimila

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

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

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

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

[правіць | правіць зыходнік]

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

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

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

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

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

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

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

[правіць | правіць зыходнік]

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


Зноскі

  1. Arduino Software Release Notes Архівавана 16 лістапада 2012.
  2. Arduino на Prix Ars Electronica 2006 Архівавана 6 снежня 2006.
  3. Ars Electronica Archiv / ANERKENNUNG(нявызн.)(недаступная спасылка). Архівавана з першакрыніцы 4 лютага 2014. Праверана 18 лютага 2009.
  4. Юрий Левашов. рэзанатар Murata Ceralock Керамические резонаторы Murata. — Общая статья на примере продукции Murata. Праверана 23.07.2010.
  5. Chirgwin, Richard (2011-09-20). "Arduino to add ARM board this year". The Register. Праверана September 20, 2011. Arduino [...] showed off the new version in time for the New York Maker's Faire, with a 96 MHz clock speed, 256 KB of flash memory, 50 KB of SRAM, five SPI buses, two I2C interfaces, five UARTs and 16 12-bit analog interfaces.
  6. Finder Results- Atmel Corporation Архівавана 16 кастрычніка 2019.
  7. Wiring ALPHA 1.0
  8. а б Hardware(недаступная спасылка). Архівавана з першакрыніцы 12 сакавіка 2012. Праверана 26 снежня 2008.
  9. Старонка загрузкі праграмнага забеспячэння Arduino(недаступная спасылка). Software. Arduino. Архівавана з першакрыніцы 13 сакавіка 2012. Праверана 20 сакавіка 2013.
  10. Arduino — Policy Архівавана 17 сакавіка 2011.
  11. Freeduino Open Designs(недаступная спасылка). Архівавана з першакрыніцы 10 красавіка 2008. Праверана 3 сакавіка 2008.