Arduino

S Vikipedije, slobodne enciklopedije
Arduino softver
Skirinšot Arduino softvera, vidi se jednostavan početnički program "Blink"
Skirinšot Arduino softvera, vidi se jednostavan početnički program "Blink"
Programer(i)Arduino Software
Stabilno izdanje
Napisan uJava (programski jezik)
TipIntegrisano razvojno okruženje
Veb-sajthttp://arduino.cc/

Arduino je fizičko-računarska platforma (razvojni sistem) otvorenog koda. Hardver se sastoji od jednostavnog otvorenog hardverskog dizajna Arduino ploče sa Atmel AVR procesorom i pratećim ulazno-izlaznim elementima, tačnije, na sebi poseduje mikrokontroler. Softver se sastoji od razvojnog okruženja koje čine standardni kompajler i bootloader koji se nalazi na samoj ploči.

Arduino hardver se programira koristeći programski jezik zasnovan na Wiring jeziku (sintaksa i biblioteke). U osnovi je sličan C++ programskom jeziku sa izvesnim pojednostavljenjima i izmenama. Integrisano razvojno okruženje je zasnovano na Processing-u.

Platforma[uredi | uredi izvor]

Hardver[uredi | uredi izvor]

Zvanična Arduino Duemilanove ploča (rev 2009b).
Arduino Ethernet ploča u originalnom pakovanju.

Arduino ploču čine 8-bitni Atmel AVR mikrokontroler sa pripadajućim komponentama koje omogućavaju programiranje i povezivanje sa drugom elektronikom. Bitan aspekt Arduino projekta je standardizovan raspored konektora koji omogućava lako povezivanje sa dodatnim modulima, poznatijim kao štitovi. Ove dodatne module, štitove, proizvode razni proizvođači širom sveta. Zvanične Arduino ploče uglavnom koriste megaAvr seriju čipova, konkretno ATmega8, ATmega168, ATmega328, ATmega1280 i ATmega2560. Većina ploča poseduje 5V linearni naponski regulator i 16 MHz kristalni oscilator (ili keramički rezonator u nekim verzijama). Arduino mikrokontroleri se isporučuju sa programiranim bootloader-om koji pojednostavljuje postupak prebacivanja prevedenog koda u fleš memoriju na čipu. Drugi mikrokontroleri obično zahtevaju zaseban programator.

Softver[uredi | uredi izvor]

Arduino integrisano razvojno okruženje je aplikacija napisana u Java programskom jeziku. Kreirano je tako da uvede u programiranje učenike, studente i ostale početnike koji nisu upoznati sa načinom razvoja softvera. Sastoji se od uređivača koda sa mogućnostima kao što su označavanje koda, uparivanje zagrada, automatsko uvlačenje linija. Ovaj uređivač može da prevede kôd a zatim ga i prebaci u čip jednom komandom. U ovom slučaju nije potrebno podašavati parametre prevođenja koda ili pokretati programe iz komandne linije.

Arduino integrisano razvojno okruženje dolazi sa C/C++ bibliotekom zvanom "Wiring" koja čini uobičajene ulazno-izlazne operacije veoma jednostavnim. Arduino programi se pisu u C/C++ programskom jeziku, mada korisnici moraju da definišu samo dve funkcije kako bi napravili izvršni program. Te funkcije su:

  • setup() - funkcija koja se izvršava jednom na početku i služi za početna podešavanja
  • loop() - funkcija koja se izvršava u petlji sve vreme dok se ne isključi ploča

Tipičan prvi program jednostavno pali i gasi LED diodu. U Arduino okruženju, korisnik bi mogao da napše ovakav program:

#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
}

Da bi ovaj kôd ispravno radio, anoda LED diode mora biti povezana na pin 13 a katoda LED diode na uzemljenje (u ovom slučaju negativni deo napajanja). Ovaj primer od strane standardnog C++ prevodioca ne bi bio viđen kao ispravan program, međutim kada korisnik izda komandu za prevođenje, ovom kodu se dodaje izvesno zaglavlje i jedna jednostavna main() funkcija čime on postaje ispravan.

Arduino rzvojno okruženje koristi GNU toolchain i AVR Libc za prevođenje programa.

Zvanični hardver[uredi | uredi izvor]

Originalni Arduino hardver proizvodi italijanska kompanija Smart Projects. Neke od Arduino ploča je dizajnirala američka kompanija SparkFun Electronics

Za sada postoji ukupno trinaest zvaničnih Arduino ploča koje se proizvode u komercijalne svrhe:

  1. Serial Arduino, programira se preko DE-9 serijskog konektora i koristi ATmega8 mikrokontroler
  2. Arduino Extreme, sa USB interfejsom za programiranje i koristi ATmega8
  3. Arduino Mini, minijaturna Arduino verzija u SMD tehnologiji sa ATmega168
  4. Arduino Nano, najmanja, USB Arduino verzija, koristi površinski montirani ATmega168 (ATmega328 u novijim verzijama)
  5. LilyPad Arduino, minimalistički dizajnirana, koristi se za "elektroniku koja se nosi", koristi površinski montiran ATmega168
  6. Arduino NG, sa USB interfejsom za programiranje, koristi ATmega8
  7. Arduino NG plus, sa USB interfejsom za programiranje, koristi ATmega168
  8. Arduino Bluetooth, sa Bluetooth interfejsom za programiranje, koristi ATmega168
  9. Arduino Diecimila, sa USB interfejsom za programiranje, koristi ATmega168 u DIL28 kućištu
  10. Arduino Duemilanove ("2009"), koristi ATmega168 (ATmega328 za novije verzije) a napaja se preko USB/DC napajanja uz automatsko prebacivanje
  11. Arduino Mega, koristi površinski montiran ATmega1280 za dodatne ulaze i izlaze, kao i dodatnu memoriju
  12. Arduino Uno, koristi isti ATmega328 kao i Duemilanove model, ali umesto FTDI čipseta za USB, Uno koristi ATmega8U2 programiran kao serijski konvertor
  13. Arduino Mega2560, koristi površinski montiran ATmega2560, proširujući raspoloživu memoriju na 256 kB. Takođe sadrži i novi ATmega8U2 USB čipset

Otvoreni hardver i otvoreni kod[uredi | uredi izvor]

Arduino referentni dizajn hardvera se distribuira pod CC licencom i dostupan je na Arduino zvaničnom sajtu. Raspored komponenata kao i fajlovi neophodni za proizvodnju pojedinih verzija su takođe na raspolaganju. Izvorni kôd za integrisano razvojno okruženje i biblioteke su dostupne i distribuiraju se pod GPLv2 licencom.

Dodatni hardver[uredi | uredi izvor]

Arduino i Arduino kompatibilne ploče koriste štitove, odnosno zasebne štampane ploče koje se montiraju na Arduino ploču i ostvaruju električni kontakt sa njom preko postojećih pinova-konektora. Ovi štitovi proširuju osnovne mogućnosti Arduino ploče i mogu da obavljaju razne funkcije, npr. kontrole motora, povezivanje senzora, bežične komunikacije itd.

Upravljanje[uredi | uredi izvor]

Programiranje[uredi | uredi izvor]

Programiranje u Arduinu je prilično jednostavno. Arduino programski kod sastoji se od 2 osnovna dela:

  • setup()
  • loop().

Pri tome, setup() predstavlja deo koda kojim se vrši podešavanje Arduino kontrolera (ulaza i izlaza, komunikacije sa računarom ili nekim drugim uređajem i slično). Dok je loop() deo koda koji Arduino stalno ponavlja.[1]

Modeli za upravljanje[uredi | uredi izvor]

Arduino Uno

Interfejs za upravljanje je mikrokontroler-ploča. Postoji više Arduino ploča: Uno, Due, Mega, Nano itd. Na ulaze ovog kontrolera moguće je dovesti tastere, prekidače, gotove tastature, različite senzore (temperature, pritiska, protoka, IC senzore…), dok se izlazi mogu povezati na širok spektar izvršnih uređaja – LE diode, sijalice, zujalice, motore, ekrane za prikaz podataka… Proizveden je veliki broj gotovih dodatnih štitova (shields) i modula, a osim gotovih moguće je napraviti i sopstvene. Arduino UNO je najbolja hardverska verzija za početnike. To je mikrokontrolerska ploča koja se bazira na ATMEGA328 integrisanom kolu. Ima 14 digitalnih I/O pinova, od kojih 6 mogu da se koriste kao tzv. “PWM” izlazi, 6 analognih ulaza, kristalni oscilator od 16 MHz, USB konektor, priključak za napajanje, ICSP konektor i taster za resetovanje. Primeri modela za upravljanje preko Arduina:

  • LED
  • Motor
  • Semafor
  • Sedmostepeni displej itd.

Primena[uredi | uredi izvor]

LED

S obzirom na veoma jednostavnu upotrebu i male, bezbedne napone napajanja, Arduino može poslužiti kao odlično nastavno sredstvo na časovima informatike ili tehničkog i informatičkog obrazovanja u višim razredima osnovne škole. Potrebno je izabrati i povezati određene komponente, priključiti uređaj preko USB-a na računar, u programskom okruženju podesiti osnovne podatke (tip ploče, naziv serijskog porta preko kojeg se vrši komunikacija) i krenuti sa pisanjem programskih linija. Arduino može biti korišćen i na časovima informatike i programiranja u gimnazijama i srednjim sručnim školama[2].

Reference[uredi | uredi izvor]

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

Spoljašnje veze[uredi | uredi izvor]