Taula de continguts:

Detecció de color mitjançant LED RGB: 4 passos
Detecció de color mitjançant LED RGB: 4 passos

Vídeo: Detecció de color mitjançant LED RGB: 4 passos

Vídeo: Detecció de color mitjançant LED RGB: 4 passos
Vídeo: Sensor de colores(1) 2024, Desembre
Anonim
Detecció de color mitjançant LED RGB
Detecció de color mitjançant LED RGB

Heu volgut mai una manera automatitzada de detectar el color d’un objecte? Brillant la llum d’un determinat color a l’objecte i observant quanta llum es reflecteix cap enrere, es pot saber de quin color és l’objecte. Per exemple, si brilleu una llum vermella sobre un objecte vermell, aquesta llum es reflectirà cap enrere. Si brilleu una llum blava sobre un objecte vermell, l’objecte absorbirà part d’aquesta llum i es reflectirà menys.

Pas 1: parts necessàries

Parts necessàries
Parts necessàries

He utilitzat un microcontrolador PIC 16F887, però gairebé qualsevol amb capacitat de modulació d'amplada de pols funcionarà. 1 LED RGB1 Microcontrolador1 LED vermell estàndard1 Resistència 1k ohm 1 Fotoresistor (canvia la resistència en funció de la quantitat de llum que brilla) Alguns cables Només necessito el microcontrolador i el LED RGB per tenir una àmplia gamma de detectors de color, però si només voleu un circuit que detecta un color, no necessiteu un microcontrolador; només necessiteu un LED brillant del color que vulgueu detectar. El LED vermell estàndard és el "LED indicador": s'encén quan es detecta el color adequat.

Pas 2: Construeix el circuit

Construeix el circuit
Construeix el circuit
Construeix el circuit
Construeix el circuit

L’esquema és força senzill i, de forma general, es mostra a continuació. El LED RGB s’alimenta externament mitjançant un senyal PWM. Poso cinta elèctrica al voltant del fotoresistor perquè la llum ambiental no entri; només es detectarà la llum que hi ha directament a sobre.

Pas 3: el codi

Aquest codi es va escriure per a un microchip PIC 16F887, però espero que pugueu fer-vos la idea general. He utilitzat el potenciòmetre incorporat a la meva placa de desenvolupament per variar l’espectre de color del LED RGB (i no passa per tot l’espectre perquè no tinc 3 mòduls PWM, però és prou bo) Comentaris inclosos. #include #include #include "delay.c" #include #include #use delay (clock = 4000000) #FUSES INTRC, NOWDT, NOPUT, NOMCLR, NOPROTECT, NOCPD, NOBROWNOUT, NOIESO, NOFCMEN, NOLVP # byte CCP1CON = 0x17 # byte CCP2CON = 0x1D # byte PWM1CON = 0x9Bint value = 128; int p1 = 0; int p2 = 0; void my_setup_ccp1 (int8 value) {output_low (PIN_C2); CCP1CON = value; PWM1CON = 0;} void my_setup_ccp {output_low (PIN_C1); CCP2CON = value;} // =================================== void main () {// A4 = font d'alimentació per a fotodiodeoutput_high (PIN_A4); output_high (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); // Temporitzador / Interrupt setupenable_interrupts (INT_TIMER2_); my_setup_ccp2 (CCP_PWM); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, COMPARE_PWM | COMPARE_TIMER2); mentre que (1) {// Eviteu que PIC vagi a dormir.//SET PWM DUTY CYCLE output_high (PIN_ // El pin A3 és la connexió del fotodiode si (input (PIN_A3) == 1) output_high (PIN_A4); else output_low (PIN_A4); // Llegiu el valor del potenciòmetre per canviar el color del valor del LED = read_adc (); commutador (valor) {cas 0: p1 = valor; output_low (PIN_C0); p2 = valor; trencar; cas 50: p1 = valor; output_high (PIN_C0); p2 = valor; trencar; cas 100: p1 = valor; output_high (PIN_C0); p2 = valor; trencar; cas 150: output_high (PIN_C0); p1 = 50; p2 = valor; trencar; cas 200: output_low (PIN_C0); p1 = 0; p2 = valor; trencar; cas 250: p1 = 0; p2 = valor; output_low (PIN_C0); trencar; } p1 = valor; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}

Pas 4: aplicacions

Aplicacions!
Aplicacions!

Un senzill detector de color com aquest es pot utilitzar en robòtica o per a projectes interessants com separar els llibrets per color, ordenar M & Ms o com a ajuda per a la daltonisme. Tant de bo que aquest instructiu sigui útil per millorar un projecte que teníeu en ment.:) Els LED són bons per a tantes coses …

Recomanat: