Zakretanje

Prije rješavanja zadatka proučite primjere zakretanja robota.

Zakretanje udesno po centralnoj osi desnog kotača

Robot će se nakon pritiska na tipkalo A 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 (wait 0.5 seconds) i zatim će se robot zaustaviti (set all motor stop).

Zakretanje ulijevo po centralnoj osi lijevog kotača

Robot će se nakon pritiska na tipkalo A zakrenuti u lijevu stranu za otprilike 90 stupnjeva (to ovisi o brzini i vremenu zakretanja te napunjenosti baterija).

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

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

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 bloku micro:bit starts. Kako bi se kretao po stazi u obliku kvadrata, treba 4 puta voziti ravno (po stranicama kvadrata) i 3 puta zakrenuti udesno.

U kategoriji Control pronađite naredbu wait until. Kao uvjet postavite A button pressed? iz micro:bit kategorije. Dok taj uvjet nije ispunjen, program stoji. Stavite naredbe za vožnju ravno 1 sekundu: set all motor direction rotate forward speed 200 i wait 1 seconds. Naredba za kretanje nalazi se u Expansion Board kategoriji, a naredba wait u Control kategoriji. Nakon svakog gibanja se mora kratko zaustaviti pa nakon vožnje ravno stavite naredbe za kratko zaustavljanje. Uzmite naredbu set left motor stop iz kategorije Expansion Board i umjesto left odaberite all te naredbu wait 0.2 seconds iz Control kategorije.

Sada je još preostalo 3 puta ponoviti zakretanje udesno i vožnju ravno. Stoga, iskoristite petlju repeat 10 times iz kategorije Control i umjesto 10 upišite broj 3. U repeat petlju prvo dodajte naredbe za zakretanje udesno. Iz Expansion Board kategorije naredbi dvaput uzmite naredbu set left motor direction rotate forward speed 200, stavite ih u repeat petlju, te u drugoj mjesto left odaberite right. Kod zakretanja udesno, desni kotač miruje, a lijevi se kreće pa u naredbi set left motor direction rotate forward speed 200 upišite brzinu 190. Još dodajte pauzu od pola sekunde (wait 0.5 seconds) jer toliko treba trajati zakretanje udesno. I nakon zakretanja robot se treba kratko zaustaviti pa dodajte naredbe: set all motor stop i wait 0.2 seconds. U nastavku ovih naredbi stavite naredbe za vožnju ravno 1 sekundu (set all motor direction rotate forward speed 200 i wait 1 seconds) i naredbe za kratko zaustavljanje (set all motor stop i wait 0.2 seconds).