Sisällysluettelo:
Video: Värin tunnistus RGB -LED -valolla: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:04
Oletko koskaan halunnut automaattisen tavan havaita esineen väri? Loistamalla tietyn värin valoa esineeseen ja katsomalla kuinka paljon valoa heijastuu takaisin, voit kertoa, minkä värinen kohde on. Jos esimerkiksi sytytät punaisen valon punaiseen esineeseen, se heijastuu takaisin. Jos loistat sinistä valoa punaiseen esineeseen, esine absorboi osan valosta ja vähemmän heijastuu takaisin.
Vaihe 1: Tarvittavat osat
Käytin PIC 16F887 -mikro-ohjainta, mutta melkein kaikki, joilla on pulssileveysmodulaatiokyky, toimivat. 1 RGB -LED1 Mikro -ohjain1 Vakio punainen LED1 1k ohmin vastus1 Valovastus (muuttaa vastusta riippuen siitä, kuinka paljon valoa siinä loistaa) Jotkut johdot Tarvitsen vain mikro -ohjaimen ja RGB -LEDin, jotta niissä olisi laaja valikoima värinilmaisimia, mutta jos haluat vain piirin, joka tunnistaa yhden värin, et tarvitse mikrokontrolleria - tarvitset vain kirkkaan LEDin sen värin kohdalla, jonka haluat havaita. Vakio punainen LED on "merkkivalo" - se syttyy, kun oikea väri havaitaan.
Vaihe 2: Rakenna piiri
Kaavio on melko yksinkertainen, ja yleisessä muodossa, on esitetty alla. RGB -LED saa ulkoisen virtalähteen PWM -signaalista. Laitan sähköteipin valoresistorin ympärille, jotta ympäristön valo ei pääse sisään - vain suoraan sen yläpuolella oleva valo havaitaan.
Vaihe 3: Koodi
Tämä koodi on kirjoitettu mikrosiru PIC 16F887: lle, mutta toivottavasti saat yleisen käsityksen. Käytin kehityskorttini sisäänrakennettua potentiometriä RGB-LEDin värispektrin vaihtamiseksi (eikä se mene läpi koko spektrin, koska minulla ei ole 3 PWM-moduulia, mutta se on tarpeeksi hyvä) Kommentit mukana. #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 tavu CCP2CON = 0x1D#tavu PWM1CON = 0x9Bint -arvo = 128; int p1 = 0; int p2 = 0; void my_setup_ccp1 (int8 -arvo) {output_low (PIN_C2); CCP1CON = arvo; PWM1CON = 0;} void my_setup_ccp) {output_low (PIN_C1); CCP2CON = arvo;} // =================================== void main () {// A4 = valonlähteen ulostulokorkeus (PIN_A4); output_high (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); // Ajastin/keskeytys setupenable_interrupts (INP) my_setup_ccp2 (CCP_PWM); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, COMPARE_PWM | COMPARE_TIMER2); while (1) {// Estä PIC: n nukkuminen. // Nasta A3 on fotodiodiyhteys, jos (input (PIN_A3) == 1) output_high (PIN_A4); else output_low (PIN_A4); // Lue potentiometrin arvo muuttaaksesi LED -arvon väriä = read_adc (); kytkin (arvo) {tapaus 0: p1 = arvo; output_low (PIN_C0); p2 = arvo; tauko; tapaus 50: p1 = arvo; output_high (PIN_C0); p2 = arvo; tauko; tapaus 100: p1 = arvo; output_high (PIN_C0); p2 = arvo; tauko; tapaus 150: output_high (PIN_C0); p1 = 50; p2 = arvo; tauko; tapaus 200: output_low (PIN_C0); p1 = 0; p2 = arvo; tauko; tapaus 250: p1 = 0; p2 = arvo; output_low (PIN_C0); tauko; } p1 = arvo; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}
Vaihe 4: Sovellukset
Tällaista yksinkertaista värinilmaisinta voidaan käyttää robotiikassa tai viileissä projekteissa, kuten legojen erottamisessa värin mukaan, M & M -lajittelussa tai värisokeuden apuna. Toivottavasti tästä ohjeesta oli apua parantamassa ajateltavaa projektia!:) LEDit ovat hyviä moniin asioihin….
Suositeltava:
Valosolun käyttäminen RGB -LEDin värin muuttamiseen: 3 vaihetta
Kuinka käyttää valokennoa RGB -LEDin värin muuttamiseen: Arduino -projektin osassa 01 alkuperäinen ajatukseni oli käyttää lämpötila -anturia LED -valon sytyttämiseen ja sammuttamiseen, mutta valitettavasti lämpötila -anturi ei ollut vielä tullut, mikä jätti minut valitsivat Elegoon käynnistyssarjan saatavilla olevista antureista ja miettivät, onko
Värin TCS3200 tunnistamisen käyttö SkiiiD: n kanssa: 9 vaihetta
Kuinka käyttää Detect Color TCS3200 -laitetta SkiiiD: n kanssa: Opetusohjelma Detect Color TCS3200: n kehittämiseksi skiiiD: n kanssa
Yksinkertainen värin tunnistus OpenCV: llä: 6 vaihetta
Yksinkertainen värin tunnistus OpenCV: n avulla: Hei! Tänään aion näyttää yksinkertaisen menetelmän havaita väri live -videosta OpenCV: tä ja pythonia käyttäen. Periaatteessa testaan vain, että vaadittu väri on taustakehyksessä vai ei, ja peitän OpenCV -moduulien avulla kyseisen alueen ja
Värin tunnistus Pythonissa OpenCV: n avulla: 8 vaihetta
Värin tunnistus Pythonissa OpenCV: n avulla: Hei! Tätä ohjetta käytetään opastamaan, kuinka tietty väri voidaan purkaa kuvasta pythonissa openCV -kirjaston avulla. Jos olet uusi tässä tekniikassa, älä huoli, tämän oppaan lopussa voit ohjelmoida oman värisi
Kasvojen tunnistus ja tunnistus - Arduino -kasvotunnus OpenCV Pythonin ja Arduinon avulla .: 6 vaihetta
Kasvojen tunnistus ja tunnistus | Arduino -kasvotunnus OpenCV Pythonin ja Arduinon avulla .: Kasvontunnistus AKA -kasvotunnus on yksi tärkeimmistä ominaisuuksista matkapuhelimissa nykyään. Joten minulla oli kysymys " voinko saada kasvotunnuksen Arduino -projektilleni " ja vastaus on kyllä … Matkani alkoi seuraavasti: Vaihe 1: Pääsy