Kretanje

Prije rješavanja zadataka proučite primjere programa kojima se robot kreće ravno unaprijed i ravno unazad.

Kretanje unaprijed

Robot se kreće ravno unaprijed 5 sekundi brzinom 150.

Oba motora se kreću u istom smjeru, istom brzinom.

U naredbi za kretanje oba motora su označena argumentom all, smjer kretanja je Forward (unaprijed) te je brzina postavljena na 150.

Broj 150 označava brzinu kojom se robot kreće. Što je taj broj veći, to se robot brže kreće. Najveća brzina kojom se robot može kretati je 255, a ako je brzina 0, robot miruje.

Kretanje unazad

Robot se kreće ravno unazad 5 sekundi brzinom 150.

Oba motora se kreću u istom smjeru, istom brzinom.

U naredbi za kretanje oba motora su označena argumentom all, smjer kretanja je Backward (unazad) te je brzina postavljena na 150.

Broj 150 označava brzinu kojom se robot kreće. Što je taj broj veći, to se robot brže kreće. Najveća brzina kojom se robot može kretati je 255, a ako je brzina 0, robot miruje.

1. Zadatak

Izradite program kojim će se micro:Maqueen robot kretati ravno 2 sekunde te se zatim zaustaviti na 1 sekundu. Neka se takav slijed ponavlja beskonačno mnogo puta.

Rješenje

Objašnjenje

Iz Maqueen kategorije naredbi odaberite motor left move Forward at speed 0 naredbu te ju postavite unutar forever naredbe. Ovom naredbom se pokreće lijevi motor željenom brzinom. Iz prvog padajućeg izbornika u naredbi motor left move Forward at speed 0 odaberite opciju all kako bi se naredba odnosila na oba motora. Iz drugog padajućeg izbornika odaberite opciju Forward ako već nije odabrana te u argument naredbe upišite 100. Broj 100 označava brzinu kojom se robot kreće. Što je taj broj veći, to se robot brže kreće. Najveća brzina kojom se robot može kretati je 255, a ako je brzina 0, robot miruje.

Zatim dodajte pauzu od 2 sekunde naredbom pause (ms) 2000 kako bi se robot kretao 2 sekunde.

Za zaustavljane robota duplicirajte naredbu motor all move Forward at speed 100 te promijenite posljednji argument iz 100 u 0. Kad postavite brzinu motora na 0, tada će se robot zaustaviti. Na kraju dodajte pauzu od 1 sekunde.

Prebacite program na micro:bit i pogledajte kao se robot neprestano pokreće i zaustavlja.

2. Zadatak

Proširite prethodni program tako da se robot nakon vožnje unaprijed vrati na mjesto s kojeg je krenuo vožnjom unatrag. To znači da nakon zaustavljanja i pauze od 1 sekunde, mora voziti unazad istom brzinom. Nakon vožnje unazad neka se robot zaustavi na pola sekunde.

Rješenje

Objašnjenje

Upotrijebite cijeli program prethodnog zadatka i u njega najprije dodajte naredbu za vožnju unatrag. Stoga, na kraju programa, unutar forever petlje, postavite naredbu motor all move Forward at speed 0. U njoj argument Forward postavite na Backward, a na mjesto brzine upišite broj 100. Time ste u program dodali naredbu za vožnju unazad. Dodajte još naredbu pauze od 2 sekunde (pause (ms) 2000) kako bi se robot, vožnjom unazad, vratio na početnu poziciju. Za zaustavljanje robota iskoristite naredbu motor left stop, te u njoj umjesto left odaberite all kako bi oba motora prestala s radom. Na kraju dodajte pauzu od pola sekunde.