Robotika
mBotPrvi program za mBota!
Sad kad smo naučili, kako sastaviti robota i kako ga spojiti na računalo, idemo napisati naš prvi program. Dok ste se igrali s robotom vjerojatno ste primijetili da na sebi ima dva svijetla koja mogu mijenjati boju. To su RGB diode. Njihov naziv dolazi od engleske skraćenice RedGreenBlue. Naš prvi zadatak je napraviti program koji će mijenjati boje tih RGB dioda. Prije nego krenemo s programiranjem pogledajmo kako izgleda sučelje mBlock programa.
U gornjem lijevom uglu nalazi se popis kategorija naredbi. Kada odaberemo pojedinu kategoriju mijenjaju se naredbe koje možemo koristiti u programu, a koje se prikazuju odmah ispod toga u dijelu obilježenom zelenom bojom. Središnji dio, koji je obilježen ljubičastom bojom služi za sastavljanje programa za robota. Desni dio sučelja prikazuje Arduino kod koji će se upisati u robota. Za početnike je ovaj desni dio za sada nebitan.
Program za našeg robota piše se tako da se odabrane naredbe s popisa naredbi mišem odvuku u središnji prostor za pisanje programa po «drag and drop» principu. Kako smo već rekli mi ćemo robota koristiti u Arduino načinu rada (više o tome možete pogledati u objavljenom članku o početnim postavkama računala i robota) pa svaki program započinjemo naredbom mBot Program koja se nalazi u kategoriji Robots.
Odaberite kategoriju Robots te iz popisa narebi odvucite naredbu mBot Program u prostor za pisanje programa kako je prikazano na sljedećoj slici.
Izvrsno, već polako postajete programeri! Prije nego krenemo programirati našeg robota idemo definirati što želimo da on radi.
Zadatak: Neka svijetla na robotu trepere – blinkaju. Neka se na robotu uključi crveno svijetlo na jednu sekundu, a nakon toga zeleno svijetlo na jednu sekundu i tako u krug.
Znači, želimo postići da se treperenje – blinkanje svjetala stalno ponavlja. Za to ćemo upoznati naredbu koji ćemo koristiti u gotovo svim našim programima. To je naredba Forever i nalazi se u Control kategoriji.
Naredba Forever zapravo je petlja. Ona služi da se određene naredbe ponavljaju zauvijek, po tome je i dobila naziv.
Kada pišemo program bitno je znati da se naredbe izvršavaju jedna po jedna od vrha programa prema dnu, pa je zbog toga važno da su naredbe spojene. Otvorite Control kategoriju te odvucite Forever naredbu odmah ispod mBot Program naredbe. Primijetite, kada jedna naredba dođe blizu druge pojavljuje se bijela linija između dvaju naredbi koja označava da će se kada otpustite miša naredbe spojiti.
Sada nam preostaje robotu reći što želimo da stalno ponavlja i te naredbe ubaciti u forever petlju.
Za početak neka se uključi crveno svijetlo na jednu sekundu. Sve naredbe kojima zadajemo robotu da nešto uključi ili isključi, da se pomakne, očita stanje senzora ili obavi vilo koji zadatak koji je vezan za njegovo sklopovlje nalaze se u kategoriji Robots. Iz te kategorije sada ćemo odabrati naredbu za uključivanje svjetala koja se naziva Set led.
Ova naredba omogućava nam da RGB diode na robotu postavimo da svijetle nekom određenom bojom.
Kako bi podesili kojom će bojom svijetliti diode služimo se argumentima naredbe. Argumenti nam omogućavaju da kod nekih naredbi mijenjamo način na koje će se one izvršiti. Kod ove naredbe moguće je odabrati jačinu svjetlosti za svaki dio RGB diode. Mi želimo da na početku svijetli crvena boja pa ćemo odabrati «red» dio i postaviti maksimalnu jačinu svijetlosti – 255. Kada kliknete na malu strelicu kraj broja za «red» dio diode prikazati će se mali izbornik iz kojeg možete odabrati željenu jačinu svijetla. Odaberite 255.
Ova nam je naredba uključila crveno svijetlo, a mi želimo da ono traje jednu sekundu pa ćemo nakon ove naredbe reći robotu da pričeka jednu sekundu. To možemo učiniti naredbom Wait. Ova se naredba nalazi u Control kategoriji.
Postavite wait naredbu kako je prikazano na sljedećoj slici.
Do sada smo napisali program koji će uključiti crvenu diodu i sačekati jednu sekundu. Sada moramo dodati sličan dio za zelenu diodu.
Nakon što je crvena dioda svijetlila jednu sekundu nju ćemo isključiti, u isto vrijeme ćemo uključiti zelenu diodu i ponovno sačekati jednu sekundu. Obzirom da su nam za to potrebe iste dvije naredbe kao i za crveno svijetlo možemo ih samo iskopirati.
Kliknite desnom tipkom miša na set led naredbi i odaberite opciju duplicate kako je prikazano na sljedećoj slici.
Dvije nove naredbe postavite nakon prethodnih i podesite da u drugom slučaju crvena dioda ne svijetli (njezinu jačinu svjetlosti postavite na nulu) a neka zelena dioda svijetli najjače. Sljedeća slika prikazuje gotov program.
Kako bi robot počeo s izvršavanjem programa potrebo je program prebaciti u robota. Taj se postupak pokreće tipkom Upload to Arduino na desnoj strani korisničkog sučelja kako je prikazano na sljedećoj slici.
Važno: Kako bi prebacivanje programa na robota bilo moguće robot mora biti spojen na računalo putem USB kabla te sklopka na robotu mora biti uključena. Također, robot mora biti povezan s mBlock programom preko opcije Connect – Serial port kako je to prethodno pojašnjeno u članku o početnim postavkama računala i robota. Povezivanje s mBlock programom potrebno je napraviti svaki put kada robota priključite na računalo.
Nakon što odaberete opciju Upload to Arduino sačekajte desetak sekundi dok se program prevede i započeti će prebacivanje programa u Vašeg robota kako je prikazano na sljedećoj slici.
Kada postupak završi Vaš će robot započeti s izvođenjem programa. Bravo! Sad ponosno možete reći da ste ušli u svijet robotike!
Ne zaboravite da robot može pohraniti samo jedan program u jednom trenutku. Svaki put kada prebacite novi program onaj stari će biti izbrisan. Ukoliko želite vratiti osnovni tvornički program u robota pogledajte naše upute o brisanju programa s robota.
Zabavljate se i učite s Vašim robotima. Pokušajte promijeniti gornji program da crveno i zeleno svijetlo duže traju ili pak da svijetli crveno, pa zeleno pa plavo svijetlo. Ne zaboravite da više boja možete uključiti odjednom i tako njihovim miješanjem dobiti nove boje. Želimo Vam puno zabave, a ako budete trebali pomoć pišite nam na naš Croatian Makers forum.