Robotika Materijali

Robotika – mBot – rad sa svjetlima

Robot mBot ima na kontrolnoj ploči ugrađene 2 LED lampice. LED lampice emitiraju svjetlo sastavljeno od crvene, zelene i plave komponente boje. Moguća kontrola pojedinog svjetla (lijevo i desno), te kontrola intenziteta pojedine komponente boje.

Primjer

Izradi program za mBot kojim će se upaliti crvena svjetla na robotu na 1 sekundu, te se nakon toga ugasiti.

Upute za izradu programa

Program za mBot se izrađuje korištenjem mBlock-a. Pokreni mBlock. Nakon pokretanja programa, potrebno je uključiti podršku za mBot robot dodavanjem odgovarajućeg uređaja u dijelu „Devices“.

Nakon dodavanja mBot uređaja (device) potrebno je aktivirati upravo taj mBot uređaj i prebaciti mBlock program u tzv “Upload” način rada.

„Upload“ je način rada programa koji je namijenjen upravo programiranju mBot robota, kao i nekih drugih vrsta robota. U tom načinu rada dostupne su naredbe neophodne za interakciju sa robotom, te su uklonjene neke druge naredbe koje nisu vezane uz programiranje robota.

Detaljnije upute za povezivanje mBot robot i mBlock programa, kao i korištenje mBlock programa nalaze se na sljedećoj poveznici: Robotika – instalacija mBlock softvera i prvo pokretanje.

mBlock program prikazuje sljedeću radnu površinu:

Sa lijeve strane se nalaze elementi – naredbe za sastavljanje programa, grupirani u nekoliko grupa označenih raznim bojama. Primjerice, grupa „Controls“ je označena žutom bojom, a grupa „Action“ plavom bojom.

Središnji prostor (na početku je prazan) prikazuje vaš trenutni program. Programiranje robota se provodi povlačenjem elemenata sa lijeve strane u središnji prostor, te povezivanjem elemenata

Početak mBot programa je određen elementom „when mBot(mcore) starts up“:

Koje je boje ovaj element? Pokušaj ga pronaći u grupi „Events“:

Naredbe za kontrolu svjetla na robotu se nalaze u grupi Show:

Ove 3 naredbe omogućavaju kontrolu paljenja/gašenja svjetla na sljedeći način:

  • Prva naredba upali svjetla (korisnik može odabrati boju, na slici je crvena), te po isteku vremena (na slici je 1 sekunda) ugasi svjetla. Nakon gašenja svjetla izvršava se sljedeća naredba programa
  • Druga naredba upali svjetla (korisnik može odabrati boju, na slici je crvena), te se odmah izvršava sljedeća naredba, a svjetla ostaju upaljena.
  • Treća naredba upali svjetla jednako kao i druga naredba, te se odmah izvršava sljedeća naredba, a svjetla ostaju upaljena. Razlika u odnosu na drugu naredbu je što se intenzitet svjetla (red-green-blue komponente) mogu zadati kao brojke, a što kasnije može biti korisno kod kombiniranja sa varijablama ili matematičkim izrazima.
  • U sve tri naredbe, oznaka „all“ označava koje svjetlo se kontrolira.
    • all – oba svjetla
    • led left – lijevo svjetlo
    • led right – desno svjetlo

Kombiniranjem gornjih oznaka moguće je postići razne efekte:

Primjerice, upali oba svjetla crvenom bojom:

Upali lijevo svjetlo zelenom bojom manjeg intenziteta:

Upali desno svjetlo ljubičastom bojom:

Ugasi oba svjetla:

Kako smo ugasili svjetla? Tako da smo sve komponente boja postavili na 0 – mogli bismo reći da smo „upalili crno svjetlo“.

 

U grupi „Control“ se nalazi naredba za čekanje:

Pokušaj samo na osnovu boje ove naredbe brzo pronaći tu naredbu u mBlock-u.

 

Konačno, kombiniranjem svih ovih naredbi možemo riješiti naš zadatak. Zadatak, kada ga raščlanimo na dijelove, kaže:

  1. Početak programa (svaki program MORA imati ovu naredbu)
  2. Upali crvena svjetla
  3. Čekaj jednu sekundu
  4. Ugasi sva svjetla

Posljedično, naš program izgleda ovako:

Moguće je isto postići i sa jednom naredbom:

 

Vježbe

  1. Izradi program kojim će svjetla na robotu svijetliti 3 sekunde crvenom bojom, nakon toga 3 sekunde zelenom bojom, nakon toga 3 sekunde plavom bojom, te će se konačno svjetla ugasiti.

 

  1. Izradi više programa kojim ćeš provjeriti kakve boje dobivaš ako pojedine komponente svjetla (crveno, zeleno ili plavo) međusobno kombiniraš. Već znaš od ranije da crveno=0, zeleno=0, plavo=0 daje crnu boju, crveno=255, zeleno=0, plavo=255 daje ljubičastu boju.

Popuni cijelu tablicu:

Crvena Zelena Plava Koja je to boja?
0 0 0 Crna
255 0 0 Crvena
0 255 0 Zelena
255 255 0  
0 0 255 Plava
255 0 255  
0 255 255  
255 255 255  

 

 

 

 

Autor: Renato Železnjak in Robotika Materijali