Inhoudsopgave:
Video: Kleurdetectie met RGB LED: 4 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:20
Heb je ooit een geautomatiseerde manier gewild om de kleur van een object te detecteren? Door licht van een bepaalde kleur op het object te schijnen en te kijken hoeveel licht er wordt teruggekaatst, kun je zien welke kleur het object heeft. Als je bijvoorbeeld een rood licht op een rood voorwerp schijnt, wordt dat licht teruggekaatst. Als je een blauw licht op een rood object schijnt, zal het object een deel van dat licht absorberen en zal er minder van worden teruggekaatst.
Stap 1: benodigde onderdelen
Ik heb een PIC 16F887 Microcontroller gebruikt, maar bijna elke microcontroller met pulsbreedtemodulatie zal werken. 1 RGB LED1 Microcontroller1 Standaard rode LED1 Weerstand van 1k ohm1 Fotoweerstand (verandert de weerstand afhankelijk van de hoeveelheid licht die erop valt)Sommige dradenIk heb alleen de microcontroller en RGB LED nodig om een breed scala aan kleurdetectoren te hebben, maar als je alleen een circuit wilt dat detecteert één kleur, je hebt geen microcontroller nodig - je hebt alleen een heldere LED nodig van de kleur die je wilt detecteren. De standaard rode LED is de "indicator LED" - deze licht op wanneer de juiste kleur wordt gedetecteerd.
Stap 2: Bouw het circuit
Het schema is vrij eenvoudig en wordt in algemene vorm hieronder weergegeven. De RGB-LED wordt extern gevoed door een PWM-signaal. Ik heb isolatietape rond de fotoweerstand aangebracht, zodat er geen omgevingslicht binnenkomt - alleen het licht er direct boven wordt gedetecteerd.
Stap 3: De code
Deze code is geschreven voor een Microchip PIC 16F887, maar hopelijk krijg je het algemene idee. Ik heb de ingebouwde potentiometer op mijn ontwikkelbord gebruikt om het kleurenspectrum van de RGB-LED te variëren (en het gaat niet door het hele spectrum omdat ik geen 3 PWM-modules heb, maar het is goed genoeg) Opmerkingen inbegrepen. #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 waarde = 128;int p1 = 0;int p2 = 0;void my_setup_ccp1(int8 waarde){output_low(PIN_C2);CCP1CON = waarde;PWM1CON = 0;}void my_setup_ccp2(int8 waarde) {output_low(PIN_C1);CCP2CON = waarde;}//=================================== ongeldig hoofd (){//A4 = stroombron voor fotodiodeoutput_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_CPTIMER2);p my_setup_ccp2(CCP_PWM);setup_timer_2(T2_DIV_BY_1, 128, 1);//setup_compare(2, COMPARE_PWM|COMPARE_TIMER2);terwijl(1){ // Voorkom dat PIC in de sluimerstand gaat.//SET PWM DUTY CYCLE output_high (PIN_A5); // Pin A3 is de fotodiode-verbinding if (input (PIN_A3) == 1) output_high (PIN_A4); else output_low(PIN_A4);//Lees de waarde van de potentiometer om de kleur van de LED-waarde te veranderen = read_adc(); schakelaar (waarde) { geval 0: p1 = waarde; output_low(PIN_C0); p2 = waarde; pauze; geval 50: p1 = waarde; output_high (PIN_C0); p2 = waarde; pauze; geval 100: p1 = waarde; output_high (PIN_C0); p2 = waarde; pauze; geval 150: output_high (PIN_C0); p1 = 50; p2 = waarde; pauze; geval 200: output_low(PIN_C0); p1 = 0; p2 = waarde; pauze; geval 250: p1 = 0; p2 = waarde; output_low(PIN_C0); pauze; } p1 = waarde; p2 = 128 - p1; set_pwm1_duty(p1); set_pwm2_duty(p2);}}
Stap 4: Aanvragen
Zo'n simpele kleurendetector kan worden gebruikt in robotica, of voor coole projecten zoals lego's op kleur scheiden, M&M's sorteren of als hulpmiddel bij kleurenblindheid. Hopelijk was dit instructable nuttig bij het verbeteren van een project dat je in gedachten had!:) LED's zijn voor zoveel dingen goed….
Aanbevolen:
Kleurdetectie verfmachine - Ajarnpa
Kleurdetectie verfmachine: kleurdetectie verfmachine kopieert kleuren om je heen en laat je ermee tekenen. Als je de verf van primaire kleuren hebt, kun je de RGB-kleurensensor gebruiken om de gewenste kleur te voelen en deze te mengen. Maar onthoud, gebruik het felgekleurde object
Eenvoudige kleurdetectie met OpenCV - Ajarnpa
Eenvoudige kleurdetectie met OpenCV: Hallo! Vandaag ga ik een eenvoudige methode laten zien voor het detecteren van een kleur van een live video met behulp van OpenCV en python. In principe zal ik gewoon testen of de vereiste kleur aanwezig is in het achtergrondframe of niet en met behulp van OpenCV-modules zal ik die regio maskeren en
Kleurdetectie in Python met OpenCV: 8 stappen
Kleurdetectie in Python met OpenCV: Hallo! Deze instructable wordt gebruikt om te helpen bij het extraheren van een specifieke kleur uit een afbeelding in python met behulp van de openCV-bibliotheek. Als deze techniek nieuw voor u is, hoeft u zich geen zorgen te maken, aan het einde van deze handleiding kunt u uw eigen kleur programmeren
Op kleurdetectie gebaseerde objecttracking - Ajarnpa
Op kleurdetectie gebaseerde objecttracking: verhaal Ik deed dit project om beeldverwerking te leren met behulp van Raspberry PI en open CV. Om dit project interessanter te maken heb ik twee SG90 servomotoren gebruikt en de camera erop gemonteerd. Een motor werd gebruikt om horizontaal te bewegen en een tweede motor om verticaal te bewegen
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze