Zakretanje

Osim što robot može voziti ravno unaprijed i unazad, on se može zakretati u lijevu i u desnu stranu te tako promijeniti smjer kretanja, proći kroz zavoj ili voziti u krug.

Prije svakog zadatka proučite primjere zakretanja robota.

Zakretanje udesno po centralnoj osi desnog kotača

Robot će se na početku programa zakrenuti u desnu stranu za otprilike 90 stupnjeva (to ovisi o brzini i vremenu zakretanja te napunjenosti baterija).

Za zakretanje udesno po centralnoj osi desnog kotača, lijevi motor mora pokrenuti lijevi kotač određenom brzinom, a desni kotač se pri tome ne okreće.

U naredbama za kretanje, lijevi motor je označen argumentom left, smjer kretanja je Forward (unaprijed) te mu je brzina postavljena na 150. Desni motor je označen argumentom right, smjer kretanja je Forward (unaprijed), no on ne pokreće kotač jer je njegova brzina nula. Zakretanje će trajati pola sekunde (pause (ms) 500) i zatim će se robot zaustaviti (motor all stop).

Zakretanje ulijevo po centralnoj osi lijevog kotača

1. Zadatak

Izradite program kojim će robot vožnjom ravno i zakretanjem udesno voziti po zamišljenoj stazi u obliku kvadrata. Neka samo jednom napravi obilazak u obliku kvadrata.

Kretanje ravno neka traje 1 sekundu, a zakretanje udesno pola sekunde. Prije svake promjene u gibanju neka se kratko zaustavi. Brzine kretanja i zakretanja odredite sami (ovisno o opsegu puta (kvadrata) koji želite da robot prijeđe te napunjenosti njegovih baterija).

Rješenje

Objašnjenje

Robot treba samo jednom obići zamišljenu stazu u obliku kvadrata pa će se cijeli program odvijati u on start bloku. Kako bi se kretao po stazi u obliku kvadrata, treba 4 puta voziti ravno (po stranicama kvadrata) i 3 puta zakrenuti udesno.

on start blok stavite naredbe za vožnju ravno 1 sekundu: motor all move Forward at speed 120 i pause (ms) 1000. Nakon svakog gibanja se mora kratko zaustaviti pa nakon vožnje ravno stavite naredbe za kratko zaustavljanje. Uzmite naredbu motor left stop iz kategorije Maqueen i umjesto left odaberite all te naredbu pause (ms) 200 iz Basic kategorije.

Sada je još preostalo 3 puta ponoviti zakretanje udesno i vožnju ravno. Stoga, iskoristite petlju repeat 4 times do iz kategorije Loops i umjesto 4 upišite broj 3. U repeat petlju prvo dodajte naredbe za zakretanje udesno. Iz Maqueen kategorije naredbi dvaput uzmite naredbu motor left Forward at speed 0, stavite ih u repeat petlju, te u drugoj umjesto left odaberite right. Kod zakretanja udesno, desni kotač miruje, a lijevi se kreće pa u naredbi motor left move Forward at speed 0 upišite brzinu 190. Još dodajte pauzu od pola sekunde jer toliko treba trajati zakretanje udesno. I nakon zakretanja neka se robot treba kratko zaustaviti pa dodajte naredbe: motor all stop i pause (ms) 200. U nastavku ovih naredbi stavite naredbe za vožnju ravno 1 sekundu (motor all move Forward at speed 120pause (ms) 1000) i naredbe za kratko zaustavljanje (motor all stop, pause (ms) 200).

Skretanje u zavojima

Prije rješavanja zadatka proučite primjere programa kojima robot skreće udesno i ulijevo i tako svladava zavoje na putu.

Skretanje udesno

Robot skreće udesno 2 sekunde.

Oba motora se kreću u istom smjeru, različitom brzinom.

U naredbama za kretanje, desni motor je označen argumentom right, smjer kretanja je Forward (unaprijed) te je brzina postavljena na 70. Lijevi motor je označen argumentom left, smjer kretanja je Forward (unaprijed)te je brzina postavljena na 220.

Brojevi 70 i 220 označavaju brzinu kojom se kotači na robotu okreću. Što je razlika između tih brzina veća to će robot „oštrije“ skretati. Robot će skretati u onu stranu na kojoj je namještena manja brzina okretanja motora.

Skretanje ulijevo

Robot skreće ulijevo 2 sekunde.

Oba motora se kreću u istom smjeru, različitom brzinom.

U naredbama za kretanje, lijevi motor je označen argumentom left, smjer kretanja je Forward (unaprijed) te je brzina postavljena na 70. Desni motor je označen argumentom right, smjer kretanja je Forward (unaprijed)te je brzina postavljena na 220.

Brojevi 70 i 220 označavaju brzinu kojom se kotači na robotu okreću. Što je razlika između tih brzina veća to će robot „oštrije“ skretati. Robot će skretati u onu stranu na kojoj je namještena manja brzina okretanja motora.

2. Zadatak

Temeljem prikazanih primjera napravite program kojim će robot pritiskom na tipkalo A voziti u krug oko zamišljene vanjske točke. Neka se njegovo kružno kretanje odvija 10 sekundi i neka bude u lijevu stranu.

Rješenje

Objašnjenje

Iz kategorije Input odaberite naredbu on button A pressed i stavite je u prostor za programiranje. U naredbu on button A pressed stavite dvaput naredbu motor left Forward at speed 0 iz kategorije Maqueen. U drugoj motor left Forward at speed 0 naredbi promijenite left u right. Kružno kretanje se treba odvijati u lijevu stranu pa brzina lijevog motora treba biti manja od brzine desnog motora. Postavite brzinu lijevog motora na 60, a desnog na 255. Nakon toga dodajte pauzu od 10 sekundi i zaustavite kretanje robota naredbom motor all stop.