Sadržaj:
Video: Otkrivanje boje pomoću RGB LED: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:09
Jeste li ikada poželjeli automatizirani način otkrivanja boje objekta? Osvjetljavanjem određene boje na objektu i gledanjem koliko se svjetlosti reflektira unatrag, možete odrediti koje je boje objekt. Na primjer, ako osvijetlite crveno svjetlo na crvenom objektu, to će se svjetlo odbiti natrag. Ako na crveni predmet zasvijetlite plavim svjetlom, objekt će apsorbirati dio te svjetlosti, a manje će se reflektirati natrag.
Korak 1: Potrebni dijelovi
Koristio sam mikrokontroler PIC 16F887, ali gotovo svaki s mogućnošću modulacije širine impulsa će raditi. 1 RGB LED1 Mikrokontroler1 Standardna crvena LED1 otpornik od 1 k ohma1 Fotootpornik (mijenja otpor ovisno o količini svjetlosti koja ga obasjava) Neke žice Potrebni su mi samo mikrokontroler i RGB LED da bismo imali širok raspon detektora u boji, ali ako želite samo krug koji detektira jednu boju, ne treba vam mikrokontroler - potrebna vam je samo svijetla LED boje koju želite otkriti. Standardna crvena LED dioda je "indikatorska LED" - svijetli kada se detektira prava boja.
Korak 2: Izgradite krug
Shema je prilično jednostavna i općenito je prikazana u nastavku. RGB LED napaja se izvana pomoću PWM signala. Stavio sam električnu traku oko fotootpornika tako da ne ulazi unutrašnje svjetlo - samo će se svjetlo detektirati neposredno iznad njega.
Korak 3: Kôd
Ovaj kôd je napisan za Microchip PIC 16F887, ali nadam se da možete steći opću ideju. Koristio sam ugrađeni potenciometar na svojoj razvojnoj ploči za promjenu spektra boja RGB LED (i ne prolazi kroz cijeli spektar jer nemam 3 PWM modula, ali je dovoljno dobar) Uključeni su komentari. #include #include #include "delay.c" #include #include #use delay (clock = 4000000) #FUSES INTRC, NOWDT, NOPUT, NOMCLR, NOPROTECT, NOCPD, NOBROWNOUT, NOIESO, NOFCMEN, NOLVP #byte CCP1CON bajt CCP2CON = 0x1D#bajt PWM1CON = 0x9Bint vrijednost = 128; int p1 = 0; int p2 = 0; void my_setup_ccp1 (vrijednost int8) {output_low (PIN_C2); CCP1CON = vrijednost; PWM1CON = 0;} vrijednost void my_setup {output_low (PIN_C1); CCP2CON = vrijednost;} // =================================== void main () {// A4 = izvor napajanja za photodiodeoutput_high (PIN_A4); output_high (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); // Tajmer/prekid setupenable_interrupts_MCP2 my_setup_ccp2 (CCP_PWM); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, COMPARE_PWM | COMPARE_TIMER2); while (1) {// Sprječavanje PIC -a da zaspi.//SET PWM DUTY CYCLE output_high; // Pin A3 je fotodiodna veza if (input (PIN_A3) == 1) output_high (PIN_A4); else output_low (PIN_A4); // Očitajte vrijednost potenciometra za promjenu boje LED vrijednosti = read_adc (); prekidač (vrijednost) {slučaj 0: p1 = vrijednost; output_low (PIN_C0); p2 = vrijednost; break; slučaj 50: p1 = vrijednost; output_high (PIN_C0); p2 = vrijednost; break; slučaj 100: p1 = vrijednost; output_high (PIN_C0); p2 = vrijednost; break; slučaj 150: output_high (PIN_C0); p1 = 50; p2 = vrijednost; break; slučaj 200: output_low (PIN_C0); p1 = 0; p2 = vrijednost; break; slučaj 250: p1 = 0; p2 = vrijednost; output_low (PIN_C0); break; } p1 = vrijednost; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}
Korak 4: Prijave
Jednostavan detektor boja kao što je ovaj može se koristiti u robotici, ili za hladne projekte poput odvajanja lego kockica po boji, sortiranje M & M -a ili kao pomoć pri daltonizmu. Nadamo se da je ovo uputstvo bilo od pomoći u poboljšanju projekta koji ste imali na umu!:) LED diode su dobre za mnoge stvari….
Preporučuje se:
Mašina za farbanje boja za otkrivanje boje: 4 koraka
Mašina za boje za otkrivanje boja: Mašina za boje za otkrivanje boja kopira boje oko vas i omogućava vam da crtate s njima. Ako imate boju primarnih boja, možete upotrijebiti RGB senzor boje da osjetite boju koju želite i pomiješajte je. Ali zapamtite, koristite objekt svijetle boje
Jednostavno otkrivanje boje pomoću OpenCV-a: 6 koraka
Jednostavno otkrivanje boja pomoću OpenCV-a: Zdravo! Danas ću pokazati jednostavnu metodu otkrivanja boje iz videa uživo koristeći OpenCV i python. U osnovi ću samo testirati da li je potrebna boja prisutna u pozadinskom okviru ili ne, a koristeći OpenCV module, maskirat ću tu regiju i
Nadogradite "uradi sam" lonac za zalijevanje sa WiFi -em u alarmni uređaj za otkrivanje kretnji za otkrivanje pokreta "Uradi sam": 17 koraka
Nadogradite "uradi sam" lonac za zalijevanje sa WiFi -jem u aparat za alarme za otkrivanje kretnji za otkrivanje pokreta "Uradi sam": U ovom članku pokazat ćemo vam kako nadograditi svoj lonac za samolijevanje s vlastitim WiFi -jem u DIY lonac za samolijevanje s WiFi -jem i alarmom za detekciju kretanja. niste pročitali članak o tome kako izgraditi lonac za samostalno zalijevanje s WiFi -jem, možete fin
Kako napraviti svjetiljku od papira pomoću kompleta svjetiljki za električne boje: 7 koraka
Kako napraviti svjetiljku od papira pomoću kompleta električnih svjetiljki za boje: U ovom vodiču pokazat ćemo vam kako hakirati komplet svjetiljki za električne boje kako biste napravili lanternu od papira. Za ovaj vodič koristili smo postavku svijeća, jedan od dodatnih načina rada Light Up Board. Sve što vam je potrebno za ovaj vodič je neka kartica, El
Promijenite boje LED -a pomoću POT i ATTINY85: 3 koraka
Promjena LED boja pomoću POT i ATTINY85: U ovom projektu koristimo potenciometar (POT) za promjenu boja LED diode pomoću ATTINY85. Neke definicije - Potenciometar je uređaj s malim mehanizmom za zavrtnje / okretanje koji prilikom okretanja daje različite električne otpore. Vi možete