Բովանդակություն:

LED լուսավորության ճշգրտում `5 քայլ
LED լուսավորության ճշգրտում `5 քայլ

Video: LED լուսավորության ճշգրտում `5 քայլ

Video: LED լուսավորության ճշգրտում `5 քայլ
Video: Թե ինչպես կարելի է կատարել մի հպում switch դուրս սովորական, օգտագործելով պարզ ttp223 վերահսկիչ 2024, Նոյեմբեր
Anonim
LED պայծառության ճշգրտում
LED պայծառության ճշգրտում

Մինչ ես հեքիաթային լույս էի բացում, հասկացա, որ PWM արժեքը ոչ գծային համեմատական է LED- ի պայծառությանը: Պարզ ասած, եթե PWM արժեքը կրկնակի է, պայծառությունը կրկնակի չէ. հատկապես, երբ PWM- ն առավելագույնին մոտ է, ցանկացած փոփոխություն իմ աչքերով ճանաչելի չէ: Ես մտածեցի, որ դա պետք է լինի պարզ ստուգաչափման խնդիր: և այդպես էլ պատրաստեցի այս նախագիծը: Գաղափարն այն է, որ LED- ի պայծառությունը որոշ սարքով (լուսավորության սենսոր կամ ֆոտոռեզիստոր) չափել և գտնել հարաբերակցություն PWM արժեքի և պայծառության միջև: Հետագայում, եթե պայծառությունը սահմանեմ 50%, Arduino- ն կհաշվարկի համապատասխան PWM- ը և համապատասխանաբար կթուլացնի LED- ը:

Հետևաբար, ինձ անհրաժեշտ է լուսավորության սենսոր և լուսադիոդ `պայծառությունը չափելու համար: Օգտագործելով SD քարտ, ես տվյալները կպահեմ հետագա տեղադրման ընթացակարգի համար: Հարմարեցումը կկատարվի Excel- ում (կամ որևէ այլ ծրագրով): Ելքը դրված է օգտագործվելու Arduino կոդի մեջ, և վերջ: Դա պետք է արվի մեկ անգամ: Այնուհետև կարող եք հավիտյան օգտագործել ստուգաչափման պարամետրը:

Քայլ 1: Մասեր

1- WEMOS mini D1. Aliexpress 3 €

2- TSL 2561 (Լուսավորության սենսոր). Aliexpress 3 €

3- SD քարտի մոդուլ ՝ Aliexpress 1 €

4- LED

5- Ռեզիստոր 220 օմ

6- լարեր

ընդհանուր արժեքը `8-10 €

Քայլ 2: Լարերի տեղադրում

Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր

SD քարտի մոդուլի և լուսավորության սենսորի լարերը չպետք է փոխվեն (դրանցից շատերը): Led- ը պետք է միացված լինի PWM կապին:

Քայլ 3: Կոդ

Կոդ
Կոդ

Ես համատեղեցի երեք կտոր կոդ.

SD քարտ. Օգտագործված օրինակ> SD> ReadWrite Arduino IDE- ում

TSL 2561. Օգտագործված Adafruit TSL2561 գրադարանի օրինակ (sensorapi); այն կգտնեք օրինակներում, եթե տեղադրեք գրադարանը (ենթադրում եմ, որ դուք գիտեք, թե ինչպես տեղադրել գրադարան Arduino IDE- ում):

LED- ի մարում. Օգտագործված օրինակներ> Անալոգային> մարում

Մոդուլները նախաստորագրելուց հետո ծածկագիրը կթուլացնի led- ը և կկարդա պայծառությունը և կպահի այն SD քարտում: այս կերպ ես որոշ տվյալներ կհավաքեմ ստուգաչափման համար:

Ես փոխեցի ծածկագրերից յուրաքանչյուրը ՝ ըստ իմ կարիքների: կցվում է վերջնական ծածկագիրը:

Ազդանշանը պետք է նման լինի կցված նկարին: Unfortunatelyավոք, ես մոռացա լուսանկարել, ուստի այն վերափոխեցի Excel- ում ՝ ցույց տալու համար, թե ինչպես պետք է լինի:

Նշում. Ես օգտագործում եմ wemo mini D1- ը Arduino- ի փոխարեն: ինչ-ինչ պատճառներով, որոնք ես չգիտեմ, PWM- ը 0-ից 1023-ի միջև է: Arduino- ում այն պետք է լինի 0-255-ի միջև: Եթե ցանկանում եք օգտագործել arduino- ի կոդը, ապա պետք է հոգ տանել դրա մասին (տող 90):

Քայլ 4: Հարմարեցում և օգտագործում

Հարմարեցում և օգտագործում
Հարմարեցում և օգտագործում
Հարմարեցում և օգտագործում
Հարմարեցում և օգտագործում

տվյալների հավաքումից հետո ես բացեցի ֆայլը Excel- ում և գծեցի տվյալները (նայեք նկարին): առաջին սյունակը PWM արժեք է, իսկ երկրորդը `լյուքս (սենսորի ընթերցում, միավորը մեծ նշանակություն չունի): Հետևաբար, լյուքս (y- առանցք) ընդդեմ PWM (x- առանցքի): Ինչպես տեսնում եք, պայծառությունը գծային համեմատական է PWM արժեքին: Ես դրան մի տող եմ հարմարեցրել:

Գիծը տեղավորելու համար հետևեք հետևյալին.

1- գծագրեք տվյալները (տեղադրեք> ցրման գծապատկեր) ենթադրում եմ, որ դուք գիտեք, թե ինչպես:

2- աջ սեղմեք գծագրված տվյալների վրա

3- կտտացրեք trendline- ին:

4- (Excel 2013-ում) աջ կողմում հայտնվում է վահանակ: Ընտրեք գծային: Ստորև ընտրեք «ցուցադրել հավասարումը գծապատկերում»:

Գծային հարաբերությունը տարբերվում է իմ ընկալումից: Հետևաբար, ես կարծում եմ, որ իմ ընկալման և պայծառության միջև պետք է լինի լոգարիթմական հարաբերություն (սա իմ մտքով անցած ամենապարզ միջոցն է): Այսպիսով, ես վերցրեցի պիտանիության թեքությունը: Ընդհատումը կարևոր չէ, քանի որ այն կախված է շրջակա լուսային աղտոտումից: փոխարենը, ես ավելացրեցի 1. Քանի որ Log10 (0) անվերջ է: Այսպիսով, ինձ պետք է միջամտություն `խնդիրը լուծելու համար: Իմ դեպքում հավասարումը այսպիսին է.

y = Log10 (0.08 x +1), y- ը պայծառությունն է, իսկ x- ը `PWM արժեքը (0-1023)

Ես հավասարեցրեցի հավասարումը առավելագույն արժեքին: ապա ելքը միշտ 0-100-ի սահմաններում է: այս կերպ ես կարող եմ arduino- ից խնդրել որոշակի հարաբերական պայծառություն ՝ առանց առավելագույն բացարձակ պայծառության մասին:

y = Log10 (0.08 x +1)*100/1.914

Քանի որ arduino- ում իմ ներդրումը հարաբերական պայծառությունն է, ես պետք է վերադասավորեմ x (PWM) հավասարումը.

x = (10^(y*1.914 / 100) - 1) / 0.08

օգտագործելով այս հավասարումը ծածկագրում, մենք կարողանում ենք ստանալ պայծառության գծային փոփոխություն: Այսպիսով, դուք arduino- ից պահանջում եք 0-100-ի միջև պայծառություն (y), և arduino- ն հաշվարկում է համապատասխան PWM արժեքը: այս կերպ, եթե կրկնապատկեք պայծառությունը, ձեր ընկալումը նույնպես նույնն է:

եթե ցանկանում եք այն օգտագործել ձեր ծածկագրում, ավելի լավ է ավելացնել այս տողերը.

պայծառություն = 50; // տոկոսով

PWM = հզորություն (10, պայծառություն*1.914/100) -1) /0.0793;

analogWrite (ledpin, PWM);

ՆՇՈՄ. Նորմալացումը կատարվում է առավելագույնը 1023 PWM- ի համար (Wemos mini D1- ի համար): Arduino- ի համար PWM- ը 0-255-ի սահմաններում է: պետք է համապատասխանաբար հաշվարկել:

EԱՆՈԹՈ2ԹՅՈՆ 2. Ես ավելացրել եմ տեղեկամատյանային գծապատկեր `ցույց տալու, թե ինչպես են մեր ընկալման և PWM- ի արժեքը փոխկապակցված: չպետք է օգտագործեք այն տեղադրման համար:

Քայլ 5: Եզրակացություն

calibration- ը լավ է աշխատում ինձ համար: Երբ PWM- ի արժեքները մեծ են, ես տեսնում եմ տարբերությունը: Նախկինում, որպես մեծ արժեքներ, ես չէի տեսնում մռայլության ազդեցություն: Հիմնականում փոփոխությունների մեծ մասն արվել է PWM- ի փոքր տիրույթում: հիմա այն չափագրված է:

յուրաքանչյուր LED, հատուկ տարբեր գույներով, պետք է ունենա իր սեփական ճշգրտման պարամետրերը: Այնուամենայնիվ, ես չափեցի կապույտ LED- ը և օգտագործեցի պարամետրը սպիտակ LED- ի համար, և արդյունքն ընդունելի էր: այնպես որ գուցե դուք կարող եք օգտագործել իմ չափագրման պարամետրը ՝ առանց ձեզ անհանգստացնելու !!

Խորհուրդ ենք տալիս: