17 tra Ultrazvučni senzor
Ultrazvučni senzor je elektronički modul za mjerenje udaljenosti robota od nekog drugog objekta (prepreke).
Može detektirati prepreke na udaljenosti od 3 do 400 cm (pod kutom od 30′).
Povezuje se na port sa žutom oznakom.
Naredba za ultrazvučni senzor nalazi se u mBlock programu pod kategorijom Sensing.
Naredba
Objašnjenje
Savjet: Prilikom programiranja ultrazvučnog senzora provjerite na kojem ulazu (portu) je spojen senzor na upravljačkoj pločici te u skladu s time izradite program.
Provjera vrijednosti ultrazvučnog senzora
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 ovom primjeru robot detektira prepreku na udaljenosti manjoj od 15 cm. Svjetleće diode svijelte zeleno sve dok ultrazvučni senzor ne detektira prepreku ispred sebe kada mijenjaju boju u crveno.
Pomičite prepreku na različite udaljenosti ispred robota te u lijevom prozoru makeBlock programa pratite koju vrijednost udaljenosti senzor očitava te kako se na robotu mijenjaju boje svjetlećih dioda.
Detektiranje prepreke
Robot slobodno vozi dok ne naiđe na prepreku ispred sebe na udaljenosti manjoj od 15 sentimetara te se tada zaustavlja. Kad se prepreka odmake od njega, ponovno kreće s vožnjom.
Ultrazvučni senzor je osjetljiv na broj očitanja u vremenu koji se vrši nad njim.
U ovom programu koristi se timer kako bi se izbjegao velik broj očitanja senzora i kako ne bi došlo do nestabilnih mjerenja. Timer počinje brojati vrijeme svaki put kod pokretanja robota. U ovom primjeru očitavanja se izvršavaju 10 puta u sekundi.
Kako bi se mjerenje ultrazvučnog senzora izvršavalo 10 puta u jednoj sekundi, na početku programa, u forever petlji, postavljena je if then naredba u kojoj se provjerava stanje timera. Ako je provjerom utvrđeno da je timer veći od 0.1 sekunde, timer se resetira (reset timer).
Nakon resetiranja timera, slijedi blok naredbi kojim se izvršava očitanje ultrazvučnog senzora. Novim if then else blokom postavljena je provjera udaljenosti ultrazvučnog senzora od prepreke (if ultrasonic sensor port3 distance (cm) > 15). Ako se provjera pokaže točnom, robot svijetli zeleno, inače (else) svijetli crveno.