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

Zadatak

Svjetleće diode s prednje strane micro:Maqueena 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 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. Pritiskom na tipkalo B povećavajte intenzitet desne svjetleće diode. Intenzitet svjetla na obje svjetleće diode neka raste do maksimalnog, a nakon toga neka se ponovim pritiskom na tipkala svjetleće diode ugase. Pritiskom na oba tipkala istovremeno neka se uključe obje diode najjačim intenzitetom.

Rješenje – micro:bit upravljač

Objašnjenje

U 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 B i uključi zadnji stupac na micro:bitu. Pritiskom na oba tipkala istovremeno neka se pošalje broj 3 i uključe oba stupca. 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 varijablu Brojac. Ona će služiti za reguliranje povećanja intenziteta svjetla s obzirom na broj primljenih poruka (broj pritisaka na pojedino tipkalo na micro:bitu upravljaču) te neka na početku ima 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 Brojac manja od 1000. Ako je, varijabla 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 Brojac. Time će svjetleća dioda svijetliti intenzitetom vrijednosti varijable Brojac. Kad varijabla Brojac prijeđe vrijednost od 1000 (tipkalo A je pritisnuto 10 puta), lijeva svjetleća dioda neka se isključi.

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.

Na kraju u else dio dodajte naredbe kojima će obje svjetleće diode zasvijetliti najjačim intenzitetom (1023), a to je slučaj kada robot primi poruku 3.