Kaj je Arduino?

Arduino IDE

You don’t need anyone’s permission to make something great.

Massimo Banzi

Arduino je odprtokodna (open-source) elektronska naprava (mikrokrmilnik na matični plošči), ki je zasnovana tako, da je postopek uporabe le te čim bolj preprost. Arduino je ekosistem, je platforma. Pod odprtokodni mislim, da so dizajnerji ploščic (Interaction design institute Ivrea) dovolili vpogled elektronskih načrtov in dovolili drugim izdelovalcem strojne opreme izdelovati in prodajati svoje izdelke, ki pa so kompatibilni z originalom.

Arduino open source TED
Massimo Banzi

Strojno opremo sestavljajo 8-bitni mikrokontroler Atmel AVR ali 32-bitni Atmel ARM. Programska oprema je sestavljena iz standardnega programskega jezikaprevajalnika in zagonskega nalagalnika, ki se izvaja na mikrokrmilniku. Razvojne plošče Arduino so praviloma že sestavljene (plug and play) in prepravljene za uporabo.

Arduino je platforma. Je ekosistem.

Zgodovina Arduino krmilnikov

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

Osnova logika uporabe

Osnova logika uporabe elektronske ploščice kot je Arduino je v tem, da je univerzalno uporabna rešitev. V središču imamo mikroprocesor, ki izvaja naš program in glede na vhodne veličine nekaj izvaja na izhodnem delu. Klasični vhodi in izhodi so lahko digitalni (binarni) ali pa analogni (zvezni: 0 – 5V). Vhodne podatke lahko dobimo preko podatkovnega protokola (I2C, serial USB, SPI, 1-wire). Mogoče vhodnih podatkov niti nimamo, ampak jih računamo sami. Skratka možnosti je neomejeno. Mi kot uporabnik definiramo kaj bomo s platformo počeli. Smiselno je tudi poudariti, da svoj projekt lahko vseskozi spreminjamo/nadgrajujemo glede na potrebe. Dodajamo nove senzorje, nove module, nove načina prikaza podatkov, lahko dodamo WiFi možnost komunikacije, …

In vse to za zelo nizko ceno. Ravno ta cenovna dostopnost in fleksibilnost sta pripomogla k eksploziji uporabe. V osnovi je bila platforma narejena prav za nezahtevnega uporabnika. Za nekoga, ki ne pozna sveta elektronike in programiranja. Za nekoga, ki bo Arduino prvič videl in bo po parih minutah že nalagal prve primere programa in prižigal LED diode in releje.

Arduino UNO glavni sestavni deli

Arduino UNO glavni sestavni deli

1.  Reset tipka – S pritiskom na tipko resetiramo mikrokrmilnik. Program se začne izvajati od začetka. Če imamo v programu neko vrsto inicializacije, ki se izvede samo ob zagonu in recimo resetira komunikacijo in vse postavi na začetno stanje, je reset tipka lahko zelo uporabna.

2.  AREF – Okrajšava za “Analog Reference”. Na ta pin pripeljemo zunanjo napetost, ki bo služila kot referenčna napetost za AD pretvornik. Z njo definiramo zgornjo mejo meritve napetosti analogne vhoda.

3.  GND – Pin na katerega je pripeljan najnižji napetostni nivo 0Vdc. Na ploščici jih imamo več.

4.  Digitalni vhodi/izhodi –  Pine 0 – 13 lahko uporabimo za vhode ali izhode. Izbiro definiramo v programu.

5.  PWM – Pini z dodatno oznako (~) nam s pomočjo programa lahko proizvedejo PWM signal. Torej impulze spremenljive dolžine kar je za porabnike lahko videti kot analogni izhod. Na tak načil lahko simuliramo analogni izhod, ki ga Arduino UNO nima.

6.  USB konektor – USB povezavo uporabljamo za napajanje in nalaganje programa. Med delovanjem lahko služi tudi kot prenos podatkov med računalnikom in mikrokrmilnikom, če smo tako sprogramirali.

7.  TX/RX – LED-ici ki utripata, ko imamo prenos podatkov. Utripata recimo, ko nalagamo program.

8.  ATmega mikrokrmilnik –  Mikrokrmilnik. Glavni del platforme. V njem je program.

9.  LED za indikacijo napajanja

10. Napetostni regulator – Kot že samo ime pove, regulator skrbi, da ima platforma stabilno napetost 5Vdc ne glede na vhodno napetost. Seveda ima regulator svoje omejitve in na njega lahko praviloma priklopimo 7-12Vdc. Prav tako je omejitev toka, ki lahko teče skozi regulator.

11. DC napajalni konektor – Preko njega na platformo pripeljemo zunanje napajanje (7-12Vdc)

12. 3.3V Pin – Na tem pini lahko dostopamo do 3.3Vdc napetosti, ki jo platforma prav tako preko napetostnega regulatorja proizvede sama. Običajno jo uporabimo za napajanje senzorjev ali naprav, ki delujejo samo na tem napetostnem nivoju in bi jih klasičnih 5Vdc uničilo.

13. 5V Pin –  Na tem pini lahko dostopamo do 5Vdc napetosti.

14. GND – Pin na katerega je pripeljan najnižji napetostni nivo 0Vdc. Na ploščici jih imamo več.

15. Analogni pini –  Sem lahko pripeljemo zunanje napetosti, ki jih želimo meriti. To so običajno napetosti, ki jih dobimo iz raznih senzorjev.

Integrirano vezje

Verjetno ste že slišali za izraz elektronsko integrirano vezje (IC). To je v bistvu mali računalnik, ki nekaj preračunava. Včasij je bilo za njegovo uporabo potrebno precej predznanja. Tako znanja elektronike kot programskega predznanja. Verjetno je bilo potrebno tudi znanje same izdelave elektronske ploščice (torej jetkanje in razvijanje). Z Arduino projektom so naredili napravo, kjer to predznanje ni več pogoj za začetek. Naprava je sestavljena in pripravljena za uporabo. Torej priklop na osebni računalnik, prenos kode, prvo programiranje, testiranje itd. Arduino krmilnik ima odprtokodno strojno opremo. To pomeni, da so elektronski načrti prosti za vpogled. Posledično so Arduino krmilnike začeli izdelovati v Aziji v milijonskih nakladah kar je ceno pripeljalo do tja kjer je danes.

2Q==

Programska oprema

Skupaj s samim Ardiuno krmilnikom so pripravili tudi progmasko okolje Arduino IDE in v njega že v startu naložili osnovne programe, ki jih lahko naložimo in testiramo. Sedaj že legendarni projekt je “Blink”. Gre za preprost primer programa s pomočjo katerega utipa LED dioda. In da. Prav zato ima vsak recimo Arduino MEGA ali Arduino UNO že vgrajeno LED diodo, ki jo uporabimo ravno za ta prvi program. Ste vedeli, da omenjena krmilnika že iz tovarne pridete z prednaloženim “blink” programom? Smo že povedali da je Arduino IDE brezplačna programska oprema? Brezplačna za prenos iz interneta in uporabo.

arduino ide

Kaj sploh lahko sprogramiramo z Arduino krmilnikom?

V programskem okolju Arduino IDE imamo na izbiro veliko funkcij. Te so kot LEGO kocke. Kaj bomo z njimi sestavili je odvisno od nas. Prvi programi oziroma prve verzije bodo seveda preproste. S časom bodo rasle v vedno kompleksnejšo kodo. Sicer smo omejeni s prostorom v Arduino krmilnikom ampak za začetek ga bo več kot dovolj. Če pa program preraste naš krmilnik, vzamemo močnejšo verzijo.

1*e61hq3n1oaigYEnN Er7mQ

Arduino periferija

Slej ko prej bomo na svoj Arduino začeli priklapljati razne dodatke. Razna stikala, tipke, upore, LED diode, klasične releje, SSR releje, senzorje, prikazovalnike. Tem se reče periferija in služijo kot nadgradnja osnovnega elektronskega vezja. Sicer lahko posežemo po klasičnih elementih, lahko pa dodajamo module, kjer je potrebna samo povezave preko vezic. Dandanes je možno kupiti tudi najbolj preproste module kot so recimo modul z eno samo LED diodo.

Arduino UNO

Koliko stane Arduino krmilnik?

No tukaj pridemo do zanimivega dela. Da bi kupili par Arduino krmilnikov, nekaj preriferije in nekaj modulov nam ne bo potrebno prodati ledvice. Najpreprostejši pri samih proizvajalcih stanejo par €. Ko pridejo do nas pa so še vedno pod 10€. To pa je cena, ki si jo danes večina brez težav privošči.

In kje naj dobim ta Arduino?

No. Ravno zato imamo www.arduino.si. Spletna trgovina je nastala iz lastne potrebe. Ko sam iščeš in naročaš material ugotoviš, da je ali drag in hitro dostopen ali pa poceni in je nanj potrebno čakati več kot mesec dni. www.arduino.si rešuje to težavo. Zelo hitro lahko pridemo do želenega materiala po zelo dostopnih cenah. Možen je celo osebni prevzem za tiste, ki se jim res mudi ali pa ne želijo imeti opravka s pošto Slovenije. Kar jih čisto razumem. 🙂

Scratch your own itch.