
17 srp Praćenje linije uz RGB svjetleće diode
Za rješavanje ovog zadatka upotrijebite istu stazu kao u prethodnoj lekciji ili izradite novu stazu.
Izradite program kojim će micro:Maqueen robot pratiti crnu liniju s lijeve strane (kao u prethodnoj lekciji) te svijetliti RGB diodama na sljedeći način:
- Kada ide ravno, neka svijetli plavom bojom.
- Kada skreće u lijevu ili desnu stranu, neka svijetli ljubičastom bojom.
Neka robot krene s praćenjem linije tek kada RGB svjetleće diode zasvijetle kao semafor crvenom, žutom i zelenom bojom i onda se ugase. Svakom bojom neka svijetli 1 sekundu.
Objašnjenje
Kako biste mogli koristiti RGB svjetleće diode na micro:Maqueen robotu, morate dodati ekstenziju Neopixel klikom na + Extensions i odabirom Neopixel ekstenzije. Iz kategorije Neopixel odaberite naredbu set strip to NeoPixel at pin P0 with 24 leds as RGB (GRB format) i postavite je unutar bloka on start. Promijenite postavke tako da glasi NeoPixel at pin P15 with 4 leds as RGB (GRB format). Time ste u programu inicijalizirali 4 RGB svjetleće diode robota spojene na izvod P15.
Iskoristite funkciju za praćenje linije iz prošlog zadatka te u svaku if then naredbu u funkciji Pracenje linije dodajte naredbu za uključivanje RGB svjetlećih dioda. Naredbu strip show color red za uključivanje RGB svjetlećih diodi možete pronaći u kategoriji Neopixel. U prvoj if then naredbi, kada robot vozi ravno, umjesto red odaberite blue kako bi RGB diode svijetlile plavom bojom. U ostalim if then naredbama robot skreće u lijevu ili desnu stranu pa RGB diode moraju svijetlili ljubičastom bojom – zato u naredbi strip show color promijenite red u purple. Ovime ste modificirali funkciju iz prethodnog zadatka tako da RGB svjetleće diode svijetle različitom bojom ovisno o kretanju robota.
Kako bi se praćenje linije odvijalo cijelo vrijeme, iz kategorije Functions uzmite naredbu call Pracenje linije i stavite ju u blok forever.
Robot ne smije krenuti s praćenjem linije dok RGB diode ne zasvijetle kao semafor. Kako se sve unutar on start bloka uvijek dogodi odmah pri uključivanju robota (micro:bita), sve naredbe u on start bloku će se odviti prije forever petlje. Zato ćete naredbu strip show color red staviti u on start blok, nakon naredbe NeoPixel at pin P15 with 4 leds as RGB (GRB format) i onda dodati pauzu od 1 sekunde. Duplicirajte naredbe (desni klik mišem, duplicate) strip show color red i pause (ms) 1000 dva puta te u drugoj naredbi za prikaz boje, boju red promijenite u yellow, a u trećoj u green. Za kraj dodajte naredbe strip clear i strip show iz Neopixel kategorije kako bi se RGB svjetleće diode isključile.