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.

Rješenje

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.