18 tra Senzor za praćenje linije
Senzor za praćenje linije nalazi se ispod robota. Sastoji od dva senzora, senzora 1 i 2, od kojih svaki ima infracrveni odašiljač i infracrveni prijemnik. Infracrveni odašiljač neprekidno emitira infracrvenu svjetlost tijekom kretanja mBota. Infracrveno svjetlo se reflektira kada se robot susreće s bijelom ili nekom drugom svijetlom površinom i tada prijemnik prima infracrveni signal i upravljačkoj pločici šalje vrijednost 1. Ako se infracrveno svjetlo apsorbira ili se ne može odraziti (na tamnim površinama), prijemnik neće primiti infracrveni signal pa šalje vrijednost 0.
Raspon detekcije je 1 do 2 cm. Ako je robot predaleko od površine (udaljeniji od 2 centimetara), infracrveno svjetlo se ne može reflektirati pa senzor šalje vrijednost 0 kao u slučaju kad se robot nalazi na tamnoj površini.
Naredbe za senzor za praćenje linije nalaze se u mBlock programu pod kategorijom Sensing.
Naredba
Objašnjenje
Savjet: Prilikom programiranja senzora za praćenje linije provjerite na kojem ulazu (portu) je spojen senzor na upravljačkoj pločici te u skladu s time izradite program.
Provjera vrijednosti senzora za praćenje linije
Nakon povezivanja mBota na računalo opcijom Connect, potrebno je odabrati Live način rada u izborniku mBlocka te ažurirati firmware na mBotu prije korištenja senzora. Ažuriranje se radi odabirom opcije Setting – Update Firmware – Updates. Nakon ažuriranja firmware-a potrebno je ponovno povezati mBot s računalom opcijom Connect.
Praćenje linije
Pritiskom na tipkalo (wait until when on-board button pressed) robot kreće s vožnjom. Definirana su četiri načina kretanja robota s obzirom na četiri moguće pozicije u kojima se robot može naći. Zbog toga su korištene četiri if then petlje.
Ako su oba senzora za praćenje linije na tamnoj podlozi, senzor očitava vrijednost 0 (if line follower sensor port2 value = 0) i robot se kreće ravno (move forward at power 40%).
U slučaju lijevog zavoja (kad je prvim senzorom robot na tamnoj, a drugim na svijetloj podlozi), senzor očitava vrijednost 1 (if line follower sensor port2 value = 1). Lijevi kotač miruje, a desni se kreće (left wheel turns at power 0%, right wheel at power 40%) čime robot skreće lijevo.
Kad robot naiđe na desni zavoj (prvi senzor detektira svijetlu površinu, a drugi je na tamnoj) senzor očitava vrijednost 2 (if line follower sensor port2 value = 2). U tom slučaju lijevi kotač se kreće, a desni miruje (left wheel turns at power 40%, right wheel at power 0%) kako bi robot skrenuo desno.
U slučaju da su oba senzora izvan linije, senzor očitava vrijednost 3 (if line follower sensor port2 value = 3) te robot staje (stop moving).
Sve naredbe smještene su u forever petlju pa se program izvršava dokle god se robot nalazi na tamnoj liniji.