Table des matières:

Détection des couleurs à l'aide de LED RVB : 4 étapes
Détection des couleurs à l'aide de LED RVB : 4 étapes

Vidéo: Détection des couleurs à l'aide de LED RVB : 4 étapes

Vidéo: Détection des couleurs à l'aide de LED RVB : 4 étapes
Vidéo: Détection des couleurs en temps réel à l’aide de la webcam et l’Arduino 2024, Novembre
Anonim
Détection des couleurs à l'aide de LED RVB
Détection des couleurs à l'aide de LED RVB

Avez-vous déjà voulu un moyen automatisé de détecter la couleur d'un objet ? En projetant une lumière d'une certaine couleur sur l'objet et en regardant la quantité de lumière réfléchie, vous pouvez savoir de quelle couleur est l'objet. Par exemple, si vous allumez une lumière rouge sur un objet rouge, cette lumière sera réfléchie. Si vous projetez une lumière bleue sur un objet rouge, l'objet absorbera une partie de cette lumière et une moindre partie sera réfléchie.

Étape 1: Pièces nécessaires

Pièces nécessaires
Pièces nécessaires

J'ai utilisé un microcontrôleur PIC 16F887, mais presque tous ceux dotés d'une capacité de modulation de largeur d'impulsion fonctionneront. 1 LED RVB1 Microcontrôleur1 LED rouge standard1 Résistance de 1k ohm1 Photorésistance (modifie la résistance en fonction de la quantité de lumière qui l'éclaire)Certains filsJe n'ai besoin que du microcontrôleur et de la LED RVB pour avoir une large gamme de détecteurs de couleur, mais si vous voulez seulement un circuit qui détecte une couleur, vous n'avez pas besoin d'un microcontrôleur - vous n'avez besoin que d'une LED lumineuse de la couleur que vous souhaitez détecter. La LED rouge standard est la "LED indicatrice" - elle s'allume lorsque la bonne couleur est détectée.

Étape 2: Construire le circuit

Construire le circuit
Construire le circuit
Construire le circuit
Construire le circuit

Le schéma est assez simple, et dans sa forme générale, est montré ci-dessous. La LED RVB est alimentée en externe par un signal PWM. J'ai mis du ruban électrique autour de la photorésistance pour que la lumière ambiante n'entre pas - seule la lumière directement au-dessus sera détectée.

Étape 3: Le code

Ce code a été écrit pour un Microchip PIC 16F887, mais j'espère que vous pourrez vous faire une idée générale. J'ai utilisé le potentiomètre intégré sur ma carte de développement pour faire varier le spectre de couleurs de la LED RVB (et ça ne passe pas par tout le spectre car je n'ai pas 3 modules PWM, mais c'est assez bon) Commentaires inclus. #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_ccp2(int8) value {output_low(PIN_C1);CCP2CON = valeur;}//=================================== annuler principal (){//A4 = source d'alimentation pour photodiodeoutput_high(PIN_A4);output_high(PIN_B1);setup_adc(ADC_CLOCK_INTERNAL);set_adc_channel(0);setup_adc_ports(sAN0);//Timer/Interrupt setupenable_interrupts(INT_TIMER2)cc;my_set my_setup_ccp2(CCP_PWM);setup_timer_2(T2_DIV_BY_1, 128, 1);//setup_compare(2, COMPARE_PWM|COMPARE_TIMER2);while(1){ // Empêche le PIC de se mettre en veille.//SET PWM DUTY CYCLE output_high(PIN_A5); // La broche A3 est la connexion de la photodiode if(input(PIN_A3) == 1) output_high(PIN_A4); else output_low(PIN_A4);//Lire la valeur du potentiomètre pour changer la couleur de la valeur LED = read_adc(); switch (valeur) { case 0: p1 = valeur; output_low(PIN_C0); p2 = valeur; Pause; cas 50: p1 = valeur; output_high(PIN_C0); p2 = valeur; Pause; cas 100: p1 = valeur; output_high(PIN_C0); p2 = valeur; Pause; cas 150: output_high(PIN_C0); p1 = 50; p2 = valeur; Pause; cas 200: output_low(PIN_C0); p1 = 0; p2 = valeur; Pause; cas 250: p1 = 0; p2 = valeur; output_low(PIN_C0); Pause; } p1 = valeur; p2 = 128 - p1; set_pwm1_duty(p1); set_pwm2_duty(p2);}}

Étape 4: Candidatures

Applications!
Applications!

Un simple détecteur de couleurs comme celui-ci peut être utilisé en robotique ou pour des projets sympas comme séparer les legos par couleur, trier les M&M ou comme aide au daltonisme. Espérons que cette instructable a été utile pour améliorer un projet que vous aviez en tête !:) Les LED sont bonnes pour tant de choses….

Conseillé: