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.

S obzirom na to da postoje dva senzora te da svaki od njih može detektirati nalazi li se na svijetloj (1) ili tamnoj površini (0), četiri su moguće vrijednosti koje senzor može poslati upravljačkoj pločici – 0, 1, 2 ili 3.

Naredbe za senzor za praćenje linije

Naredbe za senzor za praćenje linije nalaze se u mBlock programu pod kategorijom Sensing.

Naredba

Objašnjenje

Naredba koja u programu javlja vrijednost senzora za praćenje linije (0, 1, 2 ili 3),  ovisno o tome jesu li senzori na tamnoj ili svijetloj podlozi.

Naredba kojom se provjerava očitanje pojedinog senzora za praćenje linije.

Primjeri programa za senzor za praćenje linije

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.

U kategoriji Sensing kvačicom označite naredbu line follower sensor port2 value.

U lijevom prozoru makeBlock programa možete pratiti kako se mijenjaju vrijednosti koje senzor očitava (0, 1, 2 ili 3) kako mijenjate tamnu/svijetlu podlogu ispod senzora 1 i 2.

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.