Praćenje linije do prepreke

Za rješavanje ovog zadatka upotrijebite stazu koju ste dobili u kompletu s robotom ako ste ga posudili u knjižnici ili izradite svoju stazu. Svoju stazu možete kreirati od modularnih dijelova koje možete preuzeti ovdje. Isprintajte dijelove staze u količinama koje vam trebaju na papiru veličine A4 te ih spojite po želji. Stazu možete načiniti i na svjetlijoj kartonskoj podlozi ili podu na koji ćete zalijepiti crnu izolir traku ili crni kolaž papir. Za prepreku iskoristite različite predmete poput kutijica, igračaka, ruke, čaše i sl.

Zadatak

Izradite program kojim će micro:Maqueen Lite robot pratiti crnu liniju sve dok se ispred robota ne nalazi nikakva prepreka. Neka prati crnu liniju s lijeve strane – ako je lijevi senzor za praćenje linije na bijeloj podlozi, a desni na crnoj liniji neka robot vozi ravno. U slučaju kada naiđe na prepreku, neka se zaustavi i zasvira ton pomoću zujalice.

Rješenje

Objašnjenje

Radi preglednosti programa, kreirajte funkciju za praćenje linije u kategoriji Functions. Unutar nje definirajte kako se robot treba kretati s obzirom na poziciju na crnoj liniji. Logika praćenja linije je sljedeća:

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

Nakon kreiranja funkcije Pracenje linije kako je prikazano na slici u forever petlji postavite uvjet koji provjerava je li udaljenost robota od prepreka veća od 8 cm. Ako je, robot neka vozi praćenjem crne linije. Stoga u then dio if then else naredbe postavite naredbu Pracenje linije iz Functions kategorije. Ako uvjet nije zadovoljen, odnosno ako se robot približio prepreci na udaljenost manjoj od 8 cm, neka se zaustavi (motor all stop) i zasvira ton po želji.