
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-23 14:47
Jeste li ikada poželjeli automatizirani način otkrivanja boje objekta? Osvjetljavanjem određene boje na objektu i gledanjem koliko se svjetlosti reflektira natrag, možete znati koje je boje objekt. Na primjer, ako osvijetlite crveno svjetlo na crvenom predmetu, to će se svjetlo odbiti natrag. Ako na crveni predmet zasvijetlite plavim svjetlom, objekt će apsorbirati dio te svjetlosti i manje će se odbiti nazad.
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 1k ohmski otpornik1 Fotootpornik (mijenja otpor ovisno o količini svjetlosti koja je na njega zasjala) Neke žiceSamo mi mikrokontroler i RGB LED trebaju samo široki raspon detektora u boji, ali ako želite samo krug koji detektira jednu boju, ne trebate mikrokontroler - potrebna vam je samo svijetla LED boje koju želite detektirati. 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 putem PWM signala. Stavila sam električnu traku oko fotootpornika tako da ne ulazi svjetlo iz okoline - detektovat će se samo svjetlo neposredno iznad njega.
Korak 3: Kôd
Ovaj kôd je napisan za Microchip PIC 16F887, ali nadamo 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); // Mjerač vremena/prekid setupenable_interrupts_MCP2_TCP2 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; pauza; slučaj 50: p1 = vrijednost; output_high (PIN_C0); p2 = vrijednost; pauza; slučaj 100: p1 = vrijednost; output_high (PIN_C0); p2 = vrijednost; pauza; slučaj 150: output_high (PIN_C0); p1 = 50; p2 = vrijednost; pauza; slučaj 200: output_low (PIN_C0); p1 = 0; p2 = vrijednost; pauza; slučaj 250: p1 = 0; p2 = vrijednost; output_low (PIN_C0); pauza; } p1 = vrijednost; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}
Korak 4: Prijave
Jednostavan detektor boja poput ovoga može se koristiti u robotici ili za hladne projekte poput odvajanja lego kockica po boji, razvrstavanja M & M -a ili kao pomoć pri sljepoći za boje. Nadamo se da je ovo uputstvo pomoglo u poboljšanju projekta koji ste imali na umu!:) LED diode su dobre za mnoge stvari….
Preporučeni:
Jednostavno otkrivanje boje pomoću OpenCV-a: 6 koraka

Jednostavno otkrivanje boja pomoću OpenCV-a: Bok! 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 pomoću OpenCV modula maskirat ću tu regiju i
Svjetlo upozorenja za rotacijske svjetionike u dvije boje u dvije boje: 6 koraka

Svjetlo upozorenja rotacijskog svjetionika u dvije boje: U ovom Instructable -u stvorit ćemo mini svjetlo. Znate, jedno od onih starinskih rotirajućih svjetala koje su stavljali na građevinsku opremu prije nego što su LED diode postale velike? Da. Jedan od onih. Ovaj će biti relativno jednostavan i malen
Izrada PCB -a pomoću fotootporne boje i UV zraka: 7 koraka (sa slikama)

Izrada PCB -a pomoću fotootporne boje i UV zračenja: Kako napraviti kvalitetan PCBI isprikom za fotografije niske rezolucije, Dom dvije PRO kamere. Obje kamere koje je moja obitelj izvadila iz pripreme za gradpcb sastoje se od nekoliko faza: 1. Pripremite računalni program s EAGLE, Sprint-Layout, Prot
Prijelaz boje na POP-X2 GLCD pomoću gumba: 6 koraka

Prijelaz boje na POP-X2 GLCD pomoću gumba: U osnovi, ovaj projekt prikazuje značajku upravljačke ploče koju volim koristiti. POP-X2 ploča, koju proizvodi INEX, ima ugrađeni GLCD u boji, gumb, I/O portove i komponente slične drugim kontrolnim pločama. Molimo provjerite priručnik ploče za
Promijenite LED boje 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 vijčanim / okretnim mehanizmom koji prilikom okretanja daje različite električne otpore. Ti možeš