Përmbajtje:

Zbulimi i ngjyrave duke përdorur LED RGB: 4 hapa
Zbulimi i ngjyrave duke përdorur LED RGB: 4 hapa

Video: Zbulimi i ngjyrave duke përdorur LED RGB: 4 hapa

Video: Zbulimi i ngjyrave duke përdorur LED RGB: 4 hapa
Video: ESP32 Tutorial 12 - WS2812 RGB Srip 4 Project with SunFounder's ESP32 IoT Learnig kit 2024, Nëntor
Anonim
Zbulimi i ngjyrave duke përdorur LED RGB
Zbulimi i ngjyrave duke përdorur LED RGB

A keni kërkuar ndonjëherë një mënyrë të automatizuar për të zbuluar ngjyrën e një objekti? Duke ndriçuar dritën e një ngjyre të caktuar në objekt dhe duke parë se sa dritë reflektohet prapa, mund të tregoni se çfarë ngjyre është objekti. Për shembull, nëse ndizni një dritë të kuqe në një objekt të kuq, ajo dritë do të reflektohet përsëri. Nëse ndriçoni një dritë blu mbi një objekt të kuq, objekti do të thithë pak nga ajo dritë dhe më pak prej tij do të reflektohet prapa.

Hapi 1: Pjesët e nevojshme

Pjesët e nevojshme
Pjesët e nevojshme

Kam përdorur një Mikrokontrollues PIC 16F887, por pothuajse çdo me aftësi modulimi të gjerësisë së impulsit do të funksionojë. 1 RGB LED1 Mikrokontrollues1 Standard i kuq LED1 Rezistencë 1k ohm1 Fotorezistor (ndryshon rezistencën në varësi të sasisë së dritës që shkëlqen mbi të) Disa tela Më duhen vetëm mikrokontrolluesi dhe LED RGB për të pasur një gamë të gjerë detektorësh ngjyrash, por nëse dëshironi vetëm një qark që zbulon një ngjyrë, nuk keni nevojë për mikrokontrollues - ju duhet vetëm një LED i ndritshëm i ngjyrës që dëshironi të zbuloni. LED standard i kuq është "LED tregues" - ndizet kur zbulohet ngjyra e duhur.

Hapi 2: Ndërtoni qarkun

Ndërtoni qarkun
Ndërtoni qarkun
Ndërtoni qarkun
Ndërtoni qarkun

Skema është mjaft e thjeshtë, dhe në formë të përgjithshme, është treguar më poshtë. RGB LED fuqizohet nga jashtë nga një sinjal PWM. Unë vendos kasetë elektrike rreth fotorezistencës në mënyrë që drita e ambientit të mos futet - vetëm drita drejtpërdrejt mbi të do të zbulohet.

Hapi 3: Kodi

Ky kod është shkruar për një mikroçip PIC 16F887, por shpresojmë se mund të merrni idenë e përgjithshme. Kam përdorur potenciometrin e integruar në tabelën time të zhvillimit për të ndryshuar spektrin e ngjyrave të RGB LED (dhe nuk kalon në të gjithë spektrin sepse nuk kam 3 module PWM, por është mjaft mirë) Komentet e përfshira. #include #include #include "delay.c" #include #include #use use use (clock = 4000000) #FUSES INTRC, NOWDT, NOPUT, NOMCLR, NOPROTECT, NOCPD, NOBROWNOUT, NOIESO, NOFCMEN, NOLVP #byte CCP1 byte CCP2CON = 0x1D#byte PWM1CON = 0x9Bint value = 128; int p1 = 0; int p2 = 0; void my_setup_ccp1 (vlera int8) {output_low (PIN_C2); CCP1CON = vlera; PWM1CON = 0;} vlerë my_setup8 {output_low (PIN_C1); CCP2CON = vlera;} // =================================== pavlefshme kryesore () {// A4 = burimi i energjisë për fotodiodeoutput_high (PIN_A4); output_high (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); // Timer/Interrupt setupenable_inter_pages (my_set) my_setup_ccp2 (CCP_PWM); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, KRAHASO_PWM | KRAHASO_TIMER2); ndërsa (1) {// Parandaloni PIC -in të shkojë në gjumë.//SET PWM DUTYY5; // Pin A3 është lidhja e fotodiodës nëse (input (PIN_A3) == 1) output_high (PIN_A4); tjetër output_low (PIN_A4); // Vlera e lexuar e potenciometrit për të ndryshuar ngjyrën e vlerës LED = read_adc (); kaloni (vlera) {rasti 0: p1 = vlera; niveli i daljes (PIN_C0); p2 = vlera; pushim; rasti 50: p1 = vlera; dalje_ e lartë (PIN_C0); p2 = vlera; pushim; rasti 100: p1 = vlera; dalje_ e lartë (PIN_C0); p2 = vlera; pushim; rasti 150: output_high (PIN_C0); p1 = 50; p2 = vlera; pushim; rasti 200: output_low (PIN_C0); p1 = 0; p2 = vlera; pushim; rasti 250: p1 = 0; p2 = vlera; niveli i daljes (PIN_C0); pushim; } p1 = vlera; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}

Hapi 4: Aplikimet

Aplikimet!
Aplikimet!

Një detektor i thjeshtë ngjyrash si ky mund të përdoret në robotikë, ose për projekte të lezetshme si ndarja e legos me ngjyra, renditja e M & Ms, ose si një ndihmë për verbërinë e ngjyrave. Shpresojmë që ky udhëzues të ishte i dobishëm në përmirësimin e një projekti që kishit në mendje!:) LED janë të mira për kaq shumë gjëra….

Recommended: