Първи стъпки с Ардуино
Повечето от вас може би знаят, че обикновено първата програма, с която се започва изучаването на нов софтуерен програмен език, е т.нар. „Hello world!”. Нейният аналог в света на електрониката е създаването на проект, който да кара светодиод да пресветва през една секунда. Именно с това ще се запознаем в настоящата статия.
За да създадем своя първи Ардуино проект, ще използваме уеб средата за разработка Arduino Web Editor, чието добавяне към браузъра вече разгледахме. Повечето Ардуино платки имат един вграден светодиод и именно той ще бъде използван в настоящия проект. Този светодиод често е наричан „L” светодиод, тъй като така е обозначен на самата платка.
Вземете Ардуино платка от Викиват
При написване на програми за Ардуино се използава най-често езикът за програмиране Arduino. Той всъщност е подмножество на C и C++. Програмите на Arduino се наричат скечове и в тях се използва софтуерната библиотека Wiring, която улеснява входно-изходните операции. Основните две функции, които се използват са:
- setup() – тази функция се изпълнява само веднъж – в началото на програмата и извършва инициализиращи настройки.
- 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”). Това, което би трябвало да видим, е светодиодът да започне да пресветва, т.е. да се включва и изключва за по една секунда в безкраен цикъл.