W tym projekcie zamierzamy połączyć czujnik koloru TCS3200 z Arduino UNO. TCS3200 to czujnik koloru, który może wykryć dowolną liczbę kolorów przy odpowiednim zaprogramowaniu. TCS3200 zawiera macierze RGB (czerwony, zielony, niebieski). Jak pokazano na rysunku na poziomie mikroskopowym, można zobaczyć kwadratowe ramki wewnątrz oka na czujniku. Te kwadratowe pola to tablice macierzy RGB. Każde z tych pudełek zawiera trzy czujniki, jeden do wykrywania intensywności światła CZERWONEGO, jeden do wykrywania intensywności światła ZIELONEGO, a ostatni do wykrywania intensywności światła NIEBIESKIEGO.
Każda z tablic czujników w tych trzech tablicach jest wybierana oddzielnie w zależności od wymagań. Stąd jest znany jako programowalny czujnik. Moduł można opisać, aby wyczuwać określony kolor i pozostawić pozostałe. Zawiera filtry do tego celu wyboru. Jest czwarty tryb, który nie jest trybem filtrowania. Bez trybu filtra czujnik wykrywa białe światło.
Wymagane składniki
Sprzęt: ARDUINO UNO, zasilacz (5v), LED, JHD_162ALCD (16 * 2LCD), czujnik koloru TCS3200.
Oprogramowanie: ARDUINO IDE (nocne ARDUINO).
Schemat obwodu i objaśnienie robocze
W LCD 16x2 jest 16 pinów, jeśli jest podświetlenie, jeśli nie ma podświetlenia, będzie 14 pinów. Można zasilać lub pozostawić piny podświetlenia. Teraz w 14 szpilki są kołki 8 danych (7-14 lub D0-D7), 2 szpilki zasilacza (1 i 2 lub VSS i VDD i GND i +5 V), 3 rd stykowe dla regulacji kontrastu (VEE umożliwia sprawdzenie grubości znaki powinny pokazano) i 3 piny sterujące (RS i RW i E)
W obwodzie widać, że wziąłem tylko dwa piny sterujące. Bit kontrastu i odczyt / zapis nie są często używane, więc można je zwierać do masy. Dzięki temu wyświetlacz LCD ma najwyższy kontrast i tryb odczytu. Musimy tylko sterować pinami ENABLE i RS, aby odpowiednio wysyłać znaki i dane.
Poniżej przedstawiono połączenia wykonane dla LCD:
PIN1 lub VSS do masy
PIN2 lub VDD lub VCC do + 5 V.
PIN3 lub VEE do ziemi (daje maksymalny kontrast najlepszy dla początkującego)
PIN4 lub RS (wybór rejestru) do PIN8 w ARDUINO UNO
PIN5 lub RW (odczyt / zapis) do masy (przełącza wyświetlacz LCD w tryb odczytu, ułatwiając komunikację użytkownikowi)
PIN6 lub E (Włącz) do PIN9 z ARDUINO UNO
PIN11 lub D4 do PIN7 z ARDUINO UNO
PIN12 lub D5 do PIN11 z ARDUINO UNO
PIN13 lub D6 do PIN12 z ARDUINO UNO
PIN14 lub D7 do PIN13 z ARDUINO UNO
Połączenia wykonane dla czujnika koloru są podane poniżej:
VDD do + 5V
GND do GROUND
OE (wyjście włączone) do GND
S0 do styku UNO 2
S1 do styku UNO 3
S2 do styku UNO 4
S3 do styku UNO 5
OUT do styku UNO 10
Kolor, który ma być wykrywany przez czujnik koloru, jest wybierany dwoma pinami S2 i S3. Dzięki sterowaniu logicznemu za pomocą tych dwóch pinów możemy wskazać czujnikowi, które natężenie światła ma być mierzone.
Powiedzmy, że musimy wyczuć intensywność koloru CZERWONEGO i ustawić oba piny na NISKIE. Po wykonaniu tej czynności czujnik wykrywa intensywność i wysyła wartość do układu sterowania wewnątrz modułu.
S2 |
S3 |
Typ fotodiody |
L |
L |
Czerwony |
L |
H. |
niebieski |
H. |
L |
Wyczyść (bez filtra) |
H. |
H. |
Zielony |
Na rysunku pokazano układ sterowania wewnątrz modułu. Natężenie światła mierzone przez matrycę jest przesyłane do prądu do przetwornicy częstotliwości. To, co robi, to generuje falę prostokątną, której częstotliwość jest w stosunku do prądu wysyłanego przez ARRAY.
Mamy więc układ, który wysyła falę prostokątną, której częstotliwość zależy od natężenia światła koloru wybranego przez S2 i S3.
Częstotliwość sygnału wysyłanego przez moduł może być modulowana w zależności od zastosowania. Możemy zmienić szerokość pasma częstotliwości sygnału wyjściowego.
S0 |
S1 |
Skalowanie częstotliwości wyjściowej (f 0) |
L |
L |
Wyłączać |
L |
H. |
2% |
H. |
L |
20% |
H. |
H. |
100% |
Skalowanie częstotliwości odbywa się za pomocą dwóch bitów S0 i S1. Dla wygody ograniczymy skalowanie częstotliwości do 20%. Odbywa się to poprzez ustawienie S0 na wysoki, a S1 na niski. Ta funkcja jest przydatna, gdy używamy modułu w systemie z niskim zegarem.
Wrażliwość matrycy na kolory pokazano na poniższym rysunku.
Chociaż różne kolory mają różną czułość, przy normalnym użytkowaniu nie ma to większego znaczenia.
UNO wysyła tutaj sygnał do modułu w celu wykrycia kolorów, a dane odebrane przez moduł są wyświetlane na podłączonym do niego wyświetlaczu LCD 16 * 2.
UNO osobno wykrywa trzy intensywności kolorów i wyświetla je na wyświetlaczu LCD.
Uno może wykryć czas trwania impulsu sygnału, po którym możemy uzyskać częstotliwość fali prostokątnej wysyłanej przez moduł. Mając pod ręką częstotliwość, możemy dopasować ją do koloru czujnika.
|
Jak przy powyższym warunku, UNO odczytuje czas trwania impulsu na 10- tym pinie UNO i zapisuje jego wartość jako liczbę całkowitą „częstotliwości”.
Zrobimy to dla wszystkich trzech kolorów do rozpoznawania kolorów. Wszystkie trzy intensywności kolorów są przedstawiane jako częstotliwości na wyświetlaczu LCD 16x2.