Пређи на садржај

Arduino

С Википедије, слободне енциклопедије
Датум измене: 10. јул 2012. у 01:17; аутор: Xqbot (разговор | доприноси) (r2.7.3) (Робот: додато gl:Arduino)
Arduino softver
Skirinšot Arduino softvera, vidi se jednostavan početnički program "Blink"
Програмер(и)Arduino Software
Стабилно издање
1.0 / 30. novembar 2011.
ТипIntegrisano razvojno okruženje
Веб-сајтwww.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. 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

Hardver

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, poizvode 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 16MHz 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

Arduino integrisano razvojno okruženje je aplikacija napisana u Java programskom jeziku. Kreirano je tako da uvede u programiranje umetnike, 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, pozitivna strana LED diode mora biti povezana na pin 13 a negativna strana 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

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

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

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.

Spoljašnje veze