Ардуино
Ардуино — софтвер за хардвер и софтвер со отворен извор, проект и заедница на корисници што дизајнираат и произведуваат микроконтролери со една плочка и комплети за микроконтролери за градење дигитални уреди. Нејзините производи се лиценцирани под ГНУ-ова општа јавна лиценца (GPL),[1] дозволувајќи производство на Ардуино табли и дистрибуција на софтвер. Плочките на Ардуино се достапни во поединична посебна форма или како КИТ комплет „направи-го-сам“ (DIY).
Дизајните на Ардуино плочките користат различни микрообработувачи и контролери. Плочкте се опремени со комплети на дигитални и аналогни влезови / излезни (I / O) пинови кои можат да бидат меѓусебно поврзани со различни електрилни кола. Одборите имаат сериски комуникациски интерфејси, вклучувајќи USB на некои модели, кои исто така се користат за вчитување на програми од лични сметачи. Микроконтролерите можат да се програмираат со употреба на C и C ++ програмски јазици. Покрај користење на традиционални алатки за компајлери, Ардуино проектот обезбедува интегрирано развојно опкружување (IDE) засновано на проектот за јазик за обработка.
Проектот „Ардуино“ започна во 2005 година како програма за студенти во Институтот за дизајн и интеракција во Ивреа, Италија,[2] со цел да се обезбеди евтин и лесен начин за почетниците и професионалците да создадат уреди што комуницираат со нивната околина користејќи сензори и активатори. Вообичаени примери на такви уреди наменети за хобисти за почетници вклучуваат едноставни роботи, термостати и детектори на движење.
Името Ардуино потекнува од бар во Ивреа, Италија, каде што се сретнале некои од основачите на проектот. Барот го добил името по Ардуин од Ивреа, кој бил маргарит на Маршот на Ивреа и Кралот на Италија од 1002 до 1014 година.[3]
Историја
уредиПроектот „Ардуино“ беше започнат во Институтот за дизајн и интеракција Ивреа (IDII) во Ивреа, Италија.[2] Во тоа време, студентите користеа микроконтролер BASIC Stamp по цена од 50 американски долари, што претставува значителен трошок за многу студенти. Во 2003 година Ернандо Барагон ја создаде развојната платформа Wiring како магистерски труд проект на IDII, под надзор на Масимо Банзи и Кејси Реас. Кејси Рис е позната по ко-создавање, со Бен Фрај, платформата за развој на Обработката. Целта на проектот беше да се создадат едноставни, ниски цени на алатки за создавање дигитални проекти од не-инженери. Платформата за жици се состоеше од печатена плоча (PCB) со микроконтролер АТмега 168, IDE заснована на функции за обработка и библиотека, за лесно програмирање на микроконтролерот.[4] Во 2005 година, Масимо Банзи, со Дејвид Мелис, друг студент на ИДИ и Дејвид Куартиели, додадоа поддршка за поевтиниот микроконтролер АТмега8 на „Верлинг“. Но, наместо да ја продолжат работата на Wiring, тие го блокираа проектот и го преименуваа во Ардуино.
Првичниот тим на „Ардуино“ се состоеше од Масимо Банзи, Дејвид Куартиели, Том Иго, Гиaнанлука Мартино и Дејвид Мелис,[2] но Барагон не беше поканет да учествува.[4]
Во средината на 2011 година беше проценето дека над 300.000 службени Ардуина биле комерцијално произведени,[5] и во 2013 година дека 700,000 службени Ардуина биле во рацете на корисниците.[6]
Во октомври 2016 година, Федерико Мусто, поранешен извршен директор на Ардуино, обезбеди 50% сопственост на компанијата. Во април 2017 година, Wired објави дека Мусто го „измислил својот академски рекорд.... На мрежната страница на неговата компанија, лични сметки на „LinkedIn“, па дури и на италијански деловни документи, Мусто до неодамна беше наведен како држи доктор на науки од Институтот за технологија во Масачусетс. Во некои случаи, неговата биографија исто така бараше МБА од универзитетот Њујорк “. Wired објави дека ниту еден универзитет немал никаков запис за посетеноста на Мусто, а Мусто подоцна признал во интервју за Wired дека тој никогаш не ги заработил тие степени.[7]
Околу исто време, Масимо Банзи објави дека Фондацијата Ардуино ќе биде „нов почеток за Ардуино“.[8] Но, една година подоцна, Фондацијата сè уште не е основана, а состојбата на проектот останува нејасна.[9]
Контроверзноста околу Мустос продолжи кога, во јули 2017 година, тој, наводно, повлекол многу лиценци за отворен извор, шеми и код од мрежната страница „Ардуино“, предизвикувајќи преглед и негодување.[10]
Во октомври 2017 година, Ардуино го објави своето партнерство со АРМ Холдингс (АРМ). Во соопштението се вели, делумно, „АРМ ја призна независноста како основна вредност на Ардуино... без никакви заклучувања со архитектурата на АРМ “. Ардуино има намера да продолжи да работи со сите производители на технологија и архитектури.[11]
Хардвер
уредиПовеќето Ардуино плочки се состојат од Atmel 8-битен AVR микроконтролери (ATmega8,[13] ATmega168, ATmega328, ATmega1280, ATmega2560) со различни износи на флеш меморија, игли, и одлики.[14] 32-битен Ардуино Дау, заснован на Atmel SAM3X8E беше претставен во 2012 година.[15] Одборите користат единечни или двостечни пинови или женски заглавија што ги олеснуваат врските за програмирање и вградување во други кола. Овие можат да се поврзат со додатоци со модерни додатоци, наречени „штитови“. Повеќе и веројатно рангирани „штитови“ можат да бидат поединечно адресирани преку сериски приклучок на I²C. Повеќето табли вклучуваат линеарен регулатор од 5 V и 16 МХз kристален осцилатор или керамички резонатор. Некои дизајни, како што е LilyPad, работат на 8 MHz и дистрибуирајте го со регулаторот на напон на одборот заради специфични ограничувања во форма на фактор.
Ардуино микроконтролерите се претходно програмирани со подигнувач што го поедноставува поставувањето на програми во флеш меморијата на чип. Стандардниот подигнувач на Ардуино УНО е оптимист за подигнување на товар.[16] Одборите се вчитуваат со програмски код преку сериска врска со друг компјутер. Некои сериски табли на Ардуино содржат ниско ниво на префрлање за да се претворат помеѓу логичките нивоа RS-232 и сигналите на ниво на логички транзистор-транзистор (TTL). Тековните плочки на Ардуино се програмираат преку Универзален сериски приклучок (USB), имплементирани со употреба на USB-во-сериски адаптерски чипови како што е FTDI FT232. Некои табли, како што се табли со подоцнежен модел Уно, го заменуваат чипот FTDI со посебен AVR чип што содржи USB-сериски фирмвер, кој може да се препрограмира преку сопствениот заглавие на ICSP. Други варијанти, како што се Ардуино Мини и неофицијалниот БоАрдуино, користат одвојлив USB-сериски адаптер или кабел, Bluetooth или други методи. Кога се користи со традиционални алатки за микроконтролер, наместо Ардуино ИДЕ, се користи стандардно AVR во системско програмирање (ISP) програмирање.
Плочката Ардуино ги изложува повеќето I / O пинови на микроконтролерот за употреба од други кола. Ардуино Уно обезбедуваат 14 дигитални I / O пинови, од кои шест можат да произведат модулирани сигнали со ширина на пулсот и шест аналогни влезови, што може да се користи и како шест дигитални I / O пинови. Овие пинови се наоѓаат на горниот дел од таблата, преку женски 0,1-инчен (2.54) . Неколку приклучоци за апликации со приклучок се исто така комерцијално достапни. Одборите на „Ардуино Нано“ и „БоАрдуино“ [17] можат да обезбедат машки игли заглавија на долната страна од таблата што можат да се вклучат во лебдери без лемење.
Официјални производители
уредиОригиналниот хардвер Ардуино беше произведен од италијанската компанија Smart Projects. Некои табли со марката Ардуино се дизајнирани од американските компании SparkFun Electronics и Adafruit Industries. Од 2016 17 верзии на хардверот Ардуино се произведени.[18]
Софтвер
уредиПрограма за хардвер Ардуино може да биде напишана на кој било програмски јазик со компајлери кои произведуваат бинарно машински код за целниот процесор.
IDE
уредиИнтегриран развој на животната средина Ардуино(IDE) е вкрстена платформа апликација (за Windows, macOS, Linux) која е напишана на програмскиот јазик Јава. Вклучува уредувач на код со функции како што се сечење и залепување текст, пребарување и замена на текст, автоматско вовлекување, сопирање на загради и осветлување на синтаксата и обезбедува едноставни механизми со еден клик за составување и испраќање на програми во таблата Ардуино. Исто така, содржи област за пораки, конзола за текст, лента со алатки со копчиња за вообичаени функции и менија за хиерархија на работа. Изворниот код за IDE е објавен под општата јавна лиценца на ГНУ, верзија 2.[19]
Ардуино IDE ги поддржува јазиците C и C ++ користејќи специјални правила за структурирање на шифри. Ардуино IDE обезбедува софтверска библиотека од проектот за пишување, која обезбедува многу вообичаени процедури за влез и излез. Корисникот напишан код бара само две основни функции, за стартување на скицата и главната програма, кои се составуваат и поврзани со никулец на програмата во извршна циклична извршна програма со алатката GNU, исто така вклучена со дистрибуцијата на IDE. Ардуино IDE ја користи програмата avrdude да го претвори извршниот код во текстуална податотека во хексадецимално кодирање што се вчитува во Ардуино таблата со програма за натоварувач во фирмверот на таблата.
Про IDE
уредиНа 18 октомври 2019 година, беше објавен Ардуино Про IDE. Системот сè уште користи Arduino CLI (Интерфејс за командна линија), но подобрувањата вклучуваат попрофесионално опкружување за развој, поддршка за авто-завршување и интеграција на Git.[20] Насловот за апликација се заснова на IDE со отворен извор на Eclipse Theia. Главните одлики што се достапни во алфа-изданието се:[21]
- Модерно, целосно опремен развој
- Двоен режим, класичен режим (идентичен со класичниот Ардуино IDE) и Про Мод (преглед на датотечниот систем)
- Нов управен одбор
- Нов менаџер на библиотека
- Список на табли
- Основно авто-завршување
- Git интеграција
- Сериски монитор
- Темен режим
Скеч
уредиСкеч или скица е програма напишана со Ардуино IDE.[22] Скиците се зачувуваат на компјутерскиот развој како текстуални податотеки со наставката на податотеката.ino. Ардуино Софтвер (IDE) претходно зачувани скици за 1.0-ти со продолжение.pde.
Минималната програма Arduino C / C ++ се состои од само две функции:[23]
: Оваа функција се нарекува еднаш кога скицата ќе започне по вклучување или ресетирање. Се користи за иницијализација на променливите, режимите за влез и излез и и други библиотеки што се потребни во скицата. Тоа е аналогна наsetup()
функцијаmain()
.[24]main()
: По излегувањето (завршувањетоloop()
функцијата заsetup()
функцијатаsetup()
се извршува повеќепати во главната програма. Тој ја контролира таблата сè додека таблата не е исклучена или повторно ќе се постави. Таа е аналогна на функцијатаloop()
.[25]while(1)
- Пример (трепкање-ЛЕД)
Повеќето плочки на Arduino содржат диоди кои емитуваат светлина (LED) и струен ограничувачки отпорник поврзан помеѓу игла 13 и земјата (GND), што е погодна одлика за многу тестови и програмски функции. Типична програма што ја користат почетниците, слично на Hello, World!, е „трепкање“, кое постојано го трепка LED-уредот што се наоѓа плочката Arduino. Оваа програма ги користи функциите
, pinMode()
и digitalWrite()
, кои се обезбедени од внатрешните библиотеки вклучени во околината на IDE.[26][27][28] Оваа програма е обично натоварена во нова табла Ардуино од страна на производителот. delay()
#define LED_PIN 13 // Број на пинот што е прикачена ЛЕД.
void setup() {
pinMode(LED_PIN, OUTPUT); // Конфигурација на пинот за да биде дигитален излез.
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Вклучете ја ЛЕД.
delay(1000); // Почекај 1 секунда (1000 милисекунди).
digitalWrite(LED_PIN, LOW); // Исклучи ја ЛЕД.
delay(1000); // Почекај 1 секунда (1000 милисекунди).
}
Библиотеки
уредиСо отворен извор на проектот „Ардуино“ се олесни објавувањето на многу библиотеки на слободен софтвер што другите програмери ги користат за да ги зголемат своите проекти.
Признанија
уредиПроектот „Ардуино“ доби награда во категоријата „Дигитални заедници“ на Наградата Арс Електроника во 2006 година.
Надворешни врски
уредиЛитература
уреди- ↑ „Getting Started: FOUNDATION > Introduction“. arduino.cc. Архивирано од изворникот на 2017-08-29. Посетено на 2020-03-04.
- ↑ 2,0 2,1 2,2 David Kushner (2011-10-26). „The Making of Arduino“. IEEE Spectrum.
- ↑ Justin Lahart (27 November 2009). „Taking an Open-Source Approach to Hardware“. The Wall Street Journal. Посетено на 2014-09-07.
- ↑ 4,0 4,1 Hernando Barragán (2016-01-01). „The Untold History of Arduino“. arduinohistory.github.io. Посетено на 2016-03-06.
- ↑ „How many Arduinos are "in the wild?" About 300,000“. Adafruit Industries. May 15, 2011. Посетено на 2013-05-26.
- ↑ „Arduino FAQ – With David Cuartielles“. Malmö University. April 5, 2013. Архивирано од изворникот на 2017-09-06. Посетено на 2014-03-24.
- ↑ „Arduino's New CEO, Federico Musto, May Have Fabricated His Academic Record“. WIRED (англиски). Посетено на 2017-12-22.
- ↑ „Free Arduino | Make“. Make: DIY Projects and Ideas for Makers (англиски). 2017-06-09. Посетено на 2017-12-22.
- ↑ „The Arduino Foundation: What's Up?“. Hackaday (англиски). 2017-06-19. Посетено на 2017-12-22.
- ↑ Biggs, John. „CEO controversy mars Arduino's open future“. TechCrunch (англиски). Посетено на 2017-12-22.
- ↑ „Arduino reborn partners with ARM“. Electronics Weekly (англиски). 2017-10-06. Посетено на 2017-11-03.
- ↑ „Hardware Index“. Arduino Project. Посетено на 2013-12-10.
- ↑ „Chip Hall of Fame: Atmel ATmega8“. IEEE Spectrum: Technology, Engineering, and Science News (англиски). Посетено на 2017-10-10.
- ↑ „Arduino - Products“. www.arduino.cc. Посетено на 20 February 2018.
- ↑ „Microcontroller Maniacs Rejoice: Arduino Finally Releases the 32-Bit Due“. Посетено на 20 February 2018.
- ↑ „Optiboot Bootloader for Arduino and Atmel AVR“. Посетено на 2015-10-01.
- ↑ „DC Boarduino (Arduino compatible) Kit (w/ATmega328) - v1.0“. adafruit.com. Посетено на 29 November 2018.
- ↑ Schmidt, M. ["Arduino: A Quick Start Guide"], Pragmatic Bookshelf, January 22, 2011, Pg. 201
- ↑ „The arduino source code“.
- ↑ Williams, Al (21 October 2019). „The Arduino IDE Finally Grows Up“. Hackaday. Посетено на 26 October 2019.
- ↑ „Introducing new Arduino Pro IDE with advanced features“. Seed Studio. Посетено на 26 October 2019.
- ↑ Programming Arduino Getting Started with Sketches. McGraw-Hill. Nov 8, 2011. ISBN 978-0071784221.
- ↑ „Arduino - BareMinimum“. www.arduino.cc. Посетено на 20 February 2018.
- ↑ Documentation for function setup (arduino.cc)
- ↑ Documentation for function loop (arduino.cc)
- ↑ Documentation for function pinMode (arduino.cc)
- ↑ Documentation for function digitalWrite (arduino.cc)
- ↑ Documentation for function delay (arduino.cc)