Orodha ya maudhui:

Kugundua Rangi Kutumia RGB LED: Hatua 4
Kugundua Rangi Kutumia RGB LED: Hatua 4

Video: Kugundua Rangi Kutumia RGB LED: Hatua 4

Video: Kugundua Rangi Kutumia RGB LED: Hatua 4
Video: ESP32 Tutorial 6 - Using RGB LED Project 2.3 -SunFounder's ESP32 IoT Learnig kit 2024, Novemba
Anonim
Kugundua Rangi Kutumia RGB LED
Kugundua Rangi Kutumia RGB LED

Je! Umewahi kutaka njia ya kiotomatiki kugundua rangi ya kitu? Kwa kuangaza taa ya rangi fulani kwenye kitu na kutazama nuru imeonyeshwa nyuma kiasi gani, unaweza kujua kitu hicho ni rangi gani. Kwa mfano, ikiwa unaangaza taa nyekundu kwenye kitu nyekundu, taa hiyo itaonyeshwa tena. Ikiwa unaangazia taa ya samawati kwenye kitu nyekundu, kitu hicho kitaingiza taa hiyo na chini yake itaonyeshwa tena.

Hatua ya 1: Sehemu Zinazohitajika

Sehemu Zinazohitajika
Sehemu Zinazohitajika

Nilitumia PIC 16F887 Microcontroller, lakini karibu yoyote iliyo na uwezo wa upana-upanaji wa moduli itafanya kazi. 1 RGB LED1 Microcontroller 1 Nyekundu ya kawaida 1 hugundua rangi moja, hauitaji microcontroller - unahitaji tu mwangaza mkali wa rangi unayotaka kugundua. LED ya kawaida nyekundu ni "LED ya kiashiria" - inaangaza wakati rangi inayofaa inagunduliwa.

Hatua ya 2: Jenga Mzunguko

Jenga Mzunguko
Jenga Mzunguko
Jenga Mzunguko
Jenga Mzunguko

Mpangilio ni rahisi, na kwa jumla unaonyeshwa hapa chini. RGB LED inaendeshwa nje na ishara ya PWM. Ninaweka mkanda wa umeme karibu na kifaa cha picha ili taa iliyoko isiingie - taa tu moja kwa moja juu yake itagunduliwa.

Hatua ya 3: Kanuni

Nambari hii iliandikwa kwa Microchip PIC 16F887, lakini tunatumahi kuwa unaweza kupata wazo la jumla. Nilitumia potentiometer iliyojengwa kwenye bodi yangu ya maendeleo kutofautisha wigo wa rangi wa RGB LED (na haipitii wigo mzima kwa sababu sina moduli 3 za PWM, lakini ni nzuri ya kutosha) Maoni yamejumuishwa. #jumuisha # pamoja na # pamoja na "kuchelewesha." byte CCP2CON = 0x1D # byte PWM1CON = 0x9Bint value = 128; int p1 = 0; int p2 = 0; batili my_setup_ccp1 (thamani ya int8) {output_low (PIN_C2); CCP1CON = thamani; PWM1CON = 0;} batili my_setup_ccp2 {output_low (PIN_C1); CCP2CON = thamani;} // ================================= () {// A4 = chanzo cha nguvu cha photodiodeoutput_high (PIN_A4); pato_high (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, COMPARE_PWM | COMPARE_TIMER2); // Pin A3 ni muunganisho wa photodiode ikiwa (pembejeo (PIN_A3) == 1) output_high (PIN_A4); pato lingine_pungufu (PIN_A4); // Soma thamani ya potentiometer kubadilisha rangi ya thamani ya LED = read_adc (); kubadili (thamani) {kesi 0: p1 = thamani; pato_pungufu (PIN_C0); p2 = thamani; kuvunja; kesi 50: p1 = thamani; pato_high (PIN_C0); p2 = thamani; kuvunja; kesi 100: p1 = thamani; pato_high (PIN_C0); p2 = thamani; kuvunja; kesi 150: output_high (PIN_C0); p1 = 50; p2 = thamani; kuvunja; kesi 200: pato_pungufu (PIN_C0); p1 = 0; p2 = thamani; kuvunja; kesi 250: p1 = 0; p2 = thamani; pato_pungufu (PIN_C0); kuvunja; } p1 = thamani; p2 = 128 - p1; seti_pwm1_duty (p1); seti_pwm2_duty (p2);}}

Hatua ya 4: Matumizi

Maombi!
Maombi!

Kigunduzi cha rangi rahisi kama hii inaweza kutumika katika roboti, au kwa miradi mizuri kama kutenganisha miguu na rangi, kuchagua M & Ms, au kama msaada wa upofu wa rangi. Tunatumahi kuwa hii inaweza kufundishwa katika kusaidia mradi uliokuwa na akili!:) LEDs ni nzuri kwa vitu vingi….

Ilipendekeza: