Skoči na vsebino

Izvirni Frankenstein

Zgodovina miniaturnih in poceni računalnikov je zdaj že precej dolga, seznam takih računalnikov, ki jih lahko kupimo za drobiž, prav tako. Tokrat mi je prišel pod roke posebnež, ki bo v pravih rokah resnično zaživel.

Nedvomno najbolj priljubljen in znan je Raspberry Pi, ki so ga v prvotni različici izdali leta 2012 in so si ga prvotno zamislili kot računalnik, ki bo britanski mladini dal potrebna znanja za razvoj programske in strojne opreme. Zgodba pa se je odvila povsem drugače, posvojili smo ga konjičkarji, ki ga uporabljamo za večpredstavno napravo, pa pametne hiše, otroci in mladina ga obožujejo, podjetja pa celo uporabljajo v svojih izdelkih v povsem komercialne namene. V vsega štirih letih so prodali neverjetnih 6 milijonov kosov. Trenutno sta aktualna dva modela – »klasični« Raspberry Pi 3, ki poganja operacijska sistema Linux in Windows, in neverjetno poceni, a zmogljiv Raspberry Pi Zero, ki stane manj kot 5 funtov!

A v senci te neverjetne zgodbe o računalniku, velikem kot kreditna kartica, se skriva veliko manj znana, a po svoje še bolj zanimiva in impresivna zgodba. To je zgodba o mikrokontrolerju in vezju okrog njega, imenovanem Arduino. Tudi ta se začenja v približno istem času, leta 2005, kot projekt italijanskih študentov, do danes pa se je razrasla v vsesvetovno gibanje, ki ima v času razmaha »interneta stvari« pred seboj še svetlo prihodnost.

Bistvena razlika med Arduinom in Raspberry Pijem je v tem, da je »RPi« polnokrvni računalnik ARM. To pomeni, da potrebuje za delovanje operacijski sistem, lahko uporablja znane vhodne naprave, miško, tipkovnico, vsebino zaslona pošilja na izhod HDMI, ima več vrat USB, na katere lahko priključimo vse mogoče naprave, od spletnih kamer do tiskalnikov. Arduino pa je »le« priročno zapakiran mikrokontrolerski čip, opremljen z množico vhodno-izhodnih nožic, in zato ni primeren kot predvajalnik domače zbirke glasbe, filmov in TV nadaljevank. Razširitve naprav Arduino so namenjene priklopu različnih razširitev, vezij, tipal in vseh mogočih elektronskih komponent. Naprava je idealna za učenje elektrotehnike, izdelavo hobi in profesionalnih elektronskih naprav za vse mogoče namene. Ker je Arduino povsem odprtokoden, si ga lahko izdela vsak, ki ima primerne stroje. Zato boste v kitajskih spletnih trgovinah našli številne kline, ki trdijo, da so 100 % združljivi z izvirnim izdelkom. Mnogi seveda so, kljub temu da so še cenejši, med njimi pa se skrivajo tudi izdelki slabše kakovosti, ki vam bodo požrli živce z nepredvidljivim delovanjem. Zaradi zapletov med ustanovitelji okrog imena Arduino se je glavni izdelovalec odločil, da svoja vezja po svetu od leta 2015 naprej poimenuje Genuino, v ZDA pa jih še vedno tržijo pod izvirnim imenom, Arduino.

Izdelkov pod znamko Arduino/Genuino je precej, najbolj znan in razširjen je model Uno, za katerega je na voljo največ razširitev, nasvetov, knjig in drugega gradiva. Nam pa je zašel v roke model 101, ki je iz več razlogov nekaj posebnega.

Čeprav se ponaša z združljivostjo z Arduinom Uno, je v resnici naprava z dvema jedroma, eno je vrste x86 (Quark), drugo pa ARC (Argonaut RISC Core); obe bijeta s hitrostjo 32 MHz (to je dvakrat hitreje kot Uno). Podobno kot Uno ima tudi 101 štirinajst digitalnih vhodno/izhodnih nožic in šest analognih vhodov, razširitev USB connector se uporablja za napajanje in serijsko komunikacijo, programiranje. Tudi priključek za napajanje je enak kot pri Uno. Enako kodo, kot jo uporabljamo za programiranje modela Uno, Intelova programska oprema prevede za njihovi jedri in poskrbi za optimalno porazdelitev dela med njiju.

Genuino 101

Genuino 101 je poseben zaradi dodatnih zmogljivosti, ki jih v modelih Uno in sorodnih ne bomo našli. Predvsem je vanj vgrajen priročen nizkoenergetski modul Bluetooth, šestosni merilnik pospeškov, žiroskop in realnočasovni modul. To omogoča izdelavo napravic, ki jih upravljamo z mobilnih telefonov ali druge mobilne naprave prek povezave Bluetooth in ki lahko prepoznava geste, šteje korake in podobno. Za te zmožnosti je zaslužen Intelov modul Curie, ki ga je Intel naredil za izdelavo prototipov športnih naprav, napravic, ki so vgrajene v oblačila, in podobno.

Genuino 101

Prvi priklop

Eksperimentiranje z napravico se začne tako, da s spletne strani arduino.cc prenesete programski paket Arduino IDE, namestili pa ga boste lahko tako v Windows kot Mac OS in Linux. Paket vsebuje osnovni vmesnik za programiranje, potrebne gonilnike za množico sorodnih, a različnih plošč in kopico zgledov. Po namestitvi osnovnega paketa moramo dodati še Intelovo razširitev za 101.

Genuino 101 priključimo na računalnik s kablom USB, in sicer različico A-B, to je tista, ki jo največkrat najdemo pri priklopu domačih tiskalnikov v vrata USB. Pripravljeni smo na svoj prvi program!

Naprednejši zgled, ki pokaže, kako uporabljamo merilnike pospeškov, ki so del Genuina 101, za prikaz položaja naprave v prostoru.

Komu je Genuino 101 namenjen?

Če ste izkušen ali vsaj začetniški elektronik, bo 101 za vas zanimiva naprava. Uporabili boste lahko številne vire, ki ste jih zbrali za druge naprave Arduino/Geniuno, obenem pa vam bo na voljo svet sodobnih senzorjev, ki so kakor nalašč za izdelavo »pametnih« prenosnih izdelkov, oblačil in podobnega.

A ne umaknite pogleda z njega, niti če ste začetnik! Čeprav je pravzaprav ustaljena praksa, da začetniki po navadi začenjajo s tipali, stikali, motorčki, svetlečimi diodami in drugimi enostavnimi komponentami, ne bo prav nič narobe, če je že prva izkušnja opremljena z modernimi in modnimi tipali in povezljivostjo Bluetooth.

Kakor nalašč je seveda za mladino, z lahkoto se s svetom elektronike začnejo spoznavati že osnovnošolski otroci. Z nakupom začetniškega paketa lahko sami ali pod vodstvom zgradijo svojega prvega robota ali drugo atraktivno napravo in jo povežejo z računalnikom ali mobilno napravo.

Prvi program

Če na digitalni izhod številka 13 prek ustreznega upornika priklopimo svetlečo diodo LED, smo naredili najenostavnejšo možno napravico, nekakšen »hello world« elektronskega sveta. Da pa je to še enostavneje narediti, je dioda LED pravzaprav že vgrajena kar v samo vezje!

Do naprave, ki bo izmenično prižigala in ugašala svetlečo diodo, nas loči le še nekaj vrstic kode. Prazna predloga, ko poženemo Arduino IDE, še vsebuje potrebne osnove in tudi komentar, ki opiše, kako deluje vsak program Arduino ali Sketch, kot ga imenuje razvojno okolje.

V funkciji setup() bomo inicializirali, naložili ali drugače pripravili na delovanje elektronske komponente, knjižnice in druge sestavne dele naše naprave ali programa.

Koda v funkciji loop() pa se bo na mikrokontrolerju izvajala v nedogled, v neskončni zanki, ki jo prekine nov zagon, ugašanje naprave ali nepričakovana napaka, ki v tem primeru lahko pomeni tudi fizično okvaro.

Ko je program spisan, je naslednji korak prevajanje in prenos na napravo Genuino (Upload), kar v resnici pomeni programiranje mikrokontrolerja na plošči.

Tako je videti »Hello World« v svetu elektronike Arduino.

Genuino 101

Intelova tipala

Za naslednji zgled si bomo sposodili kodo iz izvirnih zgledov za uporabo. Na Genuino 101 naložimo program, ki bo zaznaval orientacijo same plošče. To bo prek enostavnih algoritmov spremenil v trojico števil, ki ponazarjajo naklon plošče v prostoru. Nato program trojice števil izpisuje na zaporedna vrata (spomnimo se, v resnici gre za t. i. »serial over USB«).

Če za branje takih trojic na računalnikovem USBju uporabimo odprtokodni program za vizualizacije Processing, imamo položaj plošče v prostoru izrisan v realnem času.

Še bolj interaktivno napravo pa bomo izdelali, če bomo Genuino 101 prek povezave Bluetooth povezali s senzorjem, ki zna podatke tako pošiljati. Če takega senzorja nimamo pri roki, je za izdelavo prototipa primeren kar mobilni telefon z naloženo ustrezno programsko opremo ali pa uporabimo ustrezen program iz računalnika PC, ki posnema pametno zapestnico ali podobno napravo. Genuino bo prejemal podatke s te naprave in jih prikazoval, obdeloval ali posredoval drugim povezanim komponentam.

Od tu naprej ste omejeni le še z domišljijo. Pobrskajte po spletu za številnimi idejami, eksperimenti, poučnimi članki in se potopite v neskončne globine sveta sodobne elektronike in v splet povezanih naprav!

Objavljeno tudi v reviji Monitor.