Mijenjanje raspona duginih boja

Zadatak

Izradite program kojim ćete pomoću tipkala mijenjati raspon nijansa boja kojima će svijetliti traka.

Spajanje modula

U pločicu smjestite micro:bit. Na mjestima za spajanje elektroničkih modula kablovima povežite i spojite tipkalo te traku kao što vidite na prikazu spoja. U ovom primjeru koristi se tipkalo kao ulazni modul kojim će se mijenjati raspon boja trake. Tipkalo spojite na izvod P1, a traku na P0.

Upute za izradu programa

Napomena: Za programiranje trake s RGB svjetlećim diodama, u Makecode editoru potrebno je dodati kategoriju naredbi Neopixel. Upute za dodavanje Neopixel kategorije možete pogledati ovdje.

1. korak

Na početku je potrebno definirati da u programu koristite RGB traku sa svjetlećim diodama. To ćete učiniti odabirom prve naredbe (set strip to) iz kategorije Neopixel. Naredbu set strip to smjestite u on start blok. U dijelu naredbe gdje možete odrediti parametre, postavite P0 jer je na tom izvodu spojena traka, umjesto 24 upišite broj 7 jer se od toliko dioda traka sastoji i kao format ostavite zadanu vrijednost RGB (GRB format). Parametar (varijabla) strip iz naredbe odnosi se na cijelu traku.

Kreirajte varijablu raspon, postavite je u on start blok i dodijelite vrijednost nula. Preko te varijable kontrolirat ćete raspon duginih boja kojim će svijetliti diode na traci.

2. korak

S obzirom na to da je tipkalo spojeno na izvod P1, iz Input kategorije odaberite on pin P0 pressed i postavite P1. Pritiskom na tipkalo (izvod P1) mora se povećati vrijednost varijable raspon za 45 sve dok ne dođe do maksimalne vrijednosti, a to je 360. Naredbom if then else provjerite vrijednost varijable raspon te je povećajte dok je ona manja od 360 i u tom rasponu boja uključite svjetla na traci.

3. korak

Kad varijabla raspon dosegne maksimalnu vrijednost, neka se svjetlo na traci ugasi. Stoga u else dio postavite naredbe strip clear i strip show te varijabli raspon dodijelite vrijednost nula kako bi se program mogao izvršavati ispočetka novim pritiskom na tipkalo.