Բովանդակություն:
Video: Գույնի հայտնաբերում RGB LED- ի միջոցով. 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:53
Երբևէ ցանկացե՞լ եք օբյեկտի գույնը հայտնաբերելու ավտոմատացված եղանակ: Փայլելով որոշակի գույնի առարկայի վրա և նայելով, թե որքան լույս է հետադարձվում, կարող եք ասել, թե ինչ գույնի է առարկան: Օրինակ, եթե կարմիր լույս վառեք կարմիր առարկայի վրա, այդ լույսը հետ կանդրադառնա: Եթե կարմիր օբյեկտի վրա կապույտ լույս եք շողացնում, օբյեկտը կլանում է այդ լույսի մի մասը, և դրանից քիչը հետ է արտացոլվում:
Քայլ 1: Անհրաժեշտ մասեր
Ես օգտագործել եմ PIC 16F887 միկրոկոնտրոլեր, բայց գրեթե ցանկացած զարկերակի լայնության մոդուլյացիայի ունակությամբ կաշխատի: 1 RGB LED1 Միկրոկոնտրոլեր 1 Ստանդարտ կարմիր LED 1 կիլոմետր դիմադրություն 1 Ֆոտոռեզիստոր (փոխում է դիմադրությունը ՝ կախված դրա վրա լուսավորված լույսի չափից) Որոշ լարեր Ինձ միայն միկրոկոնտրոլերն ու RGB LED- ն են պետք, որպեսզի ունենան գունային դետեկտորների լայն տեսականի, բայց եթե դուք միայն միացում եք ուզում հայտնաբերում է մեկ գույն, ձեզ հարկավոր չէ միկրոկոնտրոլեր. ձեզ հարկավոր է միայն վառ գույնի լուսադիոդ, որը ցանկանում եք հայտնաբերել: Ստանդարտ կարմիր LED- ը «ցուցիչ LED» - այն լուսավորվում է, երբ ճիշտ գույնը հայտնաբերվում է:
Քայլ 2: Կառուցեք շրջանը
Սխեմատիկան բավականին պարզ է, և ընդհանուր տեսքով, ստորև ներկայացված է: RGB LED- ն արտաքինից սնուցվում է PWM ազդանշանով: Ես էլեկտրական ժապավեն եմ դնում ֆոտոռեզիստորի շուրջը, որպեսզի շրջակա միջավայրի լույսը չընկնի. Կհայտնաբերվի միայն դրա վերևի լույսը:
Քայլ 3: Կոդ
Այս ծածկագիրը գրված է միկրոչիպի PIC 16F887 համարի համար, բայց հուսով եմ, որ կարող եք ստանալ ընդհանուր գաղափարը: Ես օգտագործեցի ներկառուցված պոտենցիոմետրը իմ զարգացման տախտակի վրա ՝ RGB LED- ի գունային սպեկտրը փոխելու համար (և այն չի անցնում ամբողջ սպեկտրով, քանի որ ես չունեմ 3 PWM մոդուլ, բայց դա բավական լավ է) Մեկնաբանությունները ներառված են: #include #include #include "delay.c" #include #include #use delay (clock = 4000000) #FUSES INTRC, NOWDT, NOPUT, NOMCLR, NOPROTECT, NOCPD, NOBROWNOUT, NOIESO, NOFCMEN, NOLVP #բայթ CCP1 բայթ CCP2CON = 0x1D#բայթ PWM1CON = 0x9Bint արժեքը = 128; int p1 = 0; int p2 = 0; void my_setup_ccp1 (int8 արժեքը) {output_low (PIN_C2); CCP1CON = արժեք; PWM1CON = 0;} անվավեր my_setup8) արժեք {output_low (PIN_C1); CCP2CON = արժեք;} // ==================================== անվավեր հիմնական () {// A4 = էներգիայի աղբյուր photodiodeoutput_high (PIN_A4); ելքային_բարձր (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); // erամաչափ/ընդհատում setupenable_inter_p2 my_setup_ccp2 (CCP_PWM); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, COMPARE_PWM | COMPARE_TIMER2); մինչդեռ (1) {// Կանխել PIC- ի քնելը://SET PWM DUTAY; // Pin A3- ը ֆոտոդիոդի միացումն է, եթե (մուտքագրում (PIN_A3) == 1) ելքային_բարձր (PIN_A4); else output_low (PIN_A4); // կարդալ պոտենցիոմետրի արժեքը LED գույնի գույնը փոխելու համար = read_adc (); անջատիչ (արժեք) {դեպք 0: p1 = արժեք; output_low (PIN_C0); p2 = արժեք; ընդմիջում; գործ 50: p1 = արժեք; ելքային_բարձր (PIN_C0); p2 = արժեք; ընդմիջում; գործ 100: p1 = արժեք; ելքային_բարձր (PIN_C0); p2 = արժեք; ընդմիջում; պատյան 150 ՝ ելքային_բարձր (PIN_C0); p1 = 50; p2 = արժեք; ընդմիջում; պատյան 200 ՝ ելքային_չափ (PIN_C0); p1 = 0; p2 = արժեք; ընդմիջում; գործ 250: p1 = 0; p2 = արժեք; output_low (PIN_C0); ընդմիջում; } p1 = արժեք; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}
Քայլ 4: Դիմումներ:
Նման պարզ դետեկտորը կարող է օգտագործվել ռոբոտաշինության մեջ, կամ այնպիսի զով նախագծերի համար, ինչպիսիք են լեգոները գույնով առանձնացնելը, M & M- ները տեսակավորելը կամ որպես օգնություն գունային կուրության համար: Հուսով եմ, որ այս ուսանելիը օգտակար եղավ ձեր մտքում դրված նախագիծը բարելավելու համար::) LED- ները լավ են շատ բաների համար …:
Խորհուրդ ենք տալիս:
Ինչպես կատարել դիպչող դռան զանգ, մարմնի ջերմաստիճանի հայտնաբերում, GY-906, 433 ՄՀց Arduino- ի միջոցով. 3 քայլ
Ինչպես կատարել դիպչող դռան զանգ, մարմնի ջերմաստիճանի հայտնաբերում, GY-906, 433 ՄՀց Arduino- ի միջոցով. Այսօր մենք կանենք դիպչող դռան զանգ, այն կբացահայտի ձեր մարմնի ջերմաստիճանը: Այժմյան իրավիճակում շատ կարևոր է իմանալ, թե արդյոք մարմնի ջերմաստիճանը նորմայից բարձր է, երբ ինչ -որ մեկը ծաղրում է: Այս նախագիծը կարմիր լույս կներկայացնի, եթե հայտնաբերվի որևէ
Պարզ գույնի հայտնաբերում OpenCV- ի միջոցով. 6 քայլ
Պարզ գույնի հայտնաբերում OpenCV- ի միջոցով. Բարև: Այսօր ես ցույց կտամ OpenCV- ի և python- ի միջոցով կենդանի տեսանյութից գույնը հայտնաբերելու մի պարզ մեթոդ: Հիմնականում ես պարզապես կփորձեմ անհրաժեշտ գույնը առկա է հետին պլանում կամ ոչ, և OpenCV մոդուլների միջոցով դիմակավորելու եմ այդ տարածաշրջանը և
Գույնի հայտնաբերում Python- ում OpenCV- ի միջոցով. 8 քայլ
Գույնի հայտնաբերում Python- ում OpenCV- ի միջոցով. Բարև: Այս հրահանգը օգտագործվում է ուղեցույց այն մասին, թե ինչպես կարելի է պիթոնում պատկերից վերցնել որոշակի գույն ՝ օգտագործելով openCV գրադարան: Եթե դուք նոր եք այս տեխնիկայում, ապա մի անհանգստացեք, այս ուղեցույցի վերջում դուք կկարողանաք ծրագրավորել ձեր սեփական գույնը
Lizard Terrarium- ի մոնիտորինգ Adosia IoT WiFi Controller- ի միջոցով + Շարժման հայտնաբերում. 17 քայլ (նկարներով)
Lizard Terrarium- ի մոնիտորինգ Adosia IoT WiFi Controller + Motion Detect- ի միջոցով. Այս ձեռնարկում մենք ձեզ ցույց կտանք, թե ինչպես կարելի է կառուցել պարզ մողեսային տերարիում մի բուռ մաշկված ձվերի համար, որոնք մենք պատահաբար հայտնաբերել և անհանգստացրել ենք դրսում այգեգործության ընթացքում: Մենք ցանկանում ենք, որ ձվերը ապահով դուրս գան, ուստի այն ամենը, ինչ մենք կանենք, պլաստիկի միջոցով ապահով տարածք ստեղծելն է
Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c OpenCV- ի և Tensorflow- ի միջոցով. 4 քայլ
Օբյեկտի հայտնաբերում W/ Dragonboard 410c կամ 820c OpenCV- ի և Tensorflow- ի միջոցով. Այս հրահանգները նկարագրում են, թե ինչպես տեղադրել OpenCV, Tensorflow և մեքենայական ուսուցման շրջանակներ Python 3.5 – ի համար ՝ օբյեկտների հայտնաբերման ծրագիրը գործարկելու համար: