Usporavanje i zaustavljanje kod prepreke

Zadatak

Izradite program kojim će robot prepoznati prepreku na određenoj udaljenosti te nakon toga usporiti. Kad se skroz približi prepreci, zaustavlja se.

Rješenje

Objašnjenje

Robot se pokreće pritiskom na tipkalo (wait until when on-board button pressed). U kategoriji Variables opcijom Make a Variable kreirana je varijabla prepreka i u programu je postavljena na vrijednost 100. Slijedi repeat until petlja kojom je definirano kako će se robot kretati sve dok vrijednost varijable prepreka ne bude manja od 10 (repeat until prepreka < 10), a kad se taj uvjet ispuni, robot se zaustavlja (stop moving). Unutar repeat until petlje nalaze se if then naredbe. U prvoj if then naredbi robot kreće ravno, dok je udaljenost od prepreka veća od 30 (if prepreka > 30, move forward at power 50%). U drugoj if then naredi timer se resetira svakih 0.1 sekundu (if timer > 0.1 then reset timer) nakon čega mijenja vrijednost varijable prepreka s obzirom na očitanje od ultrazvučnog senzora (set prepreka to ultrasonic sensor port3 distance(cm)). Unutar druge if then naredbe nalazi se još jedna kojom robot vozi manjom brzinom (move forward at power 20), ako se udaljenost od prepreke između 30 i 10 centimetara.