Prvi program za mBota

Prvo programiranje mBota!

Sada kad smo naučili kako da sastavimo robota i kako da ga povežemo sa kompjuterom, vreme je da krenemo sa programiranjem. Dok ste se igrali sa mBotom verovatno ste primetili da na sebi ima dva svetla koja mogu menjati boju. To su RGB diode. Njihov naziv dolazi od engleske skraćenice RedGreenBlue. Naš prvi zadatak je da napravimo program koji će menjati boje tih RGB dioda. Pre nego što se upustimo u programiranje, pogledajmo kako izgleda interfejs mBlock programa.

 

U gornjem levom uglu nalazi se popis kategorija komandi. Kada odaberemo određenu kategoriju menjaju se komande koje možemo koristiti u programu, a koje se prikazuju odmah ispod toga u delu obeleženom zelenom bojom. Središnji deo, koji je obeležen ljubičastom bojom služi za sastavljanje programa za robota. Desni deo interfejsa prikazuje Arduino kod koji će se upisati u robota. Za početnike je ovaj desni deo za sada nebitan.

Program za našeg robota piše se tako da se odabrane komande sa liste komandi 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čunara i robota) pa svaki program započinjemo naredbom mBot Program koja se nalazi u kategoriji Robots.

Odaberite kategoriju Robots, pa iz liste komandi  prevucite komandu mBot Program u prostor za pisanje programa kako je prikazano na sledećoj slici.

 

Pre nego što krenemo da programiramo našeg robota, za početak ćemo odrediti šta želimo da on radi.

 

Zadatak: Neka svetla na robotu trepere. Neka se na robotu uključi crveno svetlo na jednu sekundu, a nakon toga zeleno svetlo na jednu sekundu i tako u krug.

Znači, želimo postići da se treperenje, odnosno blinkanje svetala stalno ponavlja. Za to ćemo upoznati komandu koju ćemo koristiti u gotovo svim našim programima. To je komanda Forever i nalazi se u Control kategoriji.

Naredba Forever zapravo je petlja. Ona služi da se određene naredbe ponavljaju zauvek, 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 pa prevucite Forever komande odmah ispod mBot Program komande. Primetite da kada jedna naredba dođe blizu druge pojavljuje se bela linija između dve komande koja označava da će se kada pustite miša komande spojiti.

 

Sada nam preostaje da robotu kažemo šta želimo da stalno ponavlja i da te komande ubacimo u forever petlju.

Za početak neka se uključi crveno svetlo na jednu sekundu. Sve komande kojima zadajemo robotu da nešto uključi ili isključi, da se pomakne, očita stanje senzora ili obavi bilo koji zadatak koji je u vezi sa njegovim hardverom nalaze se u kategoriji Robots. Iz te kategorije sada ćemo odabrati komandu za uključivanje svetla koja se naziva Set led.

 

Ova komanda nam omogućava da RGB diode na robotu postavimo da svetle nekom određenom bojom.

Kako bi podesili kojom će bojom svetleti diode služimo se potvrdama komande. Potvrde nam omogućavaju da kod nekih naredbi menjamo način na koje će se one izvršiti. Kod ove naredbe moguće je odabrati jačinu svetlosti za svaki deo RGB diode. Mi želimo da na početku svetli crvena boja pa ćemo odabrati «red» deo i postaviti maksimalnu jačinu svetlosti – 255. Kada kliknete na malu strelicu kraj broja za «red» deo diode prikazaće se mali meni iz kojeg možete da odabrete željenu jačinu svetla. Odaberite 255.

Ova nam je komanda uključila crveno svetlo, a mi želimo da ono traje jednu sekundu pa ćemo nakon ove komande reći robotu da pričeka jednu sekundu. To možemo učiniti uz pomoć komande Wait. Ova komanda se nalazi u Control kategoriji.

Postavite wait komande kako je prikazano na sledećoj slici.

 

Do sada smo napisali program koji će uključiti crvenu diodu i sačekati jednu sekundu. Sada moramo dodati sličan deo za zelenu diodu.

Nakon što je crvena dioda svetlela jednu sekundu nju ćemo isključiti, u isto vreme ćemo uključiti zelenu diodu i ponovno sačekati jednu sekundu. S obzirom da su nam za to potrebe iste dve komande kao i za crveno svetlo možemo ih samo iskopirati.

Kliknite desnom tasterom miša na set led komandu  i izaberite opciju duplicate kako je prikazano na sledećoj slici.

 

Dve nove komande postavite nakon prethodnih i podesite da u drugom slučaju crvena dioda ne svetli (njenu jačinu svetlosti postavite na nulu) a neka zelena dioda svetli najjače. Sledeća slika prikazuje gotov program.

 

Kako bi robot počeo sa izvršavanjem programa potrebo je program prebacimo u robota. Taj se postupak pokreće tasterom Upload to Arduino na desnoj strani korisničkog interfejsa, kako je prikazano na sledećoj slici.

Važno: Kako bi prebacivanje programa na robota bilo moguće, robot mora biti spojen sa kompjuterom putem USB kabla, a prekidač na robotu mora biti uključen. Takođe, robot mora biti povezan s mBlock programom preko opcije Connect – Serial port kako je to prethodno pojašnjeno u tekstu o početnim postavkama kompjutera i robota. Povezivanje sa mBlock programom potrebno je napraviti svaki put kada robota priključite na kompjuter.

 

Nakon što odaberete opciju Upload to Arduino sačekajte desetak sekundi dok se program prevede i započeće prebacivanje programa u vašeg mBota kako je prikazano na sledećoj slici.

 

Kada se postupak završi vaš robot će početi sa izvođenjem programa. Bravo! Sad ponosno možete reći da ste ušli u svet robotike!

Ne zaboravite da robot može memorisati samo jedan program u jednom trenutku. Svaki put kada prebacite novi program, onaj stari će biti izbrisan. Ukoliko želite da  vratite osnovni fabrički program pogledajte naša uputstva o brisanju programa iz robota.

Zabavljate se i učite sa vašim robotima. Pokušajte da promenite gornji program da crveno i zeleno svetlo duže traju ili pak da svetli crveno, pa zeleno, pa plavo svetlo. Ne zaboravite da više boja možete uključiti odjednom i tako njihovim mešanjem dobiti nove boje. Želimo vam puno zabave, a ako  vam bude trebala pomoć, pišite nam na našem Bitka za znanje Forumu.

Aktuelno

Bitka za znanje
Jevrejska 16
11000 Beograd
+381 11 3284 534

info@bitkazaznanje.rs