Ардуино Проект

Какво е Ардуино и как да стартираме своя първи проект

Ардуино представляват микроконтролерни развойни платки с отворен код, базирани на принципа „лесен за използване“ хардуер и софтуер. Те взаимодействат с външното им обкръжение чрез различни сензори, бутони, електромотори, светодиоди и други, което позволява на разработчиците на програми да създават широк набор от приложения. Голямо предимство на Ардуино е, че конекторите им са стандартни (като например USB), което позволява лесно свързване с други устройства и системи. Важно от финансова гледна точка е да отбележим, че тези електронни платки могат както да се закупят готови, така и да бъдат сглобени от потребители с достатъчно познания в тази област. Серията Ардуино включва микроконтролери и процесори на различни производители – Atmel, ARM, Intel. Управлението на платките става посредством набор от инструкции на програмния език за програмиране Arduino (базиран на Wiring) и средата за разработка Arduino Software (базирана на Processing).

Ардуино Uno е микроконтролерен борд

Ардуино възниква като платформа за разработка на проекти от студенти без особен опит в областта на електрониката и програмирането, но впоследствие, след като достига по-широк кръг от потребители и набира голяма популярност, тя започва да се използва в много по-сложни проекти в сфери като IoT, 3D принтиране, вградени системи и др. През годините разработчици от цял свят  (студенти, любители, артисти, програмисти, специалисти в различни области) допринасят за натрупването на огромен обем информация и проекти, които са със свободен достъп и помагат в работата, както на хора, които тепърва навлизат в света на Ардуино, така и на експерти.

Основните предимства на тази платформа са следните:

Какво е Ардуино и как да стартираме своя първи проект 1

Проектите за Ардуино се създават чрез средата за разработка Arduino Software, като за да стартираме своя първи проект, ние имаме две опции:

1. Ако разполагаме с надеждна Интернет връзка, е най-добре да използваме онлайн варианта на средата – Arduino Web Editor. Той ни позволява да съхраняваме проектите си в глобално Интернет пространство (облак), правейки ги достъпни от всяко друго устройство и дава възможност да имаме резервни копия. Основно предимство на тази опция е и това, че винаги работим с най-новата версия на средата, без да има нужда да инсталираме ъпдейти или допълнителни библиотеки. Всичко, от което се нуждаем в този случай, е да си създадем потребителски акаунт на auth.arduino.cc/register, да отидем на arduino.cc/editor и да добавим един плъгин към нашия браузър. Сега вече можем да влезем в акаунта си и да пишем и качваме проекти на Ардуино платките, с които разполагаме. Уеб средата разпознава автоматично свързаните към персоналния ни компютър Ардуино платформи и се самонастройва в зависимост от конкретния вид на платката.

Какво е Ардуино и как да стартираме своя първи проект 2

За да проверим, че всичко е наред, можем да стартираме един от предварително готовите проекти, които ни предоставя средата. Това става като отидем на меню ‘Examples’, изберем ‘Basic’ и след това ‘Blink’. Така проектът се зарежда в пространството за писане на код. След това зареждаме проекта на Ардуино платката чрез бутона ‘Upload’ и резултатът, който трябва да видим, е жълтият светодиод на платформата да пресветва през една секунда в безкраен цикъл.

2. Ако предпочитаме да работим офлайн, трябва да използваме най-съвременната версия на десктоп средата. Трябва да отидем на Интернет адрес www.arduino.cc/en/Guide/HomePage, да изберем името на операционната система, с която разполагаме, да свалим съответната версия на инсталационния файл и след инсталирането на средата за разработка, да се върнем на горепосочения адрес и да изберем Ардуино платформата, с която разполагаме, от списъка вдясно. Следваме инструкциите за конфигуриране на десктоп средата според вида на платката, с която работим.

 

Hello world!

Първи стъпки с Ардуино

Повечето от вас може би знаят, че обикновено първата програма, с която се започва изучаването на нов софтуерен програмен език, е т.нар. „Hello world!”. Нейният аналог в света на електрониката е създаването на проект, който да кара светодиод да пресветва през една секунда. Именно с това ще се запознаем в настоящата статия.

За да създадем своя първи Ардуино проект, ще използваме уеб средата за разработка Arduino Web Editor, чието добавяне към браузъра вече разгледахме. Повечето Ардуино платки имат един вграден светодиод и именно той ще бъде използван в настоящия проект. Този светодиод често е наричан „L” светодиод, тъй като така е обозначен на самата платка.

Ардуино

При написване на програми за Ардуино се използава най-често езикът за програмиране Arduino. Той всъщност е подмножество на C и C++. Програмите на Arduino се наричат скечове и в тях се използва софтуерната библиотека Wiring, която улеснява входно-изходните операции. Основните две функции, които се използват са:

1. setup() – тази функция се изпълнява само веднъж – в началото на програмата и извършва инициализиращи настройки.

2. loop() – тя не спира да се извиква докато Ардуино платформата не се изключи.

Скечът се компилира от C/C++ компилатор – avr-g++, но за да бъде разпознат от него като валидна програма, той претърпява малки изменения (автоматично генериране на прототипи на функциите, добавяне на main() функция). Всички стандартни C и C++ конструкции би трябвало да работят, когато са част от Arduino  скеч.

Свързваме микроконтролера към персоналния ни компютър чрез USB кабел. Първото нещо, което трябва да направим в програмата, караща вградения в Ардуино светодиод да пресветва, е да дефинираме целочислена променлива, която взима като стойност номера на пина, към който е свързан светодиода:

int ledPin = 13;

Този ред от кода може да се пропусне и в последствие в програмата вместо променливата “ledPin” да се използва LED_BUILTIN. Това би било още по-коректно, тъй като при различните Ардуино платформи светодиодът е свързан към различен пин (към пин 13 при Ардуино Uno, Mega и Zero; към пин 6 при Ардуино MKR1000), а LED_BUILTIN е предварително инициализирана със стойността на правилния пин, в зависимоост от конкретния модел Ардуино.

Следващото нещо, което трябва да направим, е да конфигурираме като изходен пина, към който е свързан светодиодът. Правим това като във функцията setuo() извикваме функцията pinMode():

void setup()

{

  pinMode(ledPin, OUTPUT);

}

 Последното, което правим, е да включваме и изключваме светодиода чрез функцията loop(). В нея извикваме два пъти функцията digitalWrite() – един път с параметър HIGH, за да включи светодиода, и един път с параметър LOW, за да го изключи. За да може тези две операции да не се извършват твърде бързо и да видим всяка от тях да се изпълнява за по една секунда, добавяме две извиквания на функцияра delay(), която приема като параметър милисекундите, за които да стопира изпълнението на програмата:

void loop()

{

  digitalWrite(ledPin, HIGH);

  delay(1000);

  digitalWrite(ledPin, LOW);

  delay(1000);

}

Накрая проверяваме за грешки (чрез бутона “Verify”) и зареждаме скеча на платката (чрез бутона “Upload”). Това, което би трябвало да видим, е светодиодът да започне да пресветва, т.е. да се включва и изключва за по една секунда в безкраен цикъл.