Praćenje linije uz RGB svjetleće diode

Zadatak

Izradite program kojim će micro:Maqueen robot pratiti crnu liniju te svijetliti RGB diodama na sljedeći način:

  • Kada ide ravno, neka svijetli zelenom bojom.
  • Kada skreće u lijevu ili desnu stranu, neka svijetli crvenom bojom.
  • Kada ide unazad, neka svijetli plavom bojom.

Rješenje

Objašnjenje

Dodajte 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) te joj 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.

Iz kategorije naredbi Logic odaberite naredbu if then else te ju postavite unutar naredbe forever. Logika praćenja linije je sljedeća:

  • Ako su oba senzora na crnoj liniji, robot neka ide ravno.
  • Ako je desni senzor na crnoj liniji, a lijevi na bijeloj neka ide desno.
  • Ako je lijevi senzor na crnoj liniji, a desni na bijeloj neka ide lijevo.
  • Ako su oba senzora na crnoj liniji, robot neka ide unazad.

 

Iz kategorije naredbi Logic odaberite naredbu and te u desni i u lijevi argument postavite operator jednakosti. U svaki od argumenata unutar operatora jednakosti postavite s lijeve strane naredbu read left line tracking sensor, a sa desne strane upišite vrijednost 0. U slučaju kada robot ide ravno, iskoristite naredbu motor all move Forward 100. Kada robot treba skrenuti lijevo, iskoristite naredbe motor left move Backward at speed 50 i motor right move Forward at speed 50. Za slučaj kada robot mora skretati u desno, koristite obrnutu logiku. Na kraju svake if then naredbe postavite naredbu strip show color te odaberite odgovarajuće boje kojim će robot zasvijetliti.

Stazu za praćenje linije možete preuzeti ovdje ili je izraditi sami. Za prepreku iskoristite različite predmete poput kutijica, igračaka, ruke, čaše i sl.