LAKI PINGVINI<>
092016<><>

Razvojna platforma Arduino

U kraljevstvu Arduina

Početak priče o poznatom malenom elektronskom uređaju nas vodi u 2005. godinu, na severozapad Italije, u regiju Pijemont, grad Ivreu i tamošnji fakultet interaktivnog dizajna, gde su predavač Masimo Banzi i student Dejvid Melis krenuli na zadatak da stvore hardversku razvojnu platformu pristupačnu plitkim studentskim džepovima, zasnovanu na mikrokontroleru ATmega128. Važnom se pokazala zamisao da ta platforma radi sa programskim frejmvorkom pod nazivom Wiring, čiji je autor kolumbijac Hernando Baragan. Sticajem okolnosti, Banzi je imao ulogu Baraganovog postdiplomskog supervizora, pa je dobio ideju da Wiring bude iskorišćen za programiranje mikrokontrolera u njihovom uređaju namenjenom studentima interaktivnog dizajna (dakle, više umetnicima nego programerima). Wiring je u suštini pojednostavljena verzija programskog jezika C/C++ optimizovana za obraćanje hardveru. Osim toga, vidljiv je uticaj programske platforme Processing koja ima za cilj da omogući programiranje onima koji se u njega mnogo ne razumeju. Pokazalo se da je to bila dobitna kombinacija, pošto nova platforma ne samo da je bila jeftina, već je prosto plenila svojom jednostavnošću implementacije hardverskih i softverskih rešenja. Arduino nikada nije bio sinonim za vrhunske računarske performanse. Naprotiv, radilo se o vrlo skromnom i jednostavnom hardveru koji u poređenju sa procesorskom snagom i memorijskim kapacitetima današnjih najjeftinijih kineskih tableta izgleda smešno. Sam uređaj po svojoj konstrukciji je toliko prost da bi ga bez problema mogao sastaviti i nešto talentovaniji početnik u svetu elektronike. Ali, da parafraziramo Njegoša i njegove reči o Vuku Mandušiću, umeće korišćenja nekog uređaja važnije je od njegove sirove snage. Uspeh Arduina leži u kombinaciji niske cene, brzine postizanja rezultata, prostote priključivanja periferala, jednostavnosti programiranja i mogućnosti proširivanju osnovnih mogućnosti programskog jezika sa dodatnim bibliotekama. Sve to je uticalo na promenu načina razmišljanja o elektronici koje je od pomalo dosadnog, standardnog inženjerskog pristupa sada okrenuto prema privlačnijem i zanimljivijem principu „uradi sam”. I što je najvažnije, takav pristup donosi rezultate i elektronika je postala pristupačna kao nikada ranije.

Koncept uređaja se brzo dopao brojnim obrazovnim institucijama koje su naručivale serije u stotinama primeraka. Nije trebalo čekati dugo i Arduino je sišao u mase, gde su ga sa oduševljenjem dočekale desetine hiljada hobista i onih koji su želeli da nauče osnovne principe elektronike. Počele su da se izdaju knjige, internet sajtovi su krenuli sa objavljivanjem projekata, interesovanje za hardver je naglo poraslo i bili smo svedoci ponavljanja stvaralačke euforije karakteristične za vreme buma kućnih računara, kada su informatički časopisi iz broja u broj objavljivali hardverske projekte za samogradnju.

Još da razjasnimo odakle potiče naziv same hardverske platforme. Ekipa okupljena oko tog projekta je volela da se sastaje u kafiću koji nosi naziv po Arduinu od Ivree, italijanskom kralju u razdoblju od 1002. do 1014. godine.

Kada se radi o platformi Arduino vrlo je važno istaknuti činjenicu da je u pitanju projekat otvorenog koda. U prevodu, sve informacije o arhitekturi uređaja su dostupne svima i ne samo da tvorci na takav način ne sprečavaju pojavljivanje klonova, nego ga direktno i stimulišu. Arduino je sa pravne strane pokriven Creative Commons licencom koja trećim licima dozvoljava modifikacije osnovnog hardvera i prilagođavanje sopstvenim željama i potrebama. Za Arduino se često kaže da je najuspešniji hardverski projekat otvorenog koda.

Dugi niz godina su se za osnovu ovih uređaja koristili mikrokontroleri sa AVR arhitekturom, koji su zbog svoje cene i jednostavnosti upotrebe čest izbor na mnogim fakultetima. Tek negde od prošle godine započinje znatna diversifikacija po pitanju izbora arhitekture mikrokontrolera koji predstavljaju pogonski motor uređaja Arduino. Svedoci smo pojavljivanja novih modela koji u sebi imaju ARM jezgro, a odnedavno je u igru ušao i veliki Intel sa svojim mikrokontrolerom baziranim na x86 arhitekturi.

Da bi komplikovana situacija oko mnoštva uređaja pod nazivom Arduino postala još komplikovanija, potrudili su se pojedinci iz samog projekta. Naime, jedan od ljudi iz originalnog tima Arduino, Đanluka Martino, 2008. godine mimo znanja ostalih kolega, tajno registruje ime Arduino na sebe. Posledica svega toga je da danas postoje dve firme Arduino. Čak su i njihovi sajtovi vizuelno vrlo slični, pa ih je dosta teško razlikovati. Ekipa sa sajtom arduino.cc okuplja najveći deo prvobitne družine „poštenih Arduinovaca”, dok se iza sajta arduino.org">arduino.org">arduino.org nalaze „nečasni Arduinovci”, koji nisu ni malo popularni kod fanatičnih ljubitelja ove platforme. Mnogi su korisnici godinama davali prednost originalnim (i skupljim) modelima koji su bili prepoznatljivi po natpisu „Made in Italy”, misleći da na taj način finansijski pomažu razvoj platforme. Na kraju balade se saznalo da i nije baš bilo tako. Sada je glavni način raspoznavanja modela prisustvo URL adrese sajtova o kojima smo prethodno govorili, kao i uvođenje marke Genuino koja se odnosi na modele za sva tržišta osim SAD. Po svemu sudeći, rat ova dva klana će u budućnosti umnogome iskomplikovati pitanja kompatibilnosti programskih alatki i one više neće biti univerzalne kao do sada.

Osim modela pod zvaničnim nazivom Arduino/Genuino, postoje stotine raznoraznih varijanti tih uređaja. Modeli sa originalnim dizajnom se uglavnom proizvode na zapadu (nazivaju se još i derivatima), dok se po pravilu u Kini prave jeftine kopije komercijalno najuspešnijih varijanti. Pri tome su cene modela kineske proizvodnje 4-5 puta niže, ali je kvalitet (po običaju) dosta relativan i varira od slučaja do slučaja.

Uno

 
Bez ikakve sumnje, ubedljivo najuspešniji Arduino do sada (Slika 1). Reč je o modelu od kojega je ova platforma i postala planetarno poznat fenomen. Za popularnost je u početku bila važna njegova relativno niska cena i bolje mogućnosti u odnosu na prethodnike, pa su autori projekata računajući na što širi auditorijum uzimali Uno za osnovu svojih projekata. Njegova glavna prednost nad snažnijim modelima je u tome što podržava najveći procenat postojećih šildova (naziv za hardverske dodatke koji se priključuju direktno na uređaj), tako da će početnici u najvećoj meri biti zaštićeni od naručivanja pogrešnih komponenti. Radi na brzini od 16 megaherca i ima dva kilobajta RAM i 32 kilobajta fleš memorije. U narednom broju ćemo upravo na ovom modelu (zato ovde ne pišemo opširnije) objasniti neke od najvažnijih stvari koje treba znati kada se govori o Arduino platformi. Trenutna cena originalnih Uno modela je oko 20 evra, dok kineske kopije koštaju tek nekih 3-4 evra.

Due

Iako smo rekli da su kreatori Arduino platforme tek negde tokom 2015. godine prešli na mikrokontrolere sa arhitekturama različitim od AVR, Arduino Due je izuzetak od tog pravila (Slika 2). Reč je o modelu koji se pojavio još 2012. godine i baziran je na Atmelovom ARM Cortex-M3 mikrokontroleru AT91SAM3X8E, koji radi na frekvenciji od solidnih 84 megaherca i razvija brzinu do 103 MIPS-a. Na raspolaganju su nam pedeset i četiri U/I pina, sa dvanaest analognih ulaza frekvencije semplovanja od 12 bita. Tu su još i četiri UART (serijska) porta i dva DAC izlaza, što je najviše od svih dosadašnjih modela. Sve u svemu, dobar potencijal.

Na ploči su prisutna dva mikro USB konektora od kojih je jedan po običaju namenjen programiranju uređaja i napajanju strujom, dok drugi ima mogućnost priključivanja standardnih USB periferija. S obzirom na to da Arduino Due raspolaže sa 96 kilobajta RAM (skoro 50 puta više od modela Uno) i 512 kilobajta fleš memorije za zapisivanje programa, moguće ga je koristiti u prilično složenim projektima.

Prilikom korišćenja ove ploče ne treba gubiti iz vida da ona radi na naponu od 3,3 volte, za razliku od ranijih modela koji su predviđeni za pet volti, jer u suprotnom može doći do pregorevanja uređaja. Prilikom nabavljanja dodatnih šildova, treba da birate one koji rade na 3,3 volta. Ovaj model je trenutno moguće kupiti preko sajta arduino.org po ceni od 40 evra, dok se kineske kopije mogu pazariti za nekih desetak evra.

MEGA 2560

 
Ovaj model je pre svega namenjen onima kojima je potrebna istovremena kontrola nad većim brojem ulaznih i izlaznih uređaja. MEGA 2560 (Slika 3) je zasnovana na osmobitnom kontroleru Atmega2560, koji ima četiri puta više radne i osam puta više fleš memorije od modela Atmega328 i pri tome oba rade na frekvenciji od 16 megaherca. Osim toga, na raspolaganju nam stoje 54 U/I digitalne linije i celih 14 PWM izlaza (Pulse Width Modulation, način emulacije analognog signala uz pomoć digitalnog kvadratnog talasa) uz četiri hardverska UART-a (serijska porta). Veće mogućnosti su za posledicu imale i znatno veće gabarite uređaja, pa je po dužini MEGA 2560 za nekih 3,3 centimetra veća od dimenzija koje ima Uno, dok je širina ostala jednaka. Generalno, MEGA 2560 se zaista može smatrati kao „mega” varijanta Uno modela i kao takva je prvenstveno orijentisana prema naprednim korisnicima koji su već ispekli hardverski zanat. Za prvi put i za edukativne potrebe, Uno je više nego dovoljan. Ukoliko baš želite da od samog početka budete „mega”, onda ćete za originalnu verziju izdvojiti 35 evra, dok se ekvivalenti sa oznakom „Made in China” mogu nabaviti već za 6-7 evra.

101

Intel je davno shvatio da dolazi vreme kada će sićušni mikrokontroleri biti ugrađivani u praktično sve predmete kojima se svakodnevno koristimo. Posle pametnih telefona, naočara, televizora i satova, očekujte i pametne cipele, jakne, rukavice, torbe i ko zna šta još sve ne. Upravo za tu namenu su pre nekoliko godina razvili familiju sićušnih mikroprocesora pod nazivom Quark, koja bi trebalo da obezbedi pristojne performanse uz vrlo malu potrošnju energije. Glavna ciljna grupa njihovog novog SoC procesora pod nazivom Curie (Slika 4) je tzv. wearable segment tržišta, pa su iz tog razloga u njega ugradili podršku za Bluetooth LE, žiroskop, RTC i termo senzor. Zanimljiva specifičnost ovog uređaja je da u sebi ima dva mikroprocesorska jezgra od kojih je jedno x86, dok je drugo ARC (Argonaut RISC Core). I što je još zanimljivije, ovo drugo jezgro pogoni minijaturni operativni sistem pod nazivom Zephyr, a iza kojeg stoji Linux Fondacija. Curie ima 384 kilobajta fleš memorije ali je samo polovina dostupna korisniku (ostatak ide za pomenuti Zephyr). Slično tome, od 80 kilobajta statičke RAM, korisnik vidi tek 20 kilobajta. Što se tiče x86 seta mašinskih instrukcija koje podržava Curie, on je ekvivalentan sa onim kod starih Pentium mikroprocesora bez MMX instrukcija. Međutim, ne postoji način da (za sada) direktno pristupamo tim resursima. Benčmark testovi su pokazali da performanse u radu sa FP brojevima mizerne, što može da bude posledica loše optimizacije kompajlera. Treba imati u vidu da je cela platforma još uvek u fazi razvoja i da će u budućnosti mnoge stvari biti ispravljene.

 
Iako je učinjeno dosta na polju održanja kompatibilnosti sa modelom Uno (zadržan je isti raspored pinova), „sto kec” ima dva PWM izlaza manje, dakle, četiri (Slika 5). Koristi se napajanje od 3,3 volta, ali su pinovi konektora tolerantni i na napon od pet volti. Ipak, za očekivati je da će najveći deo šildova kompatibilnih sa Uno bez problema raditi i na ovom modelu. Cena originala se kereće u rasponu od 15-30 evra (zavisno od toga gde se kupuje), što uz njegove dodatne mogućnosti i performanse predstavlja dobar izbor.

Zero

Naziv dolazi od arhitekture ugrađenog mikrokontrolera ARM Cortex M0+ (kod ekipe oko arduino.org se ovaj model naziva Arduino M0). U ovom modelu je to Atmel SAMD21 MCU koji radi na 48 megaherca i razvija brzinu od 43 MIPS-a (Slika 6). U pitanju je arhitektura koja je prvenstveno okrenuta ka maksimalnoj ekonomiji energije, što je u ovakvim uređajima često od velikog značaja. Kada tome dodamo 256 kilobajta fleš memorije i 32 kilobajta RAM, jasno je da je u pitanju model koji spada u višu klasu Arduino porodice. I ovde na raspolaganju imamo dva mikro-USB konektora od kojih je jedan namenjen komunikaciji uređaja sa računarom i (eventualno) snabdevanju strujom, dok drugi možemo da koristimo kao USB hab za dodavanje raznoraznih periferala. Napomena koju smo dali kada smo opisivali Arduino Due važi i ovde, pa treba da budete oprezni i da na konektore ne dovodite napon od pet volti.

U pitanju je prvi Arduino model koji podržava funkciju EDBG (Embedded DeBuGger), koja omogućava direktno analiziranje programa bez bilo kakvog dodatnog hardvera. Što se tiče cene, varijanta arduino.cc je u vreme pisanja teksta na njihovom sajtu koštala 42 evra, dok je kod rivala iz „.org” bila čak za 20 evropskih novčanica niža.

LilyPad

Ako bismo pripadnicama lepšeg pola predložili da za svoje potrebe izaberu neki Arduino uređaj, više smo nego sigurni da bi izbor pao upravo na ovaj simpatični model (Slika 7). I zaista, na internetu se može primetiti da su žene dosta česti korisnici LilyPada, a i reč je o proizvodu koji je konstruisala dama, Lia Bikli, sa namenom da se koristi u kreacijama odevnih predmeta. Prečnik pločice iznosi pet centimetara, što za pomenutu namenu i nije tako malo. Za povezivanje sa periferijama se koristi specijalni konac koji provodi električnu energiju (oveće klupko košta oko 40 USD). Postoji više različitih modula za napajanje koji koriste litijumske CR22, AAA ili polimer baterije i svi oni se ušivaju unutar odeće. Od ostalih stvari koje se mogu koristiti uz LilyPad, tu su: LED lampice, prekidački tasteri, mini vibratori, piezo elementi, Bluetooth i Wi-Fi moduli. A onda kada se na to dodaju svakojaki senzori za temperaturu, vazdušni pritisak, jačinu svetlosti, ultraljubičasto zračenje, žiroskopi i razna druga čudesa tehnike, eto prave hardverske infrastrukture u našoj odeći. S obzirom na to da se pojavio još pre nekih 7-8 godina, ne možemo se oteti utisku da je LilyPad kreacija ispred svog vremena. Neće biti iznenađenje ako se uskoro pojavi sličan uređaj baziran na Intelovom mikrokontroleru Curie o kome smo govorili prilikom opisivanja Arduina 101. Originali koštaju oko 15 evra dok se kineske kopije mogu nabaviti već po ceni od tri evra. Pored standardnog, postoje još i modeli LilyPad Arduino Simple i SimpleSnap. Oba imaju duplo više memorije i svega jedanaest pinova, dok model SimpleSnap umesto rupica koristi kontaktne tastere i ima ugrađenu Li-Po bateriju sa zadnje strane.

• • •

Glavna svrha ovog teksta je da čitaoce upozna sa najzanimljivijim predstavnicima Arduino porodice koji su trenutno dostupni na tržištu. Najsigurnija varijanta za početnike je kupovina modela Uno, dok zahtevnijim korisnicima više odgovara model MEGA2560. Model Due je najbrži Arduino do sada i nudi mnoštvo U/I kanala. Zero je svojevrsni Uno sa bržim ARM procesorom i sa ugrađenom podrškom za analizu programskog koda. Još nije najjasnija situacija oko svežeg modela 101 koji uvodi Intelove tehnologije u Arduino svet, ali je njegov potencijal svakako izvestan. LilyPad je kreiran za specifične namene pa nije najpodesniji za početnike. Zbog ograničenog prostora nismo prikazali još neke zanimljive modele. Jedan od njih je sićušni (1,8 × 3,3 centimetara) Arduino Pro Mini koji ima karakteristike modela Uno, sa cenom originala od osam evra i kopija koje koštaju manje od 1,2 evra!

U sledećim nastavcima ćemo obraditi filosofiju korišćenja Arduina na primeru modela Uno, osnovne pojmove vezane za programiranje, razvojna okruženja i slično. Posle toga, na red dolaze hardverski projekti koji će vas uveriti kako je lako učiti elektroniku uz pomoć Arduina.

Igor S. RUŽIĆ

Arduino modeliUnoDue101MEGA2560ZeroLilyPad
MikrokontrolerATmega328PAT91SAM3X8EIntel CurieMega2560ATSAMD21G18ATmega328V
ArhitekturaAVRARMx86AVRARMAVR
Frekvencija16 MHz84 MHz32 MHz16 MHz48 MHz8 MHz
SRAM2 KB96 KB (64 + 32 KB)24 KB (80)8 KB32 KB1 KB
Flash memorija32 KB512 KB196 KB (384)256 KB256 KB16 KB
Radni napon5 V3,3 V3,3 V (5 V tol. I/O)5 V3,3 V2,7-5,5 V
Ulazni napon (min./maks.)6-20 V6-20 V7-20 V7-20 V5-15 V2.7-5.5 V
Ulazni napon (preporučen)7-12 V7-12 V7-12 V7-12 V7-12 V2.7-5.5 V
Struja po U/I pinu40 mA130 mA (za sve)20 mA40 mA7 mA40 mA
UART14-42-
Digitalnih U/I linija14 (6 PWM)54 (6 PWM)14 (4 PWM)54 (14 PWM)2014 (6 PWM)
Analognih ulaza6 (10-bit ADC)12 (12-bit ADC)616 (10-bit ADC)6 (12-bit ADC)6 (10-bit ADC)
Analognih izlaza02 (12-bit DAC)001 (10-bit DAC)0
Brzina [MIPS]161034716438
 
Mitovi i legende
Grub Customizer 5.0.6
Variety 0.6.2
Razvojna platforma Arduino
Šta mislite o ovom tekstu?
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera