Da se lahko začnemo pogovarjati o Arduinu moramo najprej razčistiti kaj Arduino sploh je. Večina, ki je že slišala za Arduino platformo si pod to besedo predstavlja malo modro razvojno ploščico, ki se ji reče Arduino UNO. Da, Arduino je tudi tudi to. A če smo natančni, pojem Arduino obsega še integrirano razvojno okolje (IRO), sestrske razvojne plošče (npr. Arduino Due), ter filozofijo pristopa. Ker smo čisto na začetku si lahko privoščimo še kratek pogled nazaj.
Kaj je to Arduino?
Začetki Arduina segajo v davno leto 2005. Ime nosi po kralju Arduinu iz Ivree (Piemont, Italija), kjer je bil tudi zasnovan. Samo ime naj bi pomenilo “močan prijatelj”. Prva verzija je imela še serijski priključek, (DE9) vsi ostali modeli pa so že bili opremljeni z USB priključkom. Razvoj Arduina je zanimiva tema že sama po sebi, a poglejmo raje kaj je tista lastnost, ki je razvojno ploščico naredila tako popularno.
Arduino temelji na Atmelovem čipu AVR ATmega 328P. To je 8-bitni mikrokontroler s precej različnimi vhodi in izhodi, a le 28 (DIP verzija) priključki. Posledično je mnogo priključkov multifunkcijskih, kar avtomatično pomeni, da jih moramo ustrezno konfigurirati. Čipu moramo npr. “povedati” ali želimo priključek uporabiti kot digitalni vhod, izhod ali TX priključek serijskega vmesnika. Samo po sebi je to odlična zadeva, vendar zahteva od začetnika veliko časovnega vložka. No, tu pride na vrsto filozofija pristopa. Razvijalci Arduina so se namesto nas odločili katere funkcije so najbolj pogoste in jih postavili kot privzete. Tako je npr. privzeto, da so PORTCn vrata analogni vhodi (tisti, ki že uporabljate Arduina jih boste prepoznali pod imeni Analog0 do Analog5). Da jih začnete uporabljati ne potrebujete nobenih posebnih nastavitev, samo en ukaz je dovolj, da preberete analogno vrednost z njih. No, to da so funkcije privzete je bila velika poenostavitev. Arduino okolje omogoča spreminjanje funkcij posameznih priključkov, vendar to omogoča na zelo enostaven način: ponavadi s klicanjem programske funkcije, ki ima lahko zapomljivo ime, nabor teh ukazov pa je dokaj ozek. Odpade torej brskanje po priročniku in iskanje ustreznih nastavitev registrov z obskurnimi imeni. Zaradi dodatnih klicev je izvajanje programa sicer počasnejše in poraba pomnilnika večja, vendar je to za začetnika ponavadi zadnji problem.
Ta pristop pa se ne odraža samo na programski strani, pač pa tudi na strojni opremi. Za programiranje Arduina ne potrebujete dodatnega programatorja, le standarden USB A/B kabel. Zakaj in kako je to mogoče si bomo podrobneje ogledali pri pregledu strojne opreme.
Skratka Arduino vam omogoča, da kot začetnik dosti prej in z manj začetnega vložka začnete z realizacijo svoje ideje, manjkajoče znanje pa po potrebi dopolnjujete. To je tudi razlog zakaj k Arduinu pristopajo ljudje, ki sicer nimajo izkušenj z mikrokontrolerji ali elektroniko na splošno. Hkrati vam okolje om
ogoča, da dostopate do drugih zmogljivosti čipa, ko napredujete. Malo poetično lahko rečemo, da Arduino raste skupaj z vami.
Strojna oprema
Podrobneje si bomo ogledali Arduino UNO rev.3, ki je direktni potomec originalnega Arduina. Vse ostale izpeljanke se vrtijo okrog tega modela. V nadaljevanju besedila bom Arduino UNO rev.3 poimenoval na kratko kar Arduino. Začnimo z bločno shemo, in preglejmo glavne komponente Arduina.
Da lahko začnemo moramo Arduina najprej priklopiti na napajanje. Za to imamo na voljo 2 priključka. 5.5mm priključek, kjer lahko pripeljemo od 6 do 20V (7-12 priporočeno), ter USB priključek. Napajanje iz USB priključka ima to prednost, da lahko Arduina na ta način hkrati programiramo in z njim komuniciramo med izvajanjem programa. Slaba stran je, da smo omejeni z izhodnim tokom iz USB priključka (maksimalno 500mA).
Programiranje z Arduino (1)
2013_SE211_41