15 velj Svjetlosni senzor
Svjetleće diode zaslona na micro:bitu služe i kao njegov svjetlosni senzor. Njime micro:bit, u svojoj okolini, može izmjeriti količinu svjetlosti kojoj je izložen.
Raspon vrijednosti svjetlosnog senzora kreće se od 0 do 255. Što je veća svjetlina okoline u kojoj je micro:bit, to je veća vrijednost koju svjetlosni senzor očitava.
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.
Naredba za svjetlosni senzor nalazi se u Mind+ programu pod kategorijom micro:bit, u dijelu board’s sensor.
Naredba
Objašnjenje
Prije rješavanja primjera programa, u videu pogledajte primjer serijske komunikacije micro:bita i računala.
Očitane vrijednosti svjetlosnog senzora ispisuju se u Mind+ aplikaciji.
Alarm u mraku
Robot svjetlosnim senzorom detektira nalazi li se u vrlo mračnom prostoru (gdje je razina svjetla manja od 50). U tom slučaju, robot zujalicom alarmira da je u mraku i tako svira dok ga se ne smjesti u prostor s više svjetla.
Kao uvjet se koristi operator veće od (>) iz kategorije Operators. U lijevom dijelu nalazi se naredba read ambient light brightness (kategorija micro:bit), a u desnom dijelu vrijednost 50. Time se provjerava je li razina svjetlosti veća od 50.
Š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 uvjet u petlji nije zadovoljen, razina svjetla nije veća od 50, izvršit će se naredba u petlji. Ta naredba je pin P0 play sound DADADADUM koja se nalazi u micro:bit kategoriji.
Ako je uvjet u petlji zadovoljen, razina svjetlosti je veća od 50, pa se ništa neće događati.
Probudi micro:Maqueen Plus svjetlom
Robot je u stanju mirovanja i isključenih svjetlećih dioda sve dok ga se ne obasja jakim svjetlom. U tom slučaju robot uključuje svoje RGB svjetleće diode žutom bojom i pozdravlja kratkim kretanjem lijevo-desno.
Kao uvjet if then petlje se koristi operator manje od (<) iz kategorije Operators. U lijevom dijelu se nalazi naredba read ambient light brightness (kategoriji micro:bit), a u desnom dijelu vrijednost 200. Time se provjerava je li razina svjetlosti manja od 200.
Ako je uvjet ispunjen, robot se nalazi u mraku, miruje i ima isključene RGB diode. U then dijelu petlje je naredba za isključene RGB dioda pin P15 clear all LEDs koja se nalazi u Expansion Board kategoriji.
Ako uvjet nije ispunjen, robot je obasjan jakim svjetlom i odvija se else dio petlje. U else dijelu nalazi se naredba za svjetleće diode pin P15 RGB 0 to 4 show color žuta i naredbe za kretanje. Prvo se robot zakrene ulijevo naredbama set left motor direction backward speed 150 i set right motor direction forward speed 150 što traje 200 milisekundi (wait 0.2 seconds iz Control kategorije), a zatim udesno naredbama set left motor direction forward speed 150 i set right motor direction backward speed 150 također 200 milisekundi. Zatim se robot zaustavlja naredbom set all motor stop na 1 sekundu (wait 1 seconds).