[PROJEKT] Czujnik koloru KPS-5130

Przejdźmy teraz do programu. Chcemy, aby czujnik odczytywał wartości z poszczególnych kanałów (R, G, B) i zapisywał je do zmiennych. Następnie program ma sprawdzić, wartość którego koloru jest największa i zasygnalizować zmierzony kolor odpowiednią diodą RGB.

Kod programu zaprezentowany jest poniżej (pliki projektowe znajdują się również w sekcji do pobrania):

Na początku programu deklarujemy numery pinów, do których są dołączone poszczególne kanały diody RGB:

Następnie tworzymy zmienne, w których są przechowywane dane z czujnika koloru dla poszczególnych barw: czerwonej, zielonej oraz niebieskiej.

Ustawiamy prędkość portu szeregowego oraz piny, do których podłączona jest dioda RGB jako wyjścia.

W pętli głównej programu, do zmiennych są przypisywane wartości pinów analogowych, do których jest podłączony czujnik koloru. Następnie te wartości są przesyłane do portu szeregowego.

W dalszej części programu porównywalne są wartości zmiennych dla poszczególnych kolorów odczytanych z czujnika koloru. W zależności od tego która wartość zmiennej jest największa, zostaje zapalony odpowiedni kanał diody RGB. Dodatkowo przez port szeregowy jest przesyłana informacja, jaki kolor został wykryty.

Podczas testowania opisywanego projektu wykorzystano sześcian o ścianach zabarwionych na kolor czerwony, zielony oraz niebieski. Najlepsze wyniki uzyskuje się, gdy czujnik jest w odległości około 5 mm od badanej powierzchni. Widok monitory portu szeregowego podczas pracy został przedstawiony na rysunku 4.

Rysunek 4. Monitor portu szeregowego podczas działania programu

Działanie programu zostało pokazane na poniższym filmie:

Do pobrania

O autorze