Czujnik koloru wykorzystuje światło odbite do wykrywania koloru obiektu, wartości odcienia, wartości skali szarości, jasności i bliskości.
Czujnik koloru VEX IQ wchodzi w skład zestawu VEX IQ Super Kit i można go również kupić tutaj.
Używasz robota VEX IQ drugiej generacji? Zobacz przegląd czujników drugiej generacji tutajoraz informacje na temat czujnika optycznego, wersji czujnika koloru drugiej generacji.
Opis czujnika koloru
Czujnik kolorów VEX IQ ma wiele trybów pracy, które umożliwiają mu przechwytywanie różnych typów informacji z otoczenia. Na zbierane przez czujnik informacje wpływają warunki oświetleniowe otoczenia, a także odległość między czujnikiem a obiektem lub powierzchnią, którą odczytuje.
Jak działa czujnik koloru
Czujnik koloru potrafi wykrywać zarówno kolor, jak i bliskość.
Wykrywanie kolorów
W trybie jasności czujnik koloru służy do wykrywania intensywności całego światła w otoczeniu robota. Im więcej światła dociera do czujnika koloru, gdy jest on aktywny, tym większa jest wartość procentowa wysyłana do mózgu robota.
Jeśli wykryty procent jasności jest niski lub niewiarygodny, można włączyć lampę czujnika koloru lub zwiększyć procent jasności lampy, korzystając z następującego ustawienia blokowania światła:
Czujnik koloru może zgłaszać widziany kolor jako wartość koloru lub wartość odcienia.
Wartości kolorów.Na liście znajduje się 14 kolorów, które może wykryć czujnik koloru. Kolory, których brakuje na obrazie bloku, to czerwony, zielony, niebieski, biały i żółty.
Wartości odcienia.Wartości odcienia są podobne do wartości kolorów, tyle że liczbowe. Wartość odcienia mieści się w zakresie od 0 do 360, podobnie jak stopnie. Wartości kolorów wymienione powyżej mają swoje własne równoważne zakresy wartości odcieni.
Przy wykrywaniu kolorów i odcieni ważne jest, aby czujnik kolorów dysponował odpowiednią ilością światła. Pamiętaj o przetestowaniu (czyli kalibracji) czujnika koloru przy różnych poziomach oświetlenia i przy różnych poziomach natężenia światła lampy, aby określić, które ustawienie jest najbardziej niezawodne dla czujnika koloru Twojego robota.
Wykrywanie bliskości
Czujnik koloru zawiera czujnik-emiter podczerwieni. Nadajnik podczerwieni emituje niewidzialne światło, a następnie wykrywa jego odbicie. Jeżeli większość światła podczerwonego odbija się z powrotem w kierunku czujnika, informuje to Mózg Robota, że obiekt jest blisko.
Typowe zastosowania czujnika koloru
Czujniki koloru są stosowane w wielu zastosowaniach technologicznych, w których istotne jest wyświetlanie konkretnych kolorów na wyświetlaczach lub produktach.
Do typowych zastosowań w życiu codziennym należą:
- Narzędzia do kalibracji kolorów sprawdzają, czy ekran cyfrowy prawidłowo wyświetla kolory, a następnie w razie potrzeby dostosowują ustawienia wyświetlania. Dla grafików i każdego projektanta pracującego z kolorem na ekranie cyfrowym ważne jest, aby móc dokładnie zobaczyć, jaki kolor jest wyświetlany. Nieporozumienia i marnowanie zasobów powstają, gdy kolory nie są dokładne.
- Aparaty i kamery wykorzystują czujniki koloru do dostosowywania ustawień w zależności od warunków oświetleniowych, w jakich się znajdują, w celu ulepszenia zdjęć i filmów poprzez maksymalizację poziomu światła i uwydatnienie matowych kolorów. Czujniki te pozwalają także fotografowi skupić się na określonych kolorach na zdjęciach.
- Czasami w produkcji stosuje się czujniki koloru, aby szybko sprawdzić, czy produkt ma właściwy kolor, zanim zostanie wysłany do klienta. Na przykład owoce i warzywa, które zmieniają kolor, gdy są dojrzałe lub gotowe do spożycia, można skanować, aby upewnić się, że mają odpowiedni kolor do wysłania na rynek.
Oto niektóre typowe zastosowania robota VEX IQ:
- Za pomocą tego czujnika można wykryć kolor obiektu. Obejrzyj tę animację, aby zobaczyć, jak robot jedzie do przodu, aż czujnik kolorów wykryje zieloną kostkę.
- Czujnik ten może być używany do wykrywania i/lub podążania za linią. Obejrzyj tę animację, aby zobaczyć robota używającego czujnika koloru do jazdy wzdłuż wyznaczonej linii.
- Ten czujnik może wykryć, czy obiekt znajduje się w pobliżu.
Czujniki koloru w robocie konkursowym
Pamiętaj, że przy wykrywaniu kolorów i odcieni ważne jest, aby czujnik kolorów miał odpowiednią ilość światła. Pamiętaj o przeprowadzeniu testu, znanego również jako kalibracja, Twojego czujnika kolorów za każdym razem, gdy przybywasz na nowe miejsce zawodów, ponieważ różne poziomy oświetlenia mogą wpływać na działanie czujnika kolorów. Przetestuj swój projekt, ustawiając lampy na różnych poziomach, aby określić, które ustawienie jest najbardziej niezawodne dla czujnika koloru Twojego robota.
Informacje zbierane przez czujnik kolorów są przydatne przy programowaniu robota wyścigowego tak, aby reagował na różne warunki. Czujnik koloru może ulepszyć robota konkursowego na następujące sposoby:
- Pozwala robotowi wykryć kolor obiektu w pobliżu czujnika. Jest to przydatne, jeśli chcesz, aby robot sortował obiekty o różnych kolorach, podjeżdżał do obiektu o określonym kolorze lub wykrywał kolor obiektów przechodzących obok czujnika.
- Pozwala robotowi wykryć, ile światła odbija się z powrotem do czujnika. Dzięki temu robot może jechać, aż dotrze do linii na powierzchni, a nawet podążać za nią.
- Dzięki temu robot wie, czy obiekt lub powierzchnia znajduje się w pobliżu. Jest to pomocne w określeniu, czy wykryty kolor jest odczytem z pobliskiego obiektu, czy potencjalnie anomalnym odczytem odległej powierzchni lub światła.
Kodowanie czujnika koloru w blokach
Blok <Found an object> to logiczny blok reportera, który raportuje warunek jako prawdziwy lub fałszywy. Bloki logiczne, takie jak blok <Found an object> , mieszczą się wewnątrz bloków z sześciokątnymi (sześciościennymi) wejściami dla innych bloków.
Blok logiczny <Found an object> zgłasza „prawdę”, jeśli „prawda”, jeśli czujnik koloru wykryje obiekt, i „fałsz”, jeśli czujnik tego nie robi. Aby dowiedzieć się więcej na temat bloków logicznych, odwiedź artykuł Pomoc lub Kształty bloków i znaczenie.
W tym przykładzie blok <Found an object> służy do wykrywania bliskości wraz z blokiem [Czekaj do], aby robot jechał do przodu, aż do wykrycia obiektu.
Blok <Color detects> jest także blokiem reportera Boole'a, który raportuje warunek jako prawdziwy lub fałszywy. Blok <Color detects> zgłasza „prawdę”, jeśli „prawda”, jeśli czujnik koloru wykryje wybrany kolor, i „fałsz”, jeśli czujnik wykryje inny kolor. Aby dowiedzieć się więcej na temat bloków logicznych, odwiedź artykuł Pomoc lub Kształty bloków i znaczenie.
W tym przykładzie zastosowano blok <Color detects> wraz z blokiem [Czekaj do], aby spowodować, że robot pojedzie do przodu, aż czujnik koloru wykryje zielony obiekt. Robot przestanie wtedy jeździć. Pokazano to na pierwszym filmie powyżej.
Blok (Jasność) informuje o ilości światła wykrytego przez czujnik koloru. Jest to blok reporterski stosowany wewnątrz innych bloków z okrągłymi odstępami.
Blok (Jasność) podaje zakres od 0% do 100%.
W tym przykładzie blok (Jasność) służy do wykrywania przez robota linii i podążania za nią, jak pokazano na drugim filmie powyżej.
Blok (Hue of) informuje o odcieniu koloru wykrytym przez czujnik koloru. Jest to blok reporterski stosowany wewnątrz innych bloków z okrągłymi odstępami.
Blok (Jasność) podaje zakres od 0 do 360.
W tym przykładzie blok (Odcień) służy do tego, aby robot sprawdził zakres wartości odcieni odpowiadających kolorowi czerwonemu i skręcił w prawo o 90 stopni, jeśli te wartości zostaną wykryte przez czujnik. Jeżeli zostaną wykryte inne wartości odcienia, robot skręci w lewo o 90 stopni.
Blok (Odcień) może być przydatny, gdy konieczne jest wykrycie przez robota określonych kolorów, gdy warunki oświetlenia otoczenia mogą być niespójne.
Kodowanie czujnika koloru w Pythonie
Uwaga:Aby zaprogramować przełącznik zderzakowy VEX IQ (1. generacji) w Pythonie, musi on być podłączony do układu Brain VEX IQ (2. generacji). VEX IQ (1. generacja) Brain nie obsługuje języka Python.
color_3.is_near_object()Polecenie color.is_near_object zgłasza True , gdy czujnik koloru wykryje obiekt lub powierzchnię blisko przodu czujnika i False , gdy czujnik koloru nie wykryje obiektu lub powierzchni blisko przodu czujnika czujnik.
Uwaga:Nazwa czujnika koloru pojawiająca się w poleceniu odpowiada nazwie podanej w konfiguracji.
|
| W tym przykładzie pętlaWhile z warunkiem not została użyta z poleceniem color.is_near_object , aby robot jechał do przodu, aż czujnik koloru wykryje obiekt w pobliżu swojej przedniej części. |
color_3.color()Polecenie color.color raportuje kolor aktualnie wykrywany przez czujnik koloru.
|
| W tym przykładzie pętlaWhile z warunkiem not została użyta z poleceniem color.color , aby robot jechał do przodu, aż czujnik koloru wykryje zielony obiekt. Następnie robot przestanie jechać. Ilustruje to pierwszy film powyżej. |
color_3.jasność()Polecenie color.brightness raportuje ilość światła wykrytą przez czujnik koloru. Zakres wartości wynosi od 0% do 100%.
|
| W tym przykładzie polecenie color.brightness służy do wykrywania przez robota linii i podążania za nią, jak pokazano na drugim filmie powyżej. |
kolor_3.odcień()Polecenie color.hue zgłasza odcień koloru wykrytego przez czujnik koloru. Podaje zakres wartości odcieni od 0 do 360.
|
|
W tym przykładzie polecenie color.hue służy do tego, aby robot sprawdził zakres wartości odcieni odpowiadających kolorowi czerwonemu i skręcił w prawo o 90 stopni, jeśli te wartości zostaną wykryte przez czujnik. Jeżeli zostaną wykryte inne wartości odcienia, robot skręci w lewo o 90 stopni. Polecenie color.hue może być przydatne, gdy konieczne jest, aby robot wykrył określone kolory, gdy warunki oświetlenia otoczenia mogą być nierówne. |