Robot bježi od svjetla

Zadatak

Izradi program kojim će se robot odmaknuti unazad kada detektira razinu svjetlosti veću od 150. Inače miruje.

Napomena: Ultrazvučni senzor na robotu zaklanja dio ekrana micro:bita i time utječe na rad svjetlosnog senzora koji nema dobar pristup svjetlu. U ovom zadatku on nije potreban pa ga slobodno skinite s robota radi lakšeg očitanja svjetlosnog senzora.

Rješenje

Objašnjenje

Iz micro:bit kategorije naredbi odaberite micro:bit starts blok i u njega stavite forever blok iz Control kategoriji.

U programu je potrebno stalno provjeravati razinu svjetlosti pa iz Control kategorije uzmite if then else naredbu i smjestite je unutar forever petlje. U if dio, kao uvjet postavite operator veće od (>) koji ćete pronaći u kategoriji Operators. U lijevo polje smjestite naredbu read ambient light brightness (kategorija micro:bit), a u desno polje upišite vrijednost 150. Time provjeravate je li razina svjetlosti veća od 150.

Što je svjetlost jača, to će očitani broj biti veći. Micro:bit mjeri svjetlost oko sebe pomoću svog svjetlosnog senzora. Ako je micro:bit u mraku, razina svjetlosti je mala i vrijednost je bliža broju 0. Kada je micro:bit izložen jakoj svjetlosti, senzor očitava vrijednost iznad 200 do maksimalno 255.

Ako je uvjet u petlji zadovoljen, razina svjetla je veća od 150 i robot vozi unatrag brzinom 100 (set all motor direction rotate backward speed 100).

Ako uvjet u petlji nije zadovoljen, razina svjetlosti je manja od 150, i robot miruje (set all motor stop).

Preuzmite program na micro:bit i isprobajte ga.