Arduino

Arduino je danas najrasprostranjenija platforma otvorenog tipa za razvoj uređaja zasnovanih na mikrokontrolerima. Nastala je kao sredstvo za učenje, a vremenom je prerasla u alat koji se koristi i u ozbiljnom inženjerskom radu.

U našoj praksi Arduino je okruženje u kome nastaje programska podrška za sve IoT uređaje koje razvijamo, pa i za one ugrađene u informacioni sistem vetrogeneratora.

Šta je zapravo Arduino

Prvo, to je porodica pločica sa mikrokontrolerom, priključcima za senzore i aktuatore i priključkom za povezivanje sa računarom. Drugo, to je razvojno okruženje na računaru, u kome se program piše, prevodi i prenosi na pločicu. Treće, to je zajednica korisnika, sa objavljenim rešenjima, bibliotekama i primerima.

Sve troje je otvorenog tipa. Šeme pločica su javno objavljene, pa ih pravi veliki broj proizvođača, a okruženje se besplatno preuzima. Upravo ta otvorenost objašnjava i rasprostranjenost i nisku cenu.

Razvojno okruženje

Program se piše u jeziku zasnovanom na C i C++. Svaki program ima dve obavezne celine. Prva se izvršava jednom, pri pokretanju uređaja, i u njoj se podešava sve što treba pripremiti. Druga se ponavlja neprekidno, dok uređaj radi, i u njoj se odvija samo merenje, obrada i slanje.

Ta podela odgovara prirodi uređaja koji stalno nešto prati, pa početnik brzo shvati logiku, a iskusan inženjer dobija okruženje koje mu ne stoji na putu.

Okruženje sadrži i nadzor serijske veze, kojim se na ekranu računara prate poruke koje uređaj šalje. U razvoju je to najčešće korišćeni alat za proveru da li uređaj radi ono što se od njega očekuje.

Biblioteke i druge pločice

Za gotovo svaki senzor koji se može kupiti postoji biblioteka, gotov skup funkcija koje preuzimaju komunikaciju sa tim senzorom. Inženjer time ne mora da ulazi u detalje protokola svakog čipa, nego se bavi onim što je u njegovom zadatku bitno.

Jednako je važno što okruženje nije ograničeno na same Arduino pločice. Dodavanjem podrške za druge platforme, u našem slučaju za module ESP32 i ESP8266, u istom okruženju razvija se program za pločicu koja sa Arduinom deli samo način rada, ali ne i poreklo.

To je razlog zašto Arduino IDE koristimo i kada uređaj uopšte nije Arduino: alat je poznat, biblioteke postoje, a vreme razvoja je kratko.

Dokle doseže i gde su granice

Dobro podnosi uređaje koji u petlji mere nekoliko veličina, obrade ih i pošalju dalje. Tu je brzina razvoja njegova najveća prednost: od ideje do prototipa koji radi prolazi nekoliko dana.

Granice se javljaju kod zadataka sa strogim zahtevima u pogledu vremena, kod velikog broja istovremenih poslova i kod sistema gde se traži sertifikovana pouzdanost. U takvim slučajevima posao preuzimaju namenski razvojni alati proizvođača ili programabilni logički kontroleri.

Za inženjera to nije mana, nego pitanje izbora alata prema zadatku. Arduino pokriva širok pojas, a izvan njega postoje rešenja koja su za taj pojas i napravljena.

Zašto ga koristimo

Cena pločice i alata nije prepreka, biblioteke skraćuju razvoj, a znanje je prenosivo: ko savlada rad u ovom okruženju, može da pređe sa jedne platforme na drugu bez učenja ispočetka.

U godinama iza nas na toj osnovi razvijeni su uređaji za merenje položaja, vremena i brzine, kao i sistem za nadzor rada vetrogeneratora. Nijedan od tih poslova ne bi bio izvodljiv u istom obimu da je za svaki trebalo nabavljati namensku opremu.