четвртак, 18 априла, 2024
Хардвер

Ардуино контролер (3. део)

Аутор: Стефан Ножинић

У прошлом броју смо навели неке карактеристике Arduino уређаја и отпорника и описали смо начине спајања отпорника. У овом броју ћемо објаснити како се инсталира званично окружење за писање програма за Arduino и направићемо наш први пројекат. Такође ћемо објаснити и неке функције овог окружења и шта све имамо на располагању од опција.

Инсталација потребног окружења

Arduino окружење се може преузети са званичне странице за оперативне системе Linux, Windows и Mac OS X. Писано је у Java програмском језику и користи avr-gcc као преводилац (енгл. compiler). Ово окружење је у потпуности open source. Са званичне странице га можете преузети и одмах покренути без икакве инсталације. Неке Linux дистрибуције имају овај програм у својим складиштима пакета па га можете и инсталирати као и већину осталих програма на систему.

Arduino окружење – карактеристике и начин функционисања

 

Интерфејс окружења је веома једноставан и прилагођен свакоме. Прво што би требало урадити јесте да изаберемо модел Arduino плоче коју користимо (у нашем случају Arduino Uno). Ово можемо урадити тако што ћемо отићи у горњем менију у Tools па затим Board и тамо пронаћи Arduino Uno. Наравно, поступак је исти и за остале плоче. Оно што је сјајно јесте да у одељку File → Examples имамо доста добрих примера за доста ствари. Исто тако на званичној Arduino страници постоји доста примера, документације и референци. У менију File имате опцију Upload која ће превести (компајлирати) наш програм и пребацити га на Arduino. Такође примећујемо да се по отварању окружења аутоматски започиње нов пројекат па одмах можемо почети са програмирањем. Имамо и опцију да сачувамо наш пројекат. Програм се уписује у flash меморију и потом се извршава на Arduino уређају. Када следећи пут отпремите (upload-ујете) програм на Arduino, онај стари ће се избрисати из flash меморије и на његово место ће доћи нови. Испод едитора текста налази се линија на којој можете видети грешке које Вам избацује преводилац (compiler) приликом превођења (нa пример, синтаксне грешке).

Довољно је да Arduino повежемо са рачунаром, у окружењу откуцамо програм и коришћењем опције Upload програм упишемо у Arduino и уређај је спреман за рад.

Истим каблом који се најчешће користи за штампаче можемо повезати и Arduino са рачунаром.

Напомена: Препоручујемо да Arduino плоча буде повезана само са рачунаром приликом отпремања програма на њу.

Breadboard

Breadboard је табла која помаже да са лакоћом формирамо велики број електричних кола. Оно што ми видимо јесте табла са контактима који су међусобно повезани. Сви контакти у првом реду су повезани и сви контакти у другом реду су повезани, сви контакти у последњем реду су повезани и сви контакти у предпоследњем реду су повезани. Сви остали редови нису повезани али су колоне повезане. Као што се може приметити, прва 2 реда су одвојена од редова у средини. Ово омогућава лагано разумевање повезаности контакта. Дакле у средини су контакти у истој колони повезани а на крајевима су повезани контакти у истом реду.

LED

LED (Light Emitting Diode) је врста диоде која емитује светлост када кроз њу прође струја. Обично диода има напон 1-2 [V] па је потребно повезати и отпорник редно са њом. Треба такође обратити пажњу да диода има аноду и катоду, односно позитиван и негативан контакт. LED диода ће светлети само ако је повезана правилно (анода је +).

У нашем првом пројекту ћемо да испрограмирамо Arduino да упали LED диоду па после неког времена је угаси и све тако док се Arduino напаја са USB кабла прикљученог на рачунар.

Програмирање

За почетак да нагласимо да се програми пишу у програмском језику C. Структуру програма чине 2 функције. Једна је setup() а друга је loop(). Прва функција се извршава по покретању Arduino контролера док се друга извршава после ње и понавља се све док је Arduino укључен.

Функције које ћемо користити у овом пројекту су:

  1. pinMode(…),
  2. digitalWrite(…) и
  3. delay(…).

Алгоритам:

  1. У setup() функцији коришћењем pinMode(…) подешавамо контакт (pin) 0 на OUTPUT мод. Ово значи да уписујемо вредност 0 или 1 на тај контакт, односно шаљемо сигнал на тај контакт.
  2. У loop() функцији правимо једну променљиву типа bool чија ће вредност прво бити false и после сваког извршавања ћемо јој мењати вредност. На основу овог ћемо знати да ли смо послали сигнал 1 или 0.
  3. На основу вредности горепоменуте променљиве шаљемо сигнал 1 или 0 на контакт 0 коришћењем функције digitalWrite(…).
  4. Сада подешавамо променљиву на супротну вредност.
  5. Користимо функцију delay(…) да назначимо паузу у извршавању у неком временском трајању.

Имплементација:

bool enabled = false; 
void setup()
{
pinMode(0, OUTPUT);
}
void loop()
{
if (enabled)
{
digitalWrite(0, LOW);
enabled = false;
}
else
{
digitalWrite(0, HIGH);
enabled = true;
}
delay(1000); // 1000ms = 1s
}

Пребацивање програма на Arduino:

Повежите Arduino на рачунар и коришћењем опције Upload пребаците програм у Arduino.

Повезивање:

Потребно је један крај диоде (анода) везати на контакт 0, други крај (катода) на отпорник и њега повезати на GND контакт на Arduino плочи. Ово можете урадити на breadboard-у (везивање отпорника и диоде).

Напомена: Да би се Arduino напајао можете користити USB конекцију са рачунаром. Овде нисмо објашњавали коришћење батерије као извор напајања.

Претходни део | Наставак