A VEX IQ (1. generációs) színérzékelő használata

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.

VEX IQ (1. generációs) színérzékelő darab.

A VEX IQ színérzékelő a VEX IQ Super Kit része, és itt megvásárolható.

2. generációs VEX IQ robotot használsz? A 2. generációs érzékelők áttekintését itttekintheti meg, valamint az optikai érzékelőrőlszóló információkat, amely a színérzékelő 2. generációs verziója.


A színérzékelő leírása

A VEX IQ színérzékelő 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örnyezeti fényviszonyok, valamint az érzékelő és a leolvasott tárgy vagy felület közötti távolság.


Színkör, amely bemutatja, hogyan korrelál a 360 fokos kör egy színárnyalat-értékkel. A vörös szín 0, a zöld szín 120, a kék szín pedig 240 fokon található.


Hogyan működik a színérzékelő

A színérzékelő képes érzékelni mind a színeket, mind a közelséget.

Színek észlelése
VEXcode IQ A Color3 fényerejét %-ban olvasó blokk fényereje.
Egy színérzékelő ábrája, amely egy világos felületet érzékel és 80%-os értéket jelez, majd egy sötét felületet érzékel és 20%-os értéket jelez.

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.

VEXcode IQ Állítsa be a színérzékelő fényblokkját, amelyen a „Set Color3 light to 50%” felirat olvasható.
Színérzékelő látható egy robothoz rögzítve sötét környezetben. A színérzékelő lámpája bekapcsol, hogy megvilágítsa a környezetét.

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:

Három VEXcode IQ színérzékelő blokk. Az első a blokk színe, amely a Color3 színnevet olvassa be. A második egy Hue of blokk, amely a Color3 árnyalatát fokban olvassa ki. A harmadik egy Színészlelő blokk, amely azt írja ki, hogy A Szín3 nem észlel semmit?

A színérzékelő a látott színt színértékként vagy árnyalatértékként is jelentheti.

A VEXcode IQ Color felismeri a Color3-at olvasó blokkot? Megnyílik a blokk Szín legördülő menüje, amelyen látható az érzékelni kívánt színek listája. A lista a következő: narancs, lila, vörös ibolya, ibolya, kék ibolya, kékeszöld, sárga zöld, sárga narancs és vörös narancs.

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-diagram, amely bemutatja, hogyan korrelál a 360 fok egy színárnyalat-értékkel. A vörös szín 0, a zöld szín 120, a kék szín pedig 240 fokon található.

Színárnyalat-értékek.A színárnyalat-értékek hasonlóak a színértékekhez, de numerikusak. 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. 

Színek és árnyalatok érzékelésekor fontos, hogy a színérzékelő megfelelő mennyiségű fényt kapjon. Mindenképpen teszteld, más néven kalibráld a színérzékelőt különböző fényviszonyok között és különböző szintre beállított lámpákkal, hogy megállapítsd, melyik a legmegbízhatóbb beállítás a robot színérzékelője számára.

Közelség észlelése

A színérzékelő infravörös érzékelő-emittert tartalmaz. Az infravörös adó 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é, az azt jelzi a robot agyának, hogy egy tárgy közel van.

VEXcode IQ Talált egy objektumblokkot, amely azt írja, hogy a Color3 objektum közelében 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 a kijelzőkön vagy a termékeken meghatározott színek jelenjenek meg.

Néhány gyakori felhasználási mód 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ási módja:

  • Ez az érzékelő használható egy tárgy színének érzékelésére. Tekintse meg ezt az animációt, ha látni szeretné, hogy egy robot addig halad előre, amíg a színérzékelő zöld kockát észlel.

  • Ez az érzékelő használható vonal észlelésére és/vagy követésére. Tekintse meg ezt az animációt, ha látni szeretne egy robotot, amely a színérzékelőt használja, hogy egy megjelölt vonal mentén haladjon.

  • Ez az érzékelő képes érzékelni, hogy van-e tárgy a közelben.

Színérzékelők egy versenyroboton

Ne feledd, fontos, hogy a színek és árnyalatok érzékelésekor a színérzékelő megfelelő mennyiségű fényt kapjon. Minden alkalommal, amikor új versenyhelyszínre érkezel, mindenképpen teszteld, más néven kalibráld a színérzékelődet, mert a különböző fényviszonyok befolyásolhatják a színérzékelő teljesítményét. Teszteld a projektedet a lámpák különböző szinteken történő beállításával, hogy meghatározd, melyik a legmegbízhatóbb beállítás a robot színérzékelőjéhez. 

A színérzékelő által gyűjtött információk hasznosak egy versenyző robot programozásához, hogy különféle körülményekre reagáljon. A színérzékelő a következő módokon teheti jobbá a versenyrobotokat:

  • 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

VEXcode IQ Talált egy objektumblokkot, amely azt olvassa, hogy a Color3 az objektum közelében van?

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.

 

A VEXcode IQ blokkolja azokat a projekteket, amelyek színérzékelővel haladnak előre, amíg nem talál egy objektumot. A projektben ez olvasható: Indításkor hajtson előre, várja meg, amíg a Color3 talál egy tárgyat, majd hagyja abba a vezetést.

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.

VEXcode IQ Color érzékeli a blokkot, amely olvassa Color3 zöldet é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.

 

A VEXcode IQ blokkolja azokat a projekteket, amelyek színérzékelővel haladnak előre, amíg a zöld színt észlelik. A projektben ez olvasható: Indításkor hajtson előre, várja meg, amíg a Color3 zöldet észlel, majd hagyja abba a vezetést.

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ó.

VEXcode IQ A Color3 fényerőt mutató blokk fényereje %-ban.

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.

 

A VEXcode IQ blokkolja azokat a projekteket, amelyek lefelé néző színérzékelőt használnak a megjelölt vonal követésére. A projekt a következőt írja: Indításkor állítsa a Color3 fényt 25%-ra. Ezután örökre, ha a Color3 fényereje %-ban nagyobb, mint 25, akkor forgassa előre a LeftMotort 35 fokkal, különben forgassa a RightMotort 35 fokkal előre.

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ó.

VEXcode IQ A blokk színárnyalata, amely a Color3 színárnyalatot olvassa fokban.

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.

 

A VEXcode IQ blokkolja a projektet, amely egy optikai érzékelővel halad előre, amíg el nem ér egy objektumot, majd jobbra fordul, ha piros, vagy balra, ha nem. A projekt a következőt olvassa: Indításkor nyomtassa ki a Color3 színárnyalatot fokokban az Agyra, hajtson előre, majd várja meg, amíg a Color3 talál egy objektumot. Ha a Color3 árnyalat fokban kifejezve nagyobb, mint 330, és a Color3 árnyalat fokban kisebb, mint 30, akkor forduljon jobbra 90 fokkal, ellenkező esetben forduljon balra 90 fokkal.

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) Bumper Switch Pythonban történő kódolásához azt egy VEX IQ (2. generációs) Brain-hez kell csatlakoztatni. A VEX IQ (1. generációs) agy nem támogatja a Pythont.

color_3.is_near_object()

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. 

drivetrain.drive(ELŐRE)
míg nem color_3.is_near_object():
wait(20, MSEC)
drivetrain.stop()
Ebben a példában egyWhile ciklust használunk egy not feltétellel a color.is_near_object paranccsal, hogy a robot előre haladjon, amíg a színérzékelő egy tárgyat nem érzékel az érzékelő elejéhez közel.
szín_3.szín()

A color.color parancs jelenti a színérzékelő által aktuálisan érzékelt színt.

drivetrain.drive(ELŐRE)
míg nem color_3.GREEN():
    wait(20, MSEC)
drivetrain.stop()
Ebben a példában egyWhile ciklust használunk egy not feltétellel a color.color paranccsal, hogy a robot előre haladjon, amíg a színérzékelő egy zöld tárgyat nem érzékel. A robot ezután leállítja a vezetést. Ezt szemlélteti a fenti első videó.
szín_3.fényesség()

A color.brightness parancs a színérzékelő által érzékelt fény mennyiségét jelenti. 0% és 100% közötti értékeket jelez.

color_3.set_light(25, PERCENT)
    while True:
        if color_3.brightness() > 25:
            # Ha a színérzékelő fényt érzékel, akkor a robot balra mozdul el
            LeftMotor.spin_for(ELŐRE, 35, FOK)
        else:
            # Ha a színérzékelő sötétséget érzékel, akkor a robot jobbra mozdul el
            RightMotor.spin_for(ELŐRE, 35, FOK)
        wait(20, MSEC)
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ó.
color_3.hue()

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

brain.screen.print(color_3.hue())
drivetrain.drive(ELŐRE)
while not color_3.is_near_object():
    wait(20, MSEC)
if color_3.hue() > 330 and color_3.hue() < 30:
    drivetrain.turn_for(JOBBRA, 90, FOK)
else:
    drivetrain.turn_for(BALRA, 90, FOK)

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.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: