Sisukord:
Video: Värvide tuvastamine RGB LED -i abil: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:51
Kas olete kunagi soovinud automatiseeritud viisi objekti värvi tuvastamiseks? Valgustades objektile teatud värvi valgust ja vaadates, kui palju valgust tagasi peegeldub, saate öelda, mis värvi objekt on. Näiteks kui süttib punasele objektile punane tuli, peegeldub see valgus tagasi. Kui süttib punasele objektile sinine tuli, neelab see osa valgust ja vähem seda peegeldub tagasi.
Samm: vajalikud osad
Ma kasutasin PIC 16F887 mikrokontrollerit, kuid peaaegu kõik, millel on impulsi laiuse moduleerimise võimalus, töötavad. 1 RGB LED1 Mikrokontroller1 Standardne punane LED1 1k oomi takisti1 Fotoresistor (muudab takistust sõltuvalt sellele valgustatud valguse hulgast) Mõned juhtmed Mul on vaja ainult mikrokontrollerit ja RGB LED -i, et neil oleks lai valik värviandureid, kuid kui soovite ainult vooluringi tuvastab ühe värvi, pole teil vaja mikrokontrollerit - vajate ainult heledat LED -i, mille värvi soovite tuvastada. Tavaline punane LED on "indikaatortuli" - süttib õige värvi tuvastamisel.
Samm: ehitage vooluring
Skeem on üsna lihtne ja üldisel kujul on näidatud allpool. RGB LED -i toidab väliselt PWM -signaal. Panin fototakisti ümber elektrilindi, nii et ümbritsev valgus ei pääse sisse - tuvastatakse ainult otse selle kohal olev valgus.
3. samm: kood
See kood on kirjutatud Microchip PIC 16F887 jaoks, kuid loodetavasti saate üldise idee. Kasutasin oma arendusplaadil olevat sisseehitatud potentsiomeetrit RGB LED-i värvispektri varieerimiseks (ja see ei läbi kogu spektrit, kuna mul pole 3 PWM-moodulit, kuid see on piisavalt hea). #include #include #include "delay.c" #include #include #use delay (clock = 4000000) #FUSES INTRC, NOWDT, NOPUT, NOMCLR, NOPROTECT, NOCPD, NOBROWNOUT, NOIESO, NOFCMEN, NOLVP #bait CCP1CON = 0x17 bait CCP2CON = 0x1D#bait PWM1CON = 0x9Bint väärtus = 128; int p1 = 0; int p2 = 0; void my_setup_ccp1 (int8 väärtus) {output_low (PIN_C2); CCP1CON = väärtus; PWM1CON = 0;} tühine my_setup_cc2) {output_low (PIN_C1); CCP2CON = väärtus;} // =================================== void main () {// A4 = toiteallikas fotodioodväljundi_kõrgele (PIN_A4); output_high (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); // Taimer/Katkestus setupenable_interrupts_ INPMTIMP my_setup_ccp2 (CCP_PWM); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, COMPARE_PWM | COMPARE_TIMER2); samas (1) {// Vältige PIC -i uinumist.//SET PWM DUTY CYCLE output_5] // Pin A3 on fotodioodi ühendus, kui (sisend (PIN_A3) == 1) output_high (PIN_A4); else output_low (PIN_A4); // Potentsiomeetri väärtuse lugemine LED -i värvi muutmiseks = read_adc (); lüliti (väärtus) {juhtum 0: p1 = väärtus; output_low (PIN_C0); p2 = väärtus; murda; juhtum 50: p1 = väärtus; väljund_kõrge (PIN_C0); p2 = väärtus; murda; juhtum 100: p1 = väärtus; väljund_kõrge (PIN_C0); p2 = väärtus; murda; juhtum 150: output_high (PIN_C0); p1 = 50; p2 = väärtus; murda; juhtum 200: output_low (PIN_C0); p1 = 0; p2 = väärtus; murda; juhtum 250: p1 = 0; p2 = väärtus; output_low (PIN_C0); murda; } p1 = väärtus; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}
Samm: rakendused
Sellist lihtsat värvidetektorit saab kasutada robootikas või lahedates projektides, nagu legode eraldamine värvi järgi, M & M -ide sortimine või värvipimeduse abivahend. Loodetavasti oli sellest juhendist abi teie kavandatud projekti täiustamisel!:) LED -id sobivad hästi paljude asjade jaoks….
Soovitan:
Pilditöötlus Raspberry Pi abil: OpenCV ja pildi värvide eraldamise installimine: 4 sammu
Pilditöötlus Raspberry Pi abil: OpenCV ja pildivärvide eraldamise installimine: see postitus on esimene mitmest järgnevast pilditöötluse õpetusest. Vaatame pilti moodustavaid piksleid lähemalt, õpime OpenCV -d Raspberry Pi -le installima ja kirjutame pildi salvestamiseks ka testiskripte
Lihtne värvide tuvastamine OpenCV abil: 6 sammu
Lihtne värvide tuvastamine OpenCV abil: Tere! Täna näitan lihtsat meetodit värvide tuvastamiseks reaalajas videost OpenCV ja python abil. Põhimõtteliselt katsetan lihtsalt, kas vajalik värv on taustraamis olemas või mitte, ja OpenCV moodulite abil maskeerin selle piirkonna ja
Värvide tuvastamine Pythonis OpenCV abil: 8 sammu
Värvide tuvastamine Pythonis OpenCV abil: Tere! Seda juhendit kasutatakse selleks, et juhendada, kuidas eraldada pythonis olevast pildist konkreetne värv openCV raamatukogu abil. Kui te pole selle tehnikaga uus, siis ärge muretsege, selle juhendi lõpus saate programmeerida oma värvi
Värvide tuvastamine W/ TCS230 anduri ja Arduinoga [kalibreerimiskood kaasas]: 12 sammu
Värvide tuvastamine W/ TCS230 anduri ja Arduinoga [kalibreerimiskood kaasas]: ülevaade Selles õpetuses saate teada TCS230 anduri ja selle kasutamise kohta koos Arduinoga värvide tuvastamiseks. Selle õpetuse lõpus leiate põneva idee värvipliiatsi loomiseks. Selle pliiatsiga saate skannida värve
LED -värvide muutmine POTi ja ATTINY85 abil: 3 sammu
LED -värvide muutmine POT -i ja ATTINY85 abil: Selles projektis kasutame potentsiomeetrit (POT) LED -i värvide muutmiseks ATTINY85 abil. Mõned definitsioonid - potentsiomeeter on väikese kruvi / pööramismehhanismiga seade, mis pöörates annab välja erinevaid elektrilisi takistusi. Sina