Ардуино

Ардуино е проект с отворен код и едноименна компания, произлязла от него, както и свързаното с него потребителско общество. Основната цел е проектиране и производство на електронна платформа с лесен за ползване свободен хардуер и софтуер, позволяващи постигането на интерактивност за неспециалисти. Електронните платки Ардуино могат да бъдат закупени или готови, или като „направи си сам“ комплекти, като схемите им са свободно достъпни за всеки, който би искал да ги сглоби сам. Проектът е основан на семейство платки с микроконтролери, произвеждани главно от SmartProjects, Италия, както и редица други доставчици, които използват различни 8-битови (AVR) микроконтролери или 32-битови (ARM) процесори Atmel. Осигурени са групи от цифрови и аналогови щифтове за вход-изход (I/O), които позволяват свързване с други платки и вериги. Платките включват сериен комуникационен интерфейс, а при някои модели и USB, за зареждане на програми. С оглед програмирането на микроконтролерите Ардуино платформата предоставя интегрирана среда за разработка (IDE), основана на проекта Processing, който поддържа програмните езици C и C++. Първата платка Ардуино е представена през 2005 г. Екипът на проекта иска да предостави на любители, ученици и професионалисти евтин и лесен начин да създават устройства, способни да взаимодействат с околната среда чрез сензори и изпълнителни устройства. Обичайни примери са създаването на прости роботи, термостати и датчици за движение. В средата на 2011 година са произведени приблизително 300 000 комерсиални Ардуино устройства, а през 2013 годинаброят им нараства до 700 000.

История

През 2001 г. Кейси Рийс и Бенджамин Фрай стартират проекта Processing, чиято цел е да дадат възможност на непрограмисти да визуалзират графики на екран бързо и лесно. Той вдъхновява други подобни проекти, като един от тях е проектът „Уайринг“ (на английски: Wiring – в буквален превод: електрическа инсталация), насочен към потребители като художници, дизайнери и други хора с различно от техническото образование. Негов автор е колумбийския студент Ернандо Бараган (на испански: Hernando Barragán), който през 2003 г. прилага принципите на Processing, за да създаде платформа за изработване на електронни прототипи, състояща се от програмен език, интегрирана среда за разработка и едноплатков микроконтролер. За разлика от Processing, ориентиран към визуалните изкуства, „Уайринг“ е проектиран да увлича хората към електрониката. Тази платка е предшественик на Ардуино.

Ардуино е свързан с Висшето училище за интерактивен дизайн в Иврея, Италия (Interaction Design Institute Ivrea), в което обучението се фокусира върху човешкото взаимодействие с цифровите продукти и системи и тяхното обратно въздействие върху потребителите. През 2005 г. група студенти създава проект на име „Arduino“, подобен на „Уайринг“. Името идва от бар, наречен на свой ред на маркграф и крал Ардуин от Иврея, където част от основателите обичали да се събират. Други имена на проекта са Margrave of Ivrea и King of Italy.

Ядрото на групата е съставено от Масимо Банци (Massimo Banzi), Дейвид Куартелие (David Cuartielles), Том Иго (Tom Igoe), Джанлука Мартино (Gianluca Martino), Дейвид Мелис (David Mellis).

От 2008 г. обаче в групата настъпва разцепление. Джанлука Мартино регистрира друга компания, регистрира търговска марка Arduino в някои страни и започва продажби на нов сайт arduino.org, докато първоначалната компания контролира продажбите на сайта arduino.cc. Наборът от изделия на двата сайта е различен. Съществуват и две разклонения на Arduino IDE, поддържащи различни платки и библиотеки. Еднаквите названия и номера на версиите на IDE внасят силно объркване.

Arduino се състои от 8-битов Atmel AVR микроконтролер с допълващи се компоненти, които улесняват програмирането и включването в други вериги. Важен аспект на Arduino платформата е наличието на стандартни конектори, които позволяват на потребителите да свързват CPU платката към голям набор от различни, взаимозаменяеми модули, наречени разширения (шилдове на английски: shields). Някои комуникират с Arduino директно, посредством различни конектори. Благодарение на I2C шина, няколко разширения могат да бъдат прикачени и използвани паралелно.

Повечето Arduino платформи функционират с 5V работно напрежение и разполагат с 14 цифрови входно-изходни порта, 6 аналогови входа, 16 MHz кварцов резонатор (въпреки че някои проекти работят с 8 MHz), четири светодиода, USB конектор, захранващ куплунг, бутон за рестартиране и ICSP конектор. Свързването с компютър става посредством USB кабел USB-A/USB-B.

Микроконтролерът на Arduino е снабден с буутлоудър, който опростява качването на програми във флаш паметта на устройството. Това прави използването на Arduino значително по-просто, като позволява програмиране с помощта на обикновен компютър.

На концептуално ниво, при използване на софтуерния стек на Arduino, всички платки се програмират посредством RS-232 сериен порт, но начинът варира според хардуерните особености на устройството.

На пазара се предлагат различни сменяеми шилдове, които могат да бъдат прикачени към Arduino, някои от които Arduino Nano, Bare Bones Board и Boarduino. Има много Arduino-съвместими и Arduino-производни платки.

Официални платки

Arduino, освен система с отворен код, е и отличителна търговска марка и за да гарантира качеството и надеждността на продуктите, пълен екип професионалисти от компанията стриктно проверява новите платки преди да бъдат пуснати в търговските мрежи. Официалните платки могат да се разпознаят винаги първо по името – Arduino Pro, Fio или Lilypad, например. Други, неофициални платки, често включват в името си „Arduino compatible“ (в превод: съвместим с Ардуино) или „for Arduino“ (в превод: за Ардуино). Друг начин за разпознаване на оригиналните платки е по брандирането – те са тюркоазени на цвят и някъде по тях имат изобразен символа за безкрайност, последван от официалния сайт на производителя: arduino.cc/.

Други компании също произвеждат платки, които се приемат като официални, например следните брандове: Adafruit Industries (adafruit.com) и SparkFun Electronics (www.sparkfun.com).

Поради това, че Arduino е с отворен код и схеми, има много неофициални варианти на платките, които хората са създали за свои собствени нужди. Обикновено те са базирани на същите микроконтролерни чипове и са съвместими със софтуера на Arduino, но изискват повече грижи, за да работят коректно. Например Seeeduino (от Seeed studio) е базирана на Arduino Duemilanove и е на 100% съвместима, но добавя допълнителни методи за свързване, допълнителни суичове и сокети.

Официалната платка е идеален избор за начинаещи, заради множеството онлайн примери и документации, предоставени от Arduino. Това е причината те да са така широко разпространени и всяка грешка или „бъг“ в дизайна им се премахва или поне добре документира в следващите версии.

Arduino Diecimila in Stoicheia

Arduino Duemilanove (rev 2009b)

Arduino MEGA 2560 R3 (отпред)

Arduino MEGA 2560 R3 (отзад)

Arduino Due (ARM-based)

LilyPad Arduino (rev 2007)

Предлагат се платки за разширение на възможностите, които се включват към нормалните куплунги. Те могат да осигурят контрол на мотори, връзка с GPS, Ethernet, LCD и др. Те могат да бъдат изработени и по метода „направи си сам“.

Няколко разширения могат да бъдат събрани в едно.

Разширение Screw-shield

Разширение със слот за SD карта и часовник

HackARobot фабрично разширение за Arduino Nano за прикачване на мотори и сензори

Софтуер

Интегрираната среда за разработка на „Ардуино“ е мултиплатформено приложение, написано на програмния език Java и произлиза от езика за програмиране „Processing“ и проекта „Wiring“. Конструирана е така, че да улесни програмирането от хора, които не са запознати с писането на софтуер. Съдържа редактор на код с функции като:

и също така е способен да компилира и да качва програми към устройството с един клик.

Програма, написана за Ардуино, се нарича „скеч“ и е написана на програмните езици C и C++. Средата за разработка „Ардуино“ идва със софтуерна библиотека „Wiring“ (името идва от оригиналния „Wiring“ проект), което улеснява много входни/изходни операции.

За да направят циклично изпълняваща се програма, потребителите трябва да дефинират само две функции,:

Типична първа програма за микроконтролер е просто примигваща LED светлинка. В средата за разработка на Ардуино потребителят може да напише програма като:

Предимството на повечето Ардуино платформи е, че имат светлинен индикатор и специфичен резистор, свързани между (pin 13 и земя), което е доста удобно за прости тестове. Горният код не може да бъде видян от стандартен C++ компилатор като валидна програма, затова, когато потребителят кликне бутона „Upload to I/O board“ в средата за разработка, копие на кода се записва във временен файл, в който се добавя функцията main(), за да се валидира кода. Средата за разработка на Ардуино използва GNU toolchain и AVR Libc, за да компилира програми и използва Avrdude, за да качва програмите на устройството. Вследствие на това, че Ардуино използва Atmel микроконтролери, средата за разработка на Atmel AVR Studio може също да се използва за писане на софтуер за Ардуино.

Разработка

Ардуино е свободен хардуер: хардуерната референция на проекта са разпространени под Creative Commons Attribution Share-Alike 2.5 лиценз и са достъпни на сайта на Ардуино. Планове и производствени досиета за някои версии на Ардуино са също достъпни. Изходният код за интегрираната среда за разработка (IDE) е достъпен и издаден под GNU General Public License, версия 2.

Въпреки че хардуерните и софтуерните скици са достъпни безплатно под copyleft лицензи, разработчиците са поискали името „Ардуино“ да бъде уникално само за официалния продукт и да не се използва за производни работи без разрешение. Официалният политически документ по използването на Ардуино името гласи, че проектът е отворен да обединява работата на други в официалния продукт. Няколко комерсиално пуснати Ардуино-съвместими продукта избягват името „Ардуино“, като използват само „-дуино“ завършека като варианти за име.

Беше ли полезна тази статия?

Оцени я!

Среден рейтинг / 5. Брой гласове:

Ако намираш статията за полезна...

Последвай ни в социалните мрежи!

Съжаляваме, че тази статия не ти беше полезна!

Помогни ни да променим това!