Senzor za boju

Svjetlost vidljiva ljudskom oku sastoji se od tri osnovne boje – crvene, zelene i plave (R, G, B). Kada svjetlost obasja objekte, razlika u svojstvima površine objekata uzrokovat će različite apsorpcijske i refleksijske efekte.  Senzor za boju određuje boju površine objekta otkrivanjem intenziteta refleksije triju primarnih boja.

Senzor za boju prepoznaje 6 boja – crnu, bijelu, crvenu, zelenu, plavu i žutu. Nalazi se ispod robota, a preporučena visina na kojoj bi se senzor trebao nalaziti u odnosu na površinu je između 1.5 i 3 cm. Za komunikaciju koristi I2C protokol te se na upravljačku pločicu (mCore) povezuje RJ25 kabelom na bilo koji port. Vrijeme potrebno da senzor prepozna promjenu boje iznosi 160 ms.

 

Dodavanje naredbi za senzor za boju

Nakon što ste u mBlock programu odabrali mBot kao uređaj za koji izrađujete programski kôd, potrebno je dodati set naredbi za senzor za boju.

Ispod kategorija naredbi, odaberite opciju exstension.

Otvorit će se prozor (Extension center) u kojem možete odabrati set naredbi za dodatne senzore za mBot.

Pronađite kategoriju Color Sensor. Pritisnite na Add i tako preuzmite set naredbi u kojima se nalazi naredba za senzor za boju.

U popisu kategorija naredbi na posljednjem mjestu naći ćete Color Sensor kategoriju.

Naredbe za senzor za boju

Naredba

Objašnjenje

Vraća vrijednost odabrane boje (crvena, zelena, plava).

Detektira određenu boju (bijelu, crvenu, žutu, zelenu, plavu i crnu).

Pali ili gasi led svjetlo senzora za boju.

Primjeri programa za senzor za boju

Prilikom programiranja senzora za boju provjerite na kojem ulazu (portu) je spojen senzor na upravljačkoj pločici te u skladu s time izradite program.

Detektiranje boje

Ovim programom se pritiskom na tipku A daljinskog upravljača pali svjetlo na senzoru za boju te on može detektirati boje.

Kad se pritisne tipka B, senzor za boju prestaje s radom (gasi svoje svjetlo).

Dok je senzor za boju aktiviran, prepoznaje boje i tim istim bojama koje prepozna svijetli svojim svjetlećim diodama.

Brojanje žutih kartica

U ovom programu korišten je i led matrix zaslon na kojem se prikazuje koliko puta je mBot senzorom za boju detektirao žutu karticu dok se nalazi na crnoj podlozi.

Program neprestano prati stanje dviju varijabli i prema njima broji žute kartice.

Ako je robot na crnoj podlozi, varijabla between_cards ima stanje 1.

Ako je vrijednost varijable between_cards 1 i ako istovremeno senzor za boju detektira žutu karticu, varijabla count_cards se poveća za 1. Odmah nakon toga varijabla between_cards poprima stanje 0 jer je robot sada na žutoj podlozi.

Na led matrix zaslonu se prikazuje vrijednost varijable count_cards, odnosno koliko puta je robot detektirao žutu karticu.

Za izradu ovog materijala korišteni su izvori dostupni na stranici MakeX Support.

Ovaj je dokument izrađen uz financijsku podršku Zaklade “Hrvatska za djecu”. Sadržaj ovog dokumenta u isključivoj je odgovornosti Instituta za razvoj i inovativnost mladih i ni pod kojim uvjetima ne može se smatrati kao odraz stajališta Zaklade “Hrvatska za djecu.”