Mundarija:

LED yorqinligini sozlash: 5 qadam
LED yorqinligini sozlash: 5 qadam

Video: LED yorqinligini sozlash: 5 qadam

Video: LED yorqinligini sozlash: 5 qadam
Video: DVB-T2 + WiFi antenna YouTobe va video partallarga oddiy tuneridan ulanish usuli. tunerga wifi ulash 2024, Noyabr
Anonim
LED yorqinligini sozlash
LED yorqinligini sozlash

Men ertakni yoritayotganda, men PWM qiymati LEDning yorqinligi bilan chiziqli proportsional emasligini tushundim. Oddiy qilib aytganda, agar PWM qiymati ikki baravar ko'p bo'lsa, nashrida ikki barobar emas; Ayniqsa, PWM maksimal darajaga yaqinlashganda, har qanday o'zgarish ko'zlarim bilan aniqlanmaydi. Menimcha, bu oddiy kalibrlash muammosi bo'lishi kerak! va men bu loyihani shunday yaratdim! LEDning yorqinligini biron bir qurilma (yorug'lik sensori yoki fotorezistor) bilan o'lchash va PWM qiymati va nashrida o'rtasidagi bog'liqlikni topish. Keyinchalik, agar men yorqinlikni 50%ga o'rnatgan bo'lsam, Arduino mos keladigan PWMni hisoblab chiqadi va shunga mos ravishda LEDni o'chiradi.

Shuning uchun menga yorqinlikni o'lchash uchun yorug'lik sensori va LED kerak. SD -kartadan foydalanib, men ma'lumotlarni keyinchalik o'rnatish tartibida saqlayman. O'rnatish Excel (yoki boshqa har qanday dastur) da amalga oshiriladi. Chiqish Arduino kodida ishlatiladi va bu shunday! Buni bir marta qilish kerak. Keyin siz kalibrlash parametridan abadiy foydalanishingiz mumkin!

1 -qadam: qismlar

1- WEMOS mini D1: Aliexpress 3 €

2- TSL 2561 (Yorug'lik sensori): Aliexpress 3 €

3- SD-karta moduli: Aliexpress 1 €

4- LED

5- qarshilik 220 ohm

6- simlar

umumiy qiymati: 8-10 €

2 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

SD -karta moduli va yorug'lik sensori simlari o'zgartirilmasligi kerak (ko'pchiligi). Led PWM piniga ulangan bo'lishi kerak.

3 -qadam: kod

Kod
Kod

Men uchta kodni birlashtirdim:

SD -karta: ishlatilgan misol> SD> Arduino IDE -da ReadWrite

TSL 2561: ishlatilgan Adafruit TSL2561 kutubxonasi misoli (sensorapi); Agar siz kutubxonani o'rnatgan bo'lsangiz, uni misollarda topasiz (menimcha, Arduino IDE -da kutubxonani qanday o'rnatishni bilasiz).

LEDning o'chishi: ishlatilgan misollar> Analog> so'nishi

Modulni ishga tushirgandan so'ng, kod chiroqni o'chiradi va yorqinligini o'qiydi va uni SD -kartaga saqlaydi. shu tarzda men kalibrlash uchun ba'zi ma'lumotlarni to'playman.

Men har bir kodni o'z ehtiyojlarimga qarab o'zgartirdim. yakuniy kod biriktirilgan.

Signal biriktirilgan rasmga o'xshash bo'lishi kerak. Afsuski, men suratga olishni unutganman, shuning uchun uni qanday bo'lishini ko'rsatish uchun uni Excel -da qayta joylashtirdim.

QAYD: Men Arduino o'rniga wemo mini D1 dan foydalanayapman. negadir men bilmayman, PWM 0 dan 1023 gacha. Arduinoda u 0-255 orasida bo'lishi kerak. Agar siz arduino kodidan foydalanmoqchi bo'lsangiz, unga g'amxo'rlik qilishingiz kerak (90 -qator).

4 -qadam: o'rnatish va ishlatish

O'rnatish va ishlatish
O'rnatish va ishlatish
O'rnatish va ishlatish
O'rnatish va ishlatish

ma'lumotlar yig'ilgandan so'ng, men Excel -da faylni ochdim va ma'lumotlarni tuzdim (rasmga qarang). birinchi ustun - PWM qiymati, ikkinchisi - lyuks (sensorning o'qilishi, birlik unchalik muhim emas). Shunday qilib, lyuks (y o'qi) va PWM (x o'qi) ga qarang. Ko'rib turganingizdek, nashrida PWM qiymatiga to'g'ri proportsionaldir. Men unga chiziq o'rnatdim.

Chiziqni o'rnatish uchun quyidagilarni bajaring:

1- Ma'lumotlarni chizish (qo'shish> tarqatish chizig'i), menimcha, siz buni bilasiz.

2- chizilgan ma'lumotlarni o'ng tugmasini bosing

3- trend chizig'ini bosing.

4- (excel 2013 da) o'ng tomonda panel ochiladi. Lineerni tanlang. Pastki qismida "tenglamani jadvalda ko'rsatish" -ni tanlang.

Chiziqli munosabatlar mening idrokimdan farq qiladi. Menimcha, mening idrokim va yorqinligim o'rtasida logarifmik bog'liqlik bo'lishi kerak (bu mening aqlimga kelgan eng oddiy usul!). Shunday qilib, men fitning qiyaligini oldim. Tutilish muhim emas, chunki bu atrofdagi yorug'lik ifloslanishiga bog'liq! o'rniga, men 1 qo'shdim. Chunki Log10 (0) cheksizdir. Shuning uchun muammoni hal qilish uchun menga to'siq kerak. Mening vaziyatimda tenglama quyidagicha ko'rinadi:

y = Log10 (0.08 x +1), y-yorqinlik va x-PWM qiymati (0-1023)

Men tenglamani maksimal qiymatga normallashtirdim. keyin chiqish har doim 0-100 oralig'ida. shu tariqa men arduino -dan maksimal mutlaq ravshanlikni hisobga olmaganda, nisbiy yorqinlikni so'rashim mumkin.

y = Log10 (0,08 x +1)*100/1,914

Arduino-da mening kirishim nisbiy yorqinlik bo'lgani uchun x (PWM) tenglamasini qayta tartibga solishim kerak:

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

koddagi bu tenglamadan foydalanib, biz chiziqli nashrida o'zgarishga ega bo'lamiz. Shunday qilib, siz arduino-dan 0-100 oralig'ida nashrida (y) so'raysiz va arduino tegishli PWM qiymatini hisoblab chiqadi. shu tarzda, agar ikki barobar yorqinlik bo'lsa, sizning idrokingiz ham bir xil bo'ladi.

agar siz uni kodingizda ishlatmoqchi bo'lsangiz, ushbu qatorlarni qo'shganingiz ma'qul:

yorqinligi = 50; // foizda

PWM = pow (10, nashrida*1.914/100) -1) /0.0793;

analogWrite (ledpin, PWM);

QAYD: normallashtirish maksimal PWM 1023 uchun amalga oshiriladi (Wemos mini D1 uchun). Arduino uchun PWM 0 dan 255 gacha. shunga qarab hisoblashingiz kerak.

QAYD2: Men idrok va PWM qiymati qanday bog'liqligini ko'rsatish uchun log-lineer chizma qo'shdim. uni o'rnatish uchun ishlatmaslik kerak!

5 -qadam: Xulosa

kalibrlash men uchun yaxshi ishlaydi. Qachon PWM qiymatlari katta bo'lsa, men farqni ko'raman. Oldin katta qiymatlar sifatida men karartma ta'sirini ko'ra olmadim. Asosan, o'zgarishlarning ko'pi kichik PWM diapazonida amalga oshirildi. endi u kalibrlangan!

har bir LED, ayniqsa turli xil ranglar, o'z kalibrlash parametrlariga ega bo'lishi kerak. Ammo men ko'k LEDni sozladim va oq LED uchun parametrni ishlatdim va natija maqbul bo'ldi. shuning uchun siz o'zingizni bezovta qilmasdan mening kalibrlash parametrimdan foydalanishingiz mumkin !!

Tavsiya: