Robotika

mBot

mBot – 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 tipku B na daljinskom upravljaču (wait until ir remote B pressed). Varijabla prepreka postavljena je na vrijednost 100. Slijedi repeat until petlja kojom je definirano kako će se robot kretati sve dok vrijednost prepreke ne bude manji od 10 (repeat until prepreka < 10), a kad se taj uvjet ispuni, robot se zaustavlja (run forward at speed 0). Unutar repeat until petlje nalaze se if then naredbe. U prvoj if then naredbi robot kreće brzinom 100, dok je udaljenost od prepreka veća od 30 (if prepreka > 30, run forward at speed 100). U drugoj if then naredi timer se resetira svakih 0.1 sekundu (if timer > 0.1 then reset timer) nakon čega mijenja vrijednost prepreke s obzirom na očitanje od ultrazvučnog senzora (set prepreka to ultrasonic sensor Port3 distance). Unutar druge if then naredbe nalazi se još jedna kojom robot vozi manjom brzinom (run forward at speed 70), ako se udaljenost od prepreke između 30 i 10 centimetara.