Ардуино

С Википедије, слободне енциклопедије
Ардуино софтвер
Скириншот Ардуино софтвера, види се једноставан почетнички програм "Блинк"
Скириншот Ардуино софтвера, види се једноставан почетнички програм "Блинк"
Програмер(и)Ардуино Софтwаре
Стабилно издање
Написан уЈава (програмски језик)
ТипИнтегрисано развојно окружење
Веб-сајтhttp://arduino.cc/

Ардуино је физичко-рачунарска платформа (развојни систем) отвореног кода. Хардвер се састоји од једноставног отвореног хардверског дизајна Ардуино плоче са Атмел АВР процесором и пратећим улазно-излазним елементима, тачније, на себи поседује микроконтролер. Софтвер се састоји од развојног окружења које чине стандардни компајлер и боотлоадер који се налази на самој плочи.

Ардуино хардвер се програмира користећи програмски језик заснован на Wiring језику (синтакса и библиотеке). У основи је сличан C++ програмском језику са извесним поједностављењима и изменама. Интегрисано развојно окружење је засновано на Processing-у.

Платформа[уреди | уреди извор]

Хардвер[уреди | уреди извор]

Званична Ардуино Дуемиланове плоча (рев 2009б).
Arduino Ethernet плоча у оригиналном паковању.

Ардуино плочу чине 8-битни Атмел АВР микроконтролер са припадајућим компонентама које омогућавају програмирање и повезивање са другом електроником. Битан аспект Ардуино пројекта је стандардизован распоред конектора који омогућава лако повезивање са додатним модулима, познатијим као штитови. Ове додатне модуле, штитове, производе разни произвођачи широм света. Званичне Ардуино плоче углавном користе megaAvr серију чипова, конкретно ATmega8, ATmega168, ATmega328, ATmega1280 и ATmega2560. Већина плоча поседује 5V линеарни напонски регулатор и 16 MHz кристални осцилатор (или керамички резонатор у неким верзијама). Ардуино микроконтролери се испоручују са програмираним боотлоадер-ом који поједностављује поступак пребацивања преведеног кода у флеш меморију на чипу. Други микроконтролери обично захтевају засебан програматор.

Софтвер[уреди | уреди извор]

Ардуино интегрисано развојно окружење је апликација написана у Јава програмском језику. Креирано је тако да уведе у програмирање ученике, студенте и остале почетнике који нису упознати са начином развоја софтвера. Састоји се од уређивача кода са могућностима као што су означавање кода, упаривање заграда, аутоматско увлачење линија. Овај уређивач може да преведе кôд а затим га и пребаци у чип једном командом. У овом случају није потребно подашавати параметре превођења кода или покретати програме из командне линије.

Ардуино интегрисано развојно окружење долази са C/C++ библиотеком званом "Wiring" која чини уобичајене улазно-излазне операције веома једноставним. Ардуино програми се пису у C/C++ програмском језику, мада корисници морају да дефинишу само две функције како би направили извршни програм. Те функције су:

  • сетуп() - функција која се извршава једном на почетку и служи за почетна подешавања
  • лооп() - функција која се извршава у петљи све време док се не искључи плоча

Типичан први програм једноставно пали и гаси LED диоду. У Ардуино окружењу, корисник би могао да напше овакав програм:

#define LED_PIN 13

void setup () {
    pinMode (LED_PIN, OUTPUT);     // definiši pin 13 kao digitalni izlaz
}

void loop () {
    digitalWrite (LED_PIN, HIGH);  // uključi LED
    delay (1000);                  // sačekaj jedan sekund (1000 milisekundi)
    digitalWrite (LED_PIN, LOW);   // isključi LED
    delay (1000);                  // sačekaj jedan sekund
}

Да би овај кôд исправно радио, анода LED диоде мора бити повезана на пин 13 а катода LED диоде на уземљење (у овом случају негативни део напајања). Овај пример од стране стандардног C++ преводиоца не би био виђен као исправан програм, међутим када корисник изда команду за превођење, овом коду се додаје извесно заглавље и једна једноставна main() функција чиме он постаје исправан.

Ардуино рзвојно окружење користи GNU toolchain и AVR Libc за превођење програма.

Званични хардвер[уреди | уреди извор]

Оригинални Ардуино хардвер производи италијанска компанија Smart Projects. Неке од Ардуино плоча је дизајнирала америчка компанија SparkFun Electronics

За сада постоји укупно тринаест званичних Arduino плоча које се производе у комерцијалне сврхе:

  1. Serial Arduino, програмира се преко DE-9 серијског конектора и користи ATmega8 микроконтролер
  2. Arduino Extreme, са USB интерфејсом за програмирање и користи ATmega8
  3. Arduino Mini, минијатурна Arduino верзија у SMD технологији са ATmega168
  4. Arduino Nano, најмања, USB Arduino верзија, користи површински монтирани ATmega168 (ATmega328 у новијим верзијама)
  5. LilyPad Arduino, минималистички дизајнирана, користи се за "електронику која се носи", користи површински монтиран ATmega168
  6. Arduino NG, са USB интерфејсом за програмирање, користи ATmega8
  7. Arduino NG plus, са USB интерфејсом за програмирање, користи ATmega168
  8. Arduino Bluetooth, са Bluetooth интерфејсом за програмирање, користи ATmega168
  9. Arduino Diecimila, са USB интерфејсом за програмирање, користи ATmega168 у DIL28 кућишту
  10. Arduino Duemilanove ("2009"), користи ATmega168 (ATmega328 за новије верзије) а напаја се преко USB/DC напајања уз аутоматско пребацивање
  11. Arduino Mega, користи површински монтиран ATmega1280 за додатне улазе и излазе, као и додатну меморију
  12. Arduino Uno, користи исти ATmega328 као и Duemilanove модел, али уместо FTDI чипсета за USB, Uno користи ATmega8U2 програмиран као серијски конвертор
  13. Arduino Mega2560, користи површински монтиран ATmega2560, проширујући расположиву меморију на 256 kB. Такође садржи и нови ATmega8U2 USB чипсет

Отворени хардвер и отворени код[уреди | уреди извор]

Arduino референтни дизајн хардвера се дистрибуира под CC лиценцом и доступан је на Arduino званичном сајту. Распоред компонената као и фајлови неопходни за производњу појединих верзија су такође на располагању. Изворни кôд за интегрисано развојно окружење и библиотеке су доступне и дистрибуирају се под GPLv2 лиценцом.

Додатни хардвер[уреди | уреди извор]

Arduino и Arduino компатибилне плоче користе штитове, односно засебне штампане плоче које се монтирају на Arduino плочу и остварују електрични контакт са њом преко постојећих пинова-конектора. Ови штитови проширују основне могућности Arduino плоче и могу да обављају разне функције, нпр. контроле мотора, повезивање сензора, бежичне комуникације итд.

Управљање[уреди | уреди извор]

Програмирање[уреди | уреди извор]

Програмирање у Ардуину је прилично једноставно. Ардуино програмски код састоји се од 2 основна дела:

  • сетуп()
  • лооп().

При томе, сетуп() представља део кода којим се врши подешавање Ардуино контролера (улаза и излаза, комуникације са рачунаром или неким другим уређајем и слично). Док је лооп() део кода који Ардуино стално понавља.[1]

Модели за управљање[уреди | уреди извор]

Ардуино Уно

Интерфејс за управљање је микроконтролер-плоча. Постоји више Ардуино плоча: Уно, Дуе, Мега, Нано итд. На улазе овог контролера могуће је довести тастере, прекидаче, готове тастатуре, различите сензоре (температуре, притиска, протока, ИЦ сензоре…), док се излази могу повезати на широк спектар извршних уређаја – ЛЕ диоде, сијалице, зујалице, моторе, екране за приказ података… Произведен је велики број готових додатних штитова (shields) и модула, а осим готових могуће је направити и сопствене. Ардуино УНО је најбоља хардверска верзија за почетнике. То је микроконтролерска плоча која се базира на АТМЕГА328 интегрисаном колу. Има 14 дигиталних I/О пинова, од којих 6 могу да се користе као тзв. “ПWМ” излази, 6 аналогних улаза, кристални осцилатор од 16 МХз, УСБ конектор, прикључак за напајање, ИЦСП конектор и тастер за ресетовање. Примери модела за управљање преко Ардуина:

  • ЛЕД
  • Мотор
  • Семафор
  • Седмостепени дисплеј итд.

Примена[уреди | уреди извор]

ЛЕД

С обзиром на веома једноставну употребу и мале, безбедне напоне напајања, Ардуино може послужити као одлично наставно средство на часовима информатике или техничког и информатичког образовања у вишим разредима основне школе. Потребно је изабрати и повезати одређене компоненте, прикључити уређај преко УСБ-а на рачунар, у програмском окружењу подесити основне податке (тип плоче, назив серијског порта преко којег се врши комуникација) и кренути са писањем програмских линија. Ардуино може бити коришћен и на часовима информатике и програмирања у гимназијама и средњим сручним школама[2].

Референце[уреди | уреди извор]

  1. ^ „Arduino”. Arduino upravljanje. Pristupljeno 14. 10. 2017. 
  2. ^ „Arduino”. Arduino u školi. Pristupljeno 14. 10. 2017. 

Spoljašnje veze[уреди | уреди извор]