Spisu treści:
Wideo: Wykrywanie kolorów za pomocą diody LED RGB: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:34
Czy kiedykolwiek chciałeś zautomatyzowanego sposobu wykrywania koloru obiektu? Oświetlając obiekt światłem o określonym kolorze i patrząc, ile światła zostało odbite, można określić kolor obiektu. Na przykład, jeśli oświetlisz czerwony przedmiot czerwonym światłem, to światło zostanie odbite. Jeśli oświetlisz czerwony obiekt niebieskim światłem, obiekt pochłonie część tego światła, a mniej zostanie odbite.
Krok 1: Potrzebne części
Użyłem mikrokontrolera PIC 16F887, ale prawie każdy z możliwością modulacji szerokości impulsu będzie działał. 1 RGB LED1 Mikrokontroler1 Standardowa czerwona dioda LED1 Rezystor 1k ohm1 Fotorezystor (zmienia rezystancję w zależności od ilości padającego na niego światła)Niektóre przewody Potrzebuję tylko mikrokontrolera i diody RGB, aby mieć szeroką gamę detektorów kolorów, ale jeśli potrzebujesz tylko układu, który wykrywa jeden kolor, nie potrzebujesz mikrokontrolera - potrzebujesz tylko jasnej diody LED o kolorze, który chcesz wykryć. Standardowa czerwona dioda LED to „wskaźnik LED” - zapala się po wykryciu odpowiedniego koloru.
Krok 2: Zbuduj obwód
Schemat jest dość prosty iw ogólnej formie pokazano poniżej. Dioda LED RGB jest zasilana zewnętrznie sygnałem PWM. Owijam fotorezystor taśmą elektryczną, aby nie wpadało do niego światło otoczenia - tylko światło znajdujące się bezpośrednio nad nim zostanie wykryte.
Krok 3: Kodeks
Ten kod został napisany dla Microchip PIC 16F887, ale miejmy nadzieję, że możesz uzyskać ogólny pomysł. Użyłem wbudowanego potencjometru na mojej płytce rozwojowej do zmiany spektrum kolorów diody RGB (i nie przechodzi przez całe spektrum, ponieważ nie mam 3 modułów PWM, ale jest wystarczająco dobry). Komentarze w zestawie. #include #include #include "delay.c"#include #include #use delay(clock = 4000000)#FUSES INTRC, NOWDT, NOPUT, NOMCLR, NOPROTECT, NOCPD, NOBROWNOUT, NOIESO, NOFCMEN, NOLVP#bajt CCP1CON = 0x17# byte CCP2CON = 0x1D#byte PWM1CON = 0x9Bint wartość = 128;int p1 = 0;int p2 = 0;void my_setup_ccp1(int8 value){output_low(PIN_C2);CCP1CON = value;PWM1CON = 0;}void my_setup_ccp2(int8) {output_low(PIN_C1);CCP2CON = wartość;}//====================================unieważnij główne (){//A4 = źródło zasilania fotodiodyoutput_high(PIN_A4);output_high(PIN_B1);setup_adc(ADC_CLOCK_INTERNAL);set_adc_channel(0);setup_adc_ports(sAN0);//Ustawienia timera/przerwaniaenable_interrupts(INT_setup_PWpmy); my_setup_ccp2(CCP_PWM);setup_timer_2(T2_DIV_BY_1, 128, 1);//setup_compare(2, COMPARE_PWM|COMPARE_TIMER2);while(1){ // Zapobiegaj uśpieniu PIC.//SET PWM CYCLE output_high(PIN_A5); //Pin A3 to połączenie fotodiody if(input(PIN_A3) == 1) output_high(PIN_A4); else output_low(PIN_A4);//Odczytaj wartość potencjometru, aby zmienić kolor diody = read_adc(); switch (wartość) { przypadek 0: p1 = wartość; wyjście_niskie (PIN_C0); p2 = wartość; przerwa; przypadek 50: p1 = wartość; output_high(PIN_C0); p2 = wartość; przerwa; przypadek 100: p1 = wartość; output_high(PIN_C0); p2 = wartość; przerwa; przypadek 150: output_high(PIN_C0); p1 = 50; p2 = wartość; przerwa; przypadek 200: output_low(PIN_C0); p1 = 0; p2 = wartość; przerwa; przypadek 250: p1 = 0; p2 = wartość; wyjście_niskie (PIN_C0); przerwa; } p1 = wartość; p2 = 128 - p1; set_pwm1_duty(p1); set_pwm2_duty(p2);}}
Krok 4: Aplikacje
Prosty wykrywacz kolorów, taki jak ten, może być używany w robotyce lub w fajnych projektach, takich jak oddzielanie klocków lego według kolorów, sortowanie M&Ms lub jako pomoc dla ślepoty barw. Mam nadzieję, że ta instrukcja była pomocna w ulepszeniu projektu, który miałeś na myśli!:) Diody są dobre do wielu rzeczy….
Zalecana:
Przetwarzanie obrazu za pomocą Raspberry Pi: Instalacja OpenCV i separacja kolorów obrazu: 4 kroki
Przetwarzanie obrazu za pomocą Raspberry Pi: Instalowanie OpenCV i separacji kolorów obrazu: Ten post jest pierwszym z kilku samouczków dotyczących przetwarzania obrazu, które mają zostać wykonane. Przyglądamy się bliżej pikselom, które składają się na obraz, dowiadujemy się, jak zainstalować OpenCV na Raspberry Pi, a także piszemy skrypty testowe do przechwytywania obrazu, a także c
Proste wykrywanie kolorów za pomocą OpenCV: 6 kroków
Proste wykrywanie kolorów za pomocą OpenCV: Cześć! Dzisiaj pokażę prostą metodę wykrywania koloru z wideo na żywo za pomocą OpenCV i Pythona. Zasadniczo po prostu przetestuję wymagany kolor w ramce tła lub nie i za pomocą modułów OpenCV zamaskuję ten region i
Wykrywanie kolorów w Pythonie za pomocą OpenCV: 8 kroków
Wykrywanie kolorów w Pythonie za pomocą OpenCV: Witam! Ta instrukcja służy do nauczenia, jak wyodrębnić określony kolor z obrazu w pytonie za pomocą biblioteki openCV. Jeśli jesteś nowy w tej technice, nie martw się, na końcu tego przewodnika będziesz mógł zaprogramować swój własny kolor
Śledzenie obiektów w oparciu o wykrywanie kolorów: 10 kroków
Śledzenie obiektów w oparciu o wykrywanie kolorów: historia Zrobiłem ten projekt, aby nauczyć się przetwarzania obrazu za pomocą Raspberry PI i otwartego CV. Aby uatrakcyjnić ten projekt użyłem dwóch silników SG90 Servo i zamontowałem na nim kamerę. Jeden silnik służy do poruszania się w poziomie, a drugi do poruszania się w pionie
Przełącz diodę LED RGB przez spektrum kolorów za pomocą Raspberry Pi 2 i Scratch: 11 kroków
Przełącz diodę LED RGB przez spektrum kolorów za pomocą Raspberry Pi 2 i Scratch: Uwagi dotyczące aktualizacji 25 lutego 2016 r.: Ulepszyłem program Scratch i przeprojektowałem moje instrukcje. Cześć chłopaki, w tym projekcie chciałem użyć Scratcha, aby przełączać diodę LED RGB przez spektrum kolorów. Jest mnóstwo projektów, które to robią z t