Použití barevného senzoru VEX IQ (1. generace).

Barevný senzor používá odražené světlo k detekci barvy objektu, hodnoty odstínu, hodnoty ve stupních šedi, jasu a blízkosti.

VEX IQ (1. gen) Color Sensor kus.

Barevný senzor VEX IQ je součástí sady VEX IQ Super Kit a lze jej také zakoupit zde.

Používáte robota VEX IQ 2. generace? Podívejte se na přehled snímačů 2. generace zdea informace o optickém snímači, verzi snímače barev 2. generace.


Popis snímače barev

VEX IQ Color Sensor má několik režimů, které mu umožňují zachytit různé typy informací z jeho prostředí. Informace, které shromažďuje, jsou ovlivněny světelnými podmínkami jeho prostředí a také vzdáleností mezi senzorem a objektem nebo povrchem, který čte.


Barevné kolo demonstrující, jak 360stupňový kruh koreluje s hodnotou odstínu. Červená barva je na stupni 0, zelená barva je na stupni 120 a modrá barva je na stupni 240.


Jak funguje snímač barev

Barevný senzor dokáže detekovat jak barvu, tak blízkost.

Detekce barev

VEXcode IQ Jas bloku, který čte jas Color3 v %.

Schéma barevného senzoru, který detekuje světlý povrch a hlásí hodnotu 80 %, a poté detekuje tmavý povrch a hlásí hodnotu 20 %.

V režimu jasu se senzor barev používá k detekci intenzity veškerého světla v prostředí robota. Čím více světla dopadá na barevný senzor, když je aktivní, tím vyšší je procentuální hodnota odeslaná do robotického mozku.

VEXcode IQ Nastavte světelný blok barevného senzoru, který čte Set Color3 light to 50%.

Barevný senzor zobrazený připojený k robotu v tmavém prostředí. Lampa senzoru barev se rozsvítí, aby osvětlila okolí.

Pokud je detekované procento jasu nízké nebo nespolehlivé, lze zapnout lampu barevného senzoru nebo zvýšit procento jasu lampy pomocí následujícího nastaveného světla k blokování:

Tři bloky VEXcode IQ Color Sensor. První je Barva bloku, která čte název barvy Color3. Druhý je odstín bloku, který čte odstín Color3 ve stupních. Třetím je blok detekce barvy, který čte Barva3 nedetekuje žádnou?

Snímač barev může hlásit barvu, kterou vidí, buď jako hodnotu barvy, nebo jako hodnotu odstínu.

VEXcode IQ Color detekuje blok, který čte Color3 nedetekuje žádný? Otevře se rozevírací nabídka Barva bloku a zobrazí se seznam barev, které lze rozpoznat. Seznam čte oranžovou, fialovou, červenofialovou, fialovou, modrofialovou, modrozelenou, žlutozelenou, žlutou oranžovou a červenooranžovou.

Hodnoty barev.V seznamu je 14 barev, které snímač barev dokáže detekovat. Barvy chybějící na obrázku bloku jsou červená, zelená, modrá, bílá a žlutá.

Diagram hodnoty odstínu ukazující, jak 360 stupňů koreluje s hodnotou odstínu. Červená barva je na stupni 0, zelená barva je na stupni 120 a modrá barva je na stupni 240.

Hodnoty odstínu.Hodnoty odstínu jsou jako hodnoty barev, ale jsou číselné. Hodnota odstínu se pohybuje od 0 do 360, jako jsou stupně. Hodnoty barev uvedené výše mají své vlastní ekvivalentní rozsahy hodnot odstínu. 

Při zjišťování barev a odstínů je důležité, aby senzor barev měl k tomu správné množství světla. Ujistěte se, že otestujete, také známý jako kalibrace, váš barevný senzor v různých úrovních světla a s lampou nastavenou na různé úrovně, abyste zjistili, které je nejspolehlivější nastavení pro barevný senzor vašeho robota.

Detekce blízkosti

Color Sensor obsahuje infračervený senzor-emitor. Infračervený zářič svítí neviditelným světlem a poté detekuje jeho odraz. Pokud se většina infračerveného světla odrazí zpět k senzoru, informuje robotický mozek, že je blízko nějaký objekt.

VEXcode IQ Našli jste objektový blok, který čte Color3 is near object?

Běžná použití snímače barev

Barevné senzory se používají v mnoha technologických aplikacích, kde je důležité mít specifické barvy na displejích nebo produktech.

Některá běžná použití v každodenním životě zahrnují:

  • Nástroje pro kalibraci barev zkontrolují, zda digitální obrazovka zobrazuje přesné barvy, a podle potřeby upraví nastavení zobrazení. Pro grafiky a každého designéra, který pracuje s barvami na digitální obrazovce, je důležité, aby viděli přesně tu správnou barvu, která se zobrazuje. Když barvy nejsou přesné, dochází k nedorozuměním a plýtvání zdroji.
  • Fotoaparáty a videokamery používají barevné senzory k úpravě nastavení podle světelných podmínek, ve kterých se nacházejí, aby vylepšily své fotografie a videa maximalizací úrovně osvětlení a zvýrazněním jinak matných barev. Tyto senzory také umožňují fotografovi zaměřit se na konkrétní barvy na svých fotografiích.
  • Barevné senzory se někdy používají ve výrobě, aby rychle zkontrolovaly, zda má produkt správnou barvu předtím, než je odeslán zákazníkovi. Například ovoce a zelenina, které se barví, když jsou zralé nebo připravené ke konzumaci, lze naskenovat, aby bylo zajištěno, že mají správnou barvu pro odeslání na trh. 


Některá běžná použití s ​​robotem VEX IQ zahrnují:

  • Tento senzor lze použít k detekci barvy předmětu. Podívejte se na tuto animaci a uvidíte, jak robot jede vpřed, dokud barevný senzor nedetekuje zelenou kostku.

  • Tento senzor lze použít k detekci a/nebo sledování linie. Prohlédněte si tuto animaci, abyste viděli robota, který pomocí barevného senzoru jede po vyznačené čáře.

  • Tento senzor dokáže detekovat, zda je objekt blízko.

Barevné senzory na soutěžním robotu

Pamatujte, že při zjišťování barev a odstínů je důležité, aby senzor barev měl k tomu správné množství světla. Nezapomeňte otestovat, také známou jako kalibrace, váš barevný senzor pokaždé, když dorazíte na nové místo soutěže, protože různé úrovně světla mohou ovlivnit výkon vašeho barevného senzoru. Otestujte svůj projekt s lampou nastavenou na různých úrovních, abyste zjistili, které je nejspolehlivější nastavení pro barevný senzor vašeho robota. 

Informace shromážděné barevným senzorem jsou užitečné pro programování konkurenčního robota, aby reagoval na různé podmínky. Barevný senzor může vylepšit soutěžního robota následujícími způsoby:

  • Umožňuje robotovi detekovat barvu předmětu v blízkosti senzoru. To je užitečné, pokud chcete, aby robot třídil různobarevné předměty, zajížděl ke specificky zbarvenému předmětu nebo detekoval barvu předmětů, když procházejí kolem senzoru.
  • Umožňuje robotovi zjistit, kolik světla se odráží zpět do senzoru. To umožňuje vašemu robotovi řídit, dokud nedosáhne čáry na povrchu, nebo dokonce čáru sledovat.
  • Dává robotovi vědět, zda je blízko nějaký předmět nebo povrch. To je užitečné při určování, zda detekovaná barva je čtením z blízkého objektu nebo potenciálně anomálním čtením vzdáleného povrchu nebo světla. 

Kódování barevného senzoru v blocích

VEXcode IQ Našli jste objektový blok, který čte Color3 is near object?

Blok <Found an object> je logický reportovací blok, který hlásí podmínku jako pravdivou nebo nepravdivou. Booleovské bloky, jako je blok <Found an object> , se vejdou do bloků s šestihrannými (šestistrannými) vstupy pro jiné bloky.

Booleovský blok <Found an object> hlásí 'true', pokud 'true', pokud snímač barev detekuje objekt, a 'false', pokud snímač ne. Chcete-li se dozvědět více o booleovských blocích, navštivte článek Help nebo Block Shapes and Meaning.

 

VEXcode IQ blokuje projekt, který používá barevný senzor k jízdě vpřed, dokud nenajde objekt. Projekt zní: Po spuštění jeďte vpřed, počkejte, dokud Color3 nenajde objekt, a poté přestaňte řídit.

V tomto příkladu se blok <Found an object> používá k detekci blízkosti spolu s blokem [Čekat, dokud], aby robot jel dopředu, dokud není detekován objekt.

VEXcode IQ Color detekuje blok, který čte Barva3 detekuje zelenou?

Blok <Color detects> je také logický reportovací blok, který hlásí podmínku jako pravdivou nebo nepravdivou. Blok <Color detects> hlásí „true“, pokud „true“, pokud senzor barev detekuje vybranou barvu, a „false“, pokud senzor detekuje jakoukoli jinou barvu. Chcete-li se dozvědět více o booleovských blocích, navštivte článek Help nebo Block Shapes and Meaning.

 

VEXcode IQ blokuje projekt, který používá barevný senzor k jízdě vpřed, dokud nezjistí zelenou barvu. V projektu je napsáno Po spuštění jeďte vpřed, počkejte, dokud Barva3 nezjistí zelenou, a poté zastavte jízdu.

V tomto příkladu se blok <Color detects> používá spolu s blokem [Počkejte, dokud], aby robot pojel vpřed, dokud senzor barev nedetekuje zelený objekt. Robot poté přestane řídit. To je znázorněno v prvním videu výše.

VEXcode IQ Jas bloku, který čte jas Color3 v %.

Blok (Brightness of) udává množství světla detekovaného snímačem barev. Je to reportérský blok používaný uvnitř jiných bloků s kruhovými mezerami.

Blok (Brightness of) hlásí rozsah 0 % až 100 %.

 

Projekt bloků VEXcode IQ, který používá dolů směřující barevný senzor ke sledování označené linie. Projekt zní: Při spuštění nastavte světlo Color3 na 25 %. Dále, navždy, pokud je jas Color3 v % větší než 25, otočte levý motor dopředu o 35 stupňů, jinak otočte pravý motor dopředu o 35 stupňů.

V tomto příkladu se blok (Brightness of) používá k tomu, aby robot detekoval a sledoval čáru, jak ukazuje druhé video výše.

VEXcode IQ Hue bloku, který čte barevný odstín 3 ve stupních.

Blok (Hue of) udává odstín barvy detekovaný snímačem barev. Je to reportérský blok používaný uvnitř jiných bloků s kruhovými mezerami.

Blok (Brightness of) hlásí rozsah 0 až 360.

 

VEXcode IQ blokuje projekt, který využívá optický senzor k jízdě vpřed, dokud nedosáhne objektu, a poté odbočte doprava, pokud je červená, nebo doleva, pokud není. Projekt zní: Po spuštění vytiskněte na Brain odstín Color3 ve stupních, jeďte vpřed a počkejte, dokud Color3 nenajde objekt. Pokud je odstín Color3 ve stupních větší než 330 a odstín Color3 ve stupních je menší než 30, otočte se doprava o 90 stupňů, jinak se otočte doleva o 90 stupňů.

V tomto příkladu se blok (Hue of) používá k tomu, aby robot zkontroloval rozsah hodnot odstínu, které odpovídají červené barvě, a aby se otočil doprava o 90 stupňů, pokud jsou tyto hodnoty detekovány senzorem. Pokud jsou detekovány jakékoli jiné hodnoty odstínu, robot se otočí doleva o 90 stupňů.

Blok (Hue of) může být užitečný, když je nutné, aby robot detekoval určité barvy, když okolní světelné podmínky mohou být nekonzistentní.

Kódování barevného senzoru v Pythonu

Poznámka:Chcete-li kódovat nárazníkový spínač VEX IQ (1. generace) v Pythonu, musí být připojen k mozku VEX IQ (2. generace). VEX IQ (1. generace) Brain nepodporuje Python.

color_3.is_near_object()

Příkaz color.is_near_object hlásí True , když snímač barev detekuje předmět nebo povrch blízko přední části snímače a False , když snímač barev ne detekuje objekt nebo povrch blízko přední části snímače. senzor.

Poznámka:Název snímače barev, který se objeví v příkazu, odpovídá názvu, který je uveden v konfiguraci. 

drivetrain.drive(FORWARD)
zatímco ne color_3.is_near_object():
wait(20, MSEC)
drivetrain.stop()
V tomto příkladu se smyčkaWhile s podmínkou ne používá s příkazem color.is_near_object k tomu, aby robot jel dopředu, dokud barevný senzor nedetekuje předmět blízko přední části. senzor.
color_3.color()

Příkaz color.color hlásí barvu aktuálně detekovanou snímačem barev.

drivetrain.drive(FORWARD)
zatímco ne color_3.GREEN():
wait(20, MSEC)
drivetrain.stop()
V tomto příkladu se smyčkaWhile s podmínkou ne používá s příkazem color.color , aby robot jel vpřed, dokud senzor barev nedetekuje zelený objekt. Robot poté přestane řídit. To je znázorněno v prvním videu výše.
color_3.brightness()

Příkaz color.brightness hlásí množství světla detekovaného snímačem barev. Uvádí rozsah hodnot od 0 % do 100 %.

color_3.set_light(25, PERCENT)
while True:
if color_3.brightness() > 25:
# Pokud senzor barev detekuje světlo, robot se posune doleva
LeftMotor.spin_for(FORWARD, 35, DEGREES)
else:
# Pokud senzor barev detekuje tmu, pak se robot posune
RightMotor.spin_for(FORWARD, 35, DEGREES)
čekání (20, MSEC)
V tomto příkladu se příkaz color.brightness používá k tomu, aby robot detekoval a sledoval linii, jak je znázorněno na druhém videu výše.
color_3.hue()

Příkaz color.hue hlásí odstín barvy detekovaný snímačem barev. Uvádí rozsah hodnot odstínu od 0 do 360.

brain.screen.print(color_3.hue())
drivetrain.drive
FORWARD)
zatímco ne color_3.is_near_object():
wait(20, MSEC)
if color_3.hue() > 330 and color_3.hue() < 30:
drivetrain RIGHT, else:RE_for
drivetrain.turn_for(LEFT, 90, DEGREES)

V tomto příkladu se příkaz color.hue používá k tomu, aby robot zkontroloval rozsah hodnot odstínu, které odpovídají červené barvě, a aby se otočil doprava o 90 stupňů, pokud jsou tyto hodnoty detekovány senzorem. Pokud jsou detekovány jakékoli jiné hodnoty odstínu, robot se otočí doleva o 90 stupňů.

Příkaz color.hue může být užitečný, když je nutné, aby robot detekoval určité barvy, když okolní světelné podmínky mohou být nekonzistentní.

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

Last Updated: