Bežično reguliranje intenziteta svjetla prednjih svjetlećih dioda

Zadatak

Svjetleće diode s prednje strane micro:Maqueena Lite se mogu programirati kao digitalna ili kao analogna izlazna komponenta. Kada ih programirate kao digitalne komponente, tada svjetleće diode možete samo uključiti (i tada svijetle najjačim intenzitetom) i isključiti. U primjerima do sada se za to su se koristile naredbe LEDlight left/right turn ON/OFF.

U ovom zadatku naučite kako možete regulirati intenzitet svjetla tih dioda tako što ćete ih programirati kao analogne komponente. Analogne izlazne komponente mogu imati bilo koju vrijednost u rasponu od 0 do 1023. U slučaju analogne svjetleće diode, manja vrijednost znači manji intenzitet svjetla i obrnuto.

Uz micro:Maqueen Lite koristite dodatni micro:bit koji će služiti kao daljinski upravljač koji će bežičnim putem regulirati rad svjetlećih diode na robotu. Pritiskom na tipkalo A, pojačavajte intenzitet lijeve svjetleće diode micro:Maqueena Lite. Pritiskom na tipkalo B povećavajte intenzitet desne svjetleće diode. Intenzitet svjetla na obje svjetleće diode neka raste do maksimalnog. Pritiskom na oba tipkala istovremeno neka se isključe obje diode.

Rješenje – micro:bit upravljač

Objašnjenje

on start blok postavite radio set group naredbu i u nju upišite vrijednost po želji, samo je važno da istu vrijednost upišete i u programu za micro:Maqueen.

Dodajte naredbe za pritisak na tipkala (kategorija Input) i u svaku od njih smjestite naredbu za slanje broja (radio send number) iz kategorije Radio. Pritiskom na tipkalo A neka se pošalje broj 1 i uključi prvi stupac na micro:bitu. Pritiskom na tipkalo B neka se pošalje broj 2 i uključi zadnji stupac na micro:bitu. Pritiskom na oba tipkala istovremeno neka se pošalje broj 3 i prikaže prazan ekran. Stupci služe kao vizualna oznaka poslane poruke.

Rješenje – micro:Maqueen

Objašnjenje

I u ovom programu postavite u on start blok radio set group naredbu. U kategoriji Variables kreirajte varijable lijevi brojac i desni brojac. One će služiti za reguliranje povećanja intenziteta svjetla lijeve, odnosno desne svjetleće diode s obzirom na broj primljenih poruka (broj pritisaka na pojedino tipkalo na micro:bitu upravljaču). Neka na početku obje varijable imaju vrijednost 0.

Iz kategorije Radio uzmite naredbu on radio received receivedNumber. U nju smjestite if then else naredbu iz kategorije Logic i proširite je za jedan else if. U toj naredbi ćete ispitivati koju poruku je robot primio.

Ako je primljena poruka jednaka 1 (na micro:bitu upravljaču je pritisnuto tipkalo A), u programu robota neka se provjeri je li vrijednost varijable lijevi brojac manja od 1000. Ako je, varijabla lijevi brojac neka se poveća za 100. S obzirom na to je da lijeva svjetleća dioda spojena na izvod P8, stanje na tom izvodu može se kontrolirati preko naredbe analog write pin P0 to 1023 koju možete pronaći u kategoriji Pins. Promijenite argument naredbe s P0 na P8, a kao vrijednost na mjesto 1023 postavite varijablu lijevi brojac . Time će svjetleća dioda svijetliti intenzitetom vrijednosti varijable lijevi brojac. Kad varijabla lijevi brojac prijeđe vrijednost od 1023 (tipkalo A je pritisnuto 11 puta), ponovno poprima vrijednost 0.

Isti postupak ponovite i ako je primljena poruka jednaka 2 jer se time regulira rad desne svjetleće diode koja je spojena na izvod P12. U ovom slučaju umjesto varijable lijevi brojac, koristite varijablu desni brojac.

Na kraju u else dio dodajte naredbe kojima će se obje svjetleće diode isključiti, a to je slučaj kada robot primi poruku 3.