Taula de continguts:
Vídeo: Detecció de color mitjançant LED RGB: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:18
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
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
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
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:
Com fer un timbre sense tocar, detecció de temperatura corporal, GY-906, 433 MHz mitjançant Arduino: 3 passos
Com fer un timbre sense tocar, detecció de temperatura corporal, GY-906, 433 MHz utilitzant Arduino: Avui farem un timbre sense tocar, que detectarà la temperatura corporal. En la situació actual, és molt important saber si la temperatura corporal d'algú és superior a la normal, quan algú està tocant. Aquest projecte mostrarà llum vermella si es detecta
Màquina de pintar per detecció de color: 4 passos
Màquina de pintar amb detecció de color: la màquina de pintar amb detecció de color copia els colors al vostre voltant i us permet dibuixar amb ells. Si teniu la pintura de colors primaris, podeu utilitzar el sensor de color RGB per detectar el color que desitgeu i barrejar-lo. Però recordeu, utilitzeu l’objecte de colors brillants
Detecció de color a Python mitjançant OpenCV: 8 passos
Detecció de colors a Python mitjançant OpenCV: Hola! Aquesta instrucció s'utilitza per guiar sobre com extreure un color específic d'una imatge en python mitjançant la biblioteca openCV. Si no coneixeu aquesta tècnica, no us preocupeu, al final d'aquesta guia podreu programar el vostre propi color
Seguiment d'objectes basat en la detecció de color: 10 passos
Seguiment d’objectes basat en la detecció de color: història. Vaig fer aquest projecte per aprendre el processament d’imatges amb Raspberry PI i obrir el CV. Per fer aquest projecte més interessant, he utilitzat dos servomotors SG90 i hi heu muntat càmera. Un motor que es movia horitzontalment i un segon motor que es movia verticalment
Seguiment de moviment 3D Tfcd mitjançant detecció capacitiva i sortida LED: 6 passos (amb imatges)
Seguiment de moviment 3D Tfcd mitjançant detecció capacitiva i sortida LED: en aquesta instrucció s’explica com es pot rastrejar el moviment d’una mà en un espai 3D mitjançant el principi de la detecció capacitiva. En canviar la distància entre un paper d'alumini carregat i la mà, la capacitat del condensador variarà