Ultrazvučni senzor

1. Zadatak

micro:Maqueen ima ultrazvučni senzor HC-SR04 kojim može detektirati predmet ispred sebe na udaljenosti od 2 do 400 cm. Izradite najprije program kojim će micro:Maqueen uključiti obje svjetleće diode i odsvirati melodiju po želji ako mu približite predmet na udaljenosti manjoj od 15 cm.

Rješenje

Objašnjenje

Iz kategorije Logic odaberite naredbu if then else kako biste regulirali rad robota s obzirom na njegovu udaljenost od prepreke. U if dio naredbe postavite provjeru je li udaljenost robota od prepreke manja od 15 cm. Za to upotrijebite operator usporedbe manje od (<) iz kategorije Logic. S lijeve strane operatora postavite naredbu read ultrasonic cm, a s desne strane upišite 15. Ako je taj uvjet zadovoljen, neka se uključe obje svjetleće diode i zasvira melodija. Stoga u then dio naredbe postavite naredbe za uključenje svjetlećih dioda (LEDLight left turn ON i LEDLight right turn ON) i naredbu za sviranje tona (play tone Middle C for 1 beat) koju pronađite u kategoriji Music.

Ako uvjet nije istinit, odnosno udaljenost od prepreke je veća od 15 cm, u else dio smjestite naredbe za isključenje svjetlećih dioda (LEDLight left turn OFF i LEDLight right turn OFF) i isključenje zvuka (stop melody all).

2. Zadatak

Izradite program kojim će se micro:Maqueen robot kretati ravno onda kada je vaša ruka ispred ultrazvučnog senzora na udaljenosti do 10 cm. U slučaju kada vaša ruka nije ispred ultrazvučnog senzora, te nema niti jedne druge prepreke u blizini, robot se mora zaustaviti.

Rješenje

Objašnjenje

Iz Logic kategorije naredbi odaberite if then else naredbu te je postavite unutar forever bloka. If then else naredba poslužit će za provjeru vrijednosti koju očitava ultrazvučni senzor te se s obzirom na postavljen uvjet, upravljati radom robota. U if dio postavite operator manje od (<) koji ćete pronaći u kategoriji naredbi Logic. Iz kategorije naredbi Maqueen odaberite naredbu read ultrasonic sensor cm te ju postavite u argument kod operatora < s lijeve strane, a u desni argument upišite vrijednost 10. Time ste u programu postavili uvjet kojim se provjerava je li udaljenost ruke od robota manje od 10 cm. Ako je taj uvjet zadovoljen, robot se mora kretati i naredbu za to postavite u then dio. To je naredba motor all move Forward at speed 0 iz kategorije naredbi Maqueen kojoj postavite vrijednost brzine na 100.

U slučaju da zadani uvjet nije zadovoljen, robot se mora zaustaviti pa u else dio postavite istu naredbu motor all move Forward at speed 0.