Detektiranje prepreke

Zadatak

Programirajte robot da uključi crvena svjetla kad ultrazvučnim senzorom detektira prepreku na udaljenosti manjoj od 15 centimetara, a inače neka svijetli zelenom bojom.

Mjerenje neka se događa 10 puta u 1 sekundi. Za reguliranje učestalosti mjerenja iskoristite naredbu timer iz kategorije Sensing.

Rješenje

Objašnjenje

Da bi se mjerenje ultrazvučnog senzora izvršavalo 10 puta u jednoj sekundi, na početku programa, u forever petlji, postavljena je if then naredba u kojoj se provjerava stanje timera. Ako je provjerom utvrđeno da je timer veći od 0.1 sekunde, timer se resetira (reset timer).

Nakon resetiranja timera, slijedi blok naredbi kojim se izvršava očitanje ultrazvučnog senzora. Novim if then else blokom postavljena je provjera udaljenosti ultrazvučnog senzora od prepreke (if ultrasonic sensor port3 distance (cm) > 15). Ako se provjera pokaže točnom, robot svijetli zeleno, inače (else) svijetli crveno.

Modificirajte program tako da robot slobodno vozi dok ne naiđe na prepreku ispred sebe na udaljenosti manjoj od 15 centimetara te neka se tada zaustavi. Kad se prepreka odmake od njega neka ponovno krene s vožnjom.

Objašnjenje

U izmjeni programa prema zadanoj modifikaciji, umjesto naredbi za uključivanje svjetlećih dioda, postavljene su naredbe za kretanje robota. Kad je udaljenost od prepeke veća od 15 cm, robot vozi ravno (move forward at  power 50%) te se zaustavlja kad se približi prepreci (stop moving).