
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48
Szerettél volna valaha automatizált módon felismerni egy tárgy színét? Ha egy adott színű fényt rávilágít a tárgyra, és megnézi, mennyi fény tükröződik vissza, akkor meg tudja határozni, hogy milyen színű az objektum. Például, ha vörös fényt világít egy vörös tárgyra, akkor ez a fény visszaverődik. Ha kék fényt világít egy vörös tárgyra, a tárgy elnyeli a fény egy részét, és kevesebbet visszavert.
1. lépés: Szükséges alkatrészek
PIC 16F887 mikrokontrollert használtam, de szinte minden, amely impulzusszélesség-modulációs képességgel rendelkezik, működni fog. 1 RGB LED1 mikrokontroller1 normál piros LED1 1k ohmos ellenállás1 fotorezisztor (az ellenállást a rávilágított fény mennyiségétől függően változtatja meg) Egyes vezetékek egy színt észlel, nincs szüksége mikrokontrollerre - csak az érzékelni kívánt színű fényes LED -re van szüksége. A szabványos piros LED az "indikátor LED" - akkor világít, ha a megfelelő színt észleli.
2. lépés: Építse fel az áramkört
A vázlat meglehetősen egyszerű, és általános formában az alábbiakban látható. Az RGB LED külső tápellátását PWM jel táplálja. Elektromos szalagot helyezek a fotorezisztor köré, hogy a környezeti fény ne kerüljön be - csak a közvetlenül felette lévő fényt fogja észlelni.
3. lépés: A kód
Ezt a kódot egy Microchip PIC 16F887 -hez írták, de remélhetőleg megkapja az általános ötletet. A beépített potenciométert használtam a fejlesztőlapomon az RGB LED színspektrumának variálására (és nem megy át a teljes spektrumon, mert nincs 3 PWM modulom, de elég jó). #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 bájt CCP2CON = 0x1D#bájt PWM1CON = 0x9Bint érték = 128; int p1 = 0; int p2 = 0; void my_setup_ccp1 (int8 érték) {output_low (PIN_C2); CCP1CON = érték; PWM1CON = 0;} void my_setup_ccp) {output_low (PIN_C1); CCP2CON = érték;} // =================================== void main () {// A4 = tápforrás fotodióda -kimenet_magas (PIN_A4); output_high (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); // Időzítő/megszakítás setupenable_interrupts_PP my_setup_ccp2 (CCP_PWM); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, COMPARE_PWM | COMPARE_TIMER2); while (1) {// Megakadályozza, hogy a PIC elaludjon.//SET PWM DUTY CYCLE output_5; // Az A3 érintkező a fotodióda kapcsolat, ha (bemenet (PIN_A3) == 1) output_high (PIN_A4); else output_low (PIN_A4); // Olvassa el a potenciométer értékét a LED színének megváltoztatásához = read_adc (); kapcsoló (érték) {eset 0: p1 = érték; output_low (PIN_C0); p2 = érték; szünet; 50. eset: p1 = érték; output_high (PIN_C0); p2 = érték; szünet; 100. eset: p1 = érték; output_high (PIN_C0); p2 = érték; szünet; 150. eset: output_high (PIN_C0); p1 = 50; p2 = érték; szünet; 200. eset: output_low (PIN_C0); p1 = 0; p2 = érték; szünet; 250. eset: p1 = 0; p2 = érték; output_low (PIN_C0); szünet; } p1 = érték; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}
4. lépés: Alkalmazások
Egy ilyen egyszerű színérzékelő használható a robotikában, vagy olyan hűvös projektekben, mint a legók szín szerinti elkülönítése, az M & M -ek válogatása, vagy a színvakság segítőjeként. Remélhetőleg ez az oktatóanyag hasznos volt az Ön által tervezett projekt fejlesztésében!:) A LED -ek sok mindenre jók….
Ajánlott:
RGB LED MATRIX NEOPIXEL HASZNÁLATÁVAL: 8 lépés (képekkel)

RGB LED MATRIX NEOPIXEL HASZNÁLATÁVAL: Ebben az oktatóanyagban megmutatom, hogyan lehet 5*5 RGB LEDMATRIX -ot felépíteni NEOPIXEL használatával. Ezzel a mátrixszal lenyűgöző animációkat, hangulatjeleket és betűket jeleníthetünk meg nagyon vonzóan. Lássunk neki
Színészlelés Pythonban OpenCV használatával: 8 lépés

Színészlelés Pythonban az OpenCV használatával: Üdv! Ez az utasítás arra szolgál, hogy útmutatást nyújtson, hogyan lehet kinyerni egy adott színt a képből a pythonban az openCV könyvtár használatával. Ha még nem ismeri ezt a technikát, ne aggódjon, az útmutató végén saját színét programozhatja
A gyorsulás felügyelete a Raspberry Pi és az AIS328DQTR használatával Python használatával: 6 lépés

A gyorsulás nyomon követése a Raspberry Pi és az AIS328DQTR használatával Python használatával: A gyorsulás véges, azt hiszem, a fizika egyes törvényei szerint.- Terry Riley A gepárd elképesztő gyorsulást és gyors sebességváltozásokat használ üldözés közben. A leggyorsabb lény a parton időnként kihasználja csúcssebességét a zsákmány elkapására. Az
Neopixel Ws2812 Rainbow LED izzás M5stick-C - Szivárvány futtatása a Neopixel Ws2812 készüléken az M5stack M5stick C használatával Arduino IDE használatával: 5 lépés

Neopixel Ws2812 Rainbow LED izzás M5stick-C | Szivárvány futása a Neopixel Ws2812-en az M5stack M5stick C használatával Arduino IDE használatával: Sziasztok, srácok, ebben az oktatási útmutatóban megtanuljuk, hogyan kell használni a neopixel ws2812 LED-eket, vagy led szalagot vagy led mátrixot vagy led gyűrűt m5stack m5stick-C fejlesztőtáblával Arduino IDE-vel, és elkészítjük szivárványos mintát vele
RF 433MHZ rádióvezérlés HT12D HT12E használatával - Rf távirányító készítése HT12E és HT12D használatával 433 MHz -en: 5 lépés

RF 433MHZ rádióvezérlés HT12D HT12E használatával | Rf távirányító létrehozása HT12E és HT12D használatával 433 MHz -en: Ebben az oktatóanyagban megmutatom, hogyan készítsünk RADIO távirányítót a 433 MHz -es adó vevőmodul használatával HT12E kódolással & HT12D dekódoló IC. Ebben az utasításban nagyon olcsó komponenseket küldhet és fogadhat, mint például: HT