Barevný senzor používá odražené světlo k detekci barvy objektu, hodnoty odstínu, hodnoty ve stupních šedi, jasu a blízkosti.
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.
Jak funguje snímač barev
Barevný senzor dokáže detekovat jak barvu, tak blízkost.
Detekce barev
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.
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í:
Snímač barev může hlásit barvu, kterou vidí, buď jako hodnotu barvy, nebo jako hodnotu odstínu.
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á.
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.
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
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.
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.
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.
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.
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 %.
V tomto příkladu se blok (Brightness of) používá k tomu, aby robot detekoval a sledoval čáru, jak ukazuje druhé video výše.
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.
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) |
| 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) |
| 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) |
| 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()) |
|
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í. |