A színérzékelő visszavert fényt használ az objektum színének, színárnyalatának, szürkeárnyalatos értékének, fényerejének és közelségének érzékelésére.
A VEX IQ színérzékelő a VEX IQ Super Kit részét képezi, és itt is megvásárolható .
A színérzékelő leírása
A VEX IQ Color Sensor több üzemmóddal rendelkezik, amelyek lehetővé teszik, hogy különböző típusú információkat rögzítsen a környezetéből. Az általa gyűjtött információkat befolyásolják a környezet fényviszonyai, valamint az érzékelő és az általa olvasott tárgy vagy felület közötti távolság.
Hogyan működik a színérzékelő
A színérzékelő a színt és a közelséget egyaránt képes érzékelni.
Színek észlelése
Fényerő módban a színérzékelő a robot környezetében lévő összes fény intenzitásának érzékelésére szolgál. Minél több fény éri el a színérzékelőt, miközben az aktív, annál nagyobb százalékos érték kerül a robotagyba.
Ha az észlelt fényerő százalékos értéke alacsony vagy megbízhatatlan, a színérzékelő lámpája bekapcsolható, vagy a lámpa fényereje növelhető a következő beállított fényerő segítségével:
A színérzékelő a látott színt színértékként vagy árnyalatértékként is jelentheti.
Színértékek.A színérzékelő 14 színt tud észlelni. A blokk képéről hiányzó színek: piros, zöld, kék, fehér és sárga.
Színárnyalat értékek.A színárnyalatok olyanok, mint a színértékek, de számszerűek. A színárnyalat értéke 0 és 360 között van, hasonlóan a fokokhoz. A fent felsorolt színértékeknek saját ekvivalens színárnyalat-értéktartományuk van.
A színek és árnyalatok észlelésekor fontos, hogy a Color Sensor megfelelő mennyiségű fényt kapjon ehhez. Ügyeljen arra, hogy tesztelje, más néven kalibrálása, a színérzékelőt különböző fényviszonyok mellett és a lámpát különböző szintre állítva, hogy meghatározza, melyik a legmegbízhatóbb beállítás robotja színérzékelőjéhez.
Közelség észlelése
A színérzékelő infravörös érzékelőt tartalmaz. Az infravörös sugárzó láthatatlan fényt bocsát ki, majd érzékeli annak visszaverődését. Ha az infravörös fény nagy része visszaverődik az érzékelő felé, akkor azt jelzi a Robot Brainnek, hogy egy tárgy közel van.
A színérzékelő általános felhasználási területei
A színérzékelőket számos technológiai alkalmazásban használják, ahol fontos, hogy bizonyos színek jelenjenek meg a kijelzőkön vagy a termékeken.
Néhány gyakori felhasználás a mindennapi életben:
- A színkalibrációs eszközök ellenőrzik, hogy a digitális képernyő pontos színeket jelenít-e meg, majd szükség szerint módosítsa a megjelenítési beállításokat. A grafikusok és a digitális képernyőn színekkel dolgozó tervezők számára fontos, hogy pontosan lássák a megjelenített színt. Ha a színek nem pontosak, félreértések és elpazarolt erőforrások keletkeznek.
- A fényképezőgépek és videokamerák színérzékelőkkel állítják be a beállításokat a fényviszonyok alapján, hogy javítsák fényképeiket és videóikat a fényszint maximalizálása és az egyébként tompa színek fokozása révén. Ezek az érzékelők azt is lehetővé teszik, hogy a fotós bizonyos színekre fókuszáljon a fényképein.
- A gyártás során időnként színérzékelőket használnak, hogy gyorsan ellenőrizzék, hogy a termék megfelelő-e a színe, mielőtt kiszállításra kerülne a vásárlóhoz. Például azokat a gyümölcsöket és zöldségeket, amelyek éretten vagy fogyasztásra készen elszíneződnek, beszkennelhetők, hogy megbizonyosodjanak arról, hogy a megfelelő színűek a piacra küldéshez.
A VEX IQ Robot néhány gyakori felhasználása:
- Ez az érzékelő használható egy tárgy színének érzékelésére.
- Ez az érzékelő használható vonal észlelésére és/vagy követésére.
- Ez az érzékelő képes érzékelni, hogy van-e tárgy a közelben.
Színérzékelők egy versenyroboton
Ne feledje, hogy a színek és árnyalatok észlelésekor fontos, hogy a színérzékelő megfelelő mennyiségű fényt kapjon ehhez. Ügyeljen arra, hogy minden alkalommal tesztelje a színérzékelőt, más néven kalibrálást, amikor új versenyhelyszínre érkezik, mert a különböző fényszintek befolyásolhatják a színérzékelő teljesítményét. Tesztelje projektjét a különböző szinteken beállított lámpával, hogy meghatározza, melyik a legmegbízhatóbb beállítás robotja színérzékelőjéhez.
A Color Sensor által gyűjtött információk hasznosak egy versenyképes robot programozásához, hogy reagáljon a különféle körülményekre. A Color Sensor a következő módokon tehet jobbá egy versenyrobotot:
- Lehetővé teszi, hogy a robot érzékelje az érzékelő közelében lévő tárgy színét. Ez akkor hasznos, ha azt szeretné, hogy a robot különböző színű tárgyakat rendezzen, odahajsson egy speciális színű objektumhoz, vagy érzékelje a tárgyak színét, amint azok elhaladnak az érzékelő mellett.
- Lehetővé teszi, hogy a robot érzékelje, mennyi fény verődik vissza az érzékelőbe. Ez lehetővé teszi, hogy a robot addig vezessen, amíg el nem ér egy vonalat egy felületen, vagy akár követni is lehet egy vonalat.
- Tudja a robottal, hogy közel van-e tárgy vagy felület. Ez hasznos annak meghatározásában, hogy az észlelt szín egy közeli objektum leolvasása, vagy esetleg egy távoli felület vagy fény rendellenes leolvasása.
A színérzékelő kódolása blokkokban
A <Found an object> blokk egy logikai riporterblokk, amely egy feltételt igaz vagy hamisként jelent. A logikai blokkok, mint a <Found an object> blokk, olyan blokkok belsejébe illeszkednek, amelyek hatszögletű (hatoldalas) bemenetei vannak más blokkokhoz.
A <Found an object> logikai blokk 'igaz' értéket jelent, ha az 'igaz', ha a színérzékelő tárgyat észlel, és 'hamis', ha az érzékelő nem. Ha többet szeretne megtudni a logikai blokkokról, látogasson el a Súgó vagy a Block Shapes and Meaning cikkre.
Ebben a példában a <Found an object> blokkot a közelség észlelésére használjuk a [Várakozásig] blokkal együtt, hogy a robot előre haladjon, amíg egy tárgyat észlel.
A <Color detects> blokk egyben logikai riporterblokk is, amely egy feltételt igaz vagy hamisként jelent. A <Color detects> blokk „igaz”-t jelez, ha „igaz”, ha a színérzékelő a kiválasztott színt érzékeli, és „hamis”, ha az érzékelő bármilyen más színt észlel. Ha többet szeretne megtudni a logikai blokkokról, látogasson el a Súgó vagy a Block Shapes and Meaning cikkre.
Ebben a példában a <Color detects> blokkot a [Várakozásig] mondattal együtt használjuk, hogy a robot előrehaladjon, amíg a színérzékelő zöld tárgyat észlel. A robot ezután abbahagyja a vezetést. Ezt szemlélteti a fenti első videó.
A (Brightness of) blokk a színérzékelő által észlelt fénymennyiséget jelenti. Ez egy riporter blokk, amelyet más, kör alakú terekkel rendelkező blokkban használnak.
A (Brightness of) blokk 0% és 100% közötti tartományt jelez.
Ebben a példában a (Brightness of) blokkot arra használjuk, hogy a robot felismerje és kövesse a vonalat, amint az a fenti második videóban látható.
A (Hue of) blokk a színérzékelő által észlelt színárnyalatot jelenti. Ez egy riporter blokk, amelyet más, kör alakú terekkel rendelkező blokkban használnak.
A (Brightness of) blokk 0 és 360 közötti tartományt jelez.
Ebben a példában a (Hue of) blokkot arra használjuk, hogy a robot ellenőrizze a vörös színnek megfelelő árnyalatértékek tartományát, és 90 fokkal jobbra forduljon, ha ezeket az értékeket észleli az érzékelő. Ha bármilyen más színárnyalatot észlel, a robot 90 fokkal balra fordul.
A (Hue of) blokk akkor lehet hasznos, ha a robotnak bizonyos színeket kell észlelnie, amikor a környezeti fényviszonyok inkonzisztensek lehetnek.
A színérzékelő kódolása Pythonban
Megjegyzés:Egy VEX IQ (1. generációs) lökhárító kapcsoló kódolásához Pythonban, a VEX IQ (2. generációs) agyhoz kell csatlakoztatni. A VEX IQ (1. generációs) Brain nem támogatja a Python-t.
A color.is_near_object parancs Igaz jelez, ha egy színérzékelő tárgyat vagy felületet érzékel az érzékelő elejéhez közel, és Hamis értéket, ha a színérzékelő észlel egy tárgyat vagy felületet az érzékelő elejéhez közel. érzékelő.
Megjegyzés:A parancsban megjelenő színérzékelő neve megegyezik a konfigurációban megadott névvel.
Ebben a példában egyMíg hurok nem feltétellel kerül felhasználásra a color.is_near_object paranccsal, hogy a robot előre haladjon, amíg a színérzékelő egy tárgyat nem észlel az elejéhez közel. az érzékelőt.
A color.color parancs jelenti a színérzékelő által jelenleg észlelt színt.
Ebben a példában egyMíg hurkot használunk nem feltétellel a color.color paranccsal, hogy a robot előrehaladjon, amíg a színérzékelő zöld tárgyat észlel. A robot ezután abbahagyja a vezetést. Ezt szemlélteti a fenti első videó.
A color.brightness parancs jelenti a színérzékelő által észlelt fénymennyiséget. 0% és 100% közötti értéktartományt jelenít meg.
Ebben a példában a color.brightness parancsot arra használjuk, hogy a robot felismerje és kövesse a vonalat, ahogy az a fenti második videóban is látható.
A color.hue parancs a színérzékelő által észlelt színárnyalatot jelenti. 0 és 360 közötti árnyalatértékek tartományát jeleníti meg
Ebben a példában a color.hue paranccsal a robot ellenőrzi a vörös színnek megfelelő árnyalatértékek tartományát, és 90 fokkal jobbra fordul, ha ezeket az értékeket észleli az érzékelő. Ha bármilyen más színárnyalatot észlel, a robot 90 fokkal balra fordul.
A color.hue parancs akkor lehet hasznos, ha a robotnak bizonyos színeket kell észlelnie, amikor a környezeti fényviszonyok nem következetesek.