Mundarija:
- 1 -qadam: qismlar
- 2 -qadam: simlarni ulash
- 3 -qadam: kod
- 4 -qadam: o'rnatish va ishlatish
- 5 -qadam: Xulosa
Video: LED yorqinligini sozlash: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
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
SD -karta moduli va yorug'lik sensori simlari o'zgartirilmasligi kerak (ko'pchiligi). Led PWM piniga ulangan bo'lishi kerak.
3 -qadam: 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
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:
LED yorqinligini potentsiometr yordamida Arduino bilan boshqarish: 3 qadam
LED yorqinligini potentsiometr yordamida Arduino yordamida boshqarish: Ushbu loyihada biz potentsiometr bilan ta'minlangan o'zgaruvchan qarshilik yordamida LED yorqinligini boshqaramiz. Bu yangi boshlanuvchilar uchun juda oddiy loyiha, lekin u sizga potentsiometr va LED bilan ishlash haqida ko'p narsalarni o'rgatadi, ular adva qilish uchun zarur
Raspberry Pi va maxsus veb -sahifa orqali Led yorqinligini boshqarish: 5 qadam
Raspberry Pi va maxsus veb -sahifalar yordamida Led -ning yorqinligini boshqarish: php -da apache serveridan foydalanib, men sizning tarmog'ingizga ulangan har qanday qurilmada moslashtirilgan veb -sahifaga ega slayder yordamida LEDning yorqinligini boshqarishni topdim. .Buning bir qancha usullari bor
LED yorqinligini potentsiometr va OLED displey yordamida boshqarish: 6 qadam
LED yorqinligini potentsiometr va OLED displey yordamida boshqarish: Ushbu qo'llanmada biz LED yorqinligini potentsiometr yordamida boshqarishni va OLED displeyda qiymatini ko'rsatishni o'rganamiz
LED yorqinligini potentsiometr va Arduino yordamida boshqarish: 6 qadam
LED yorqinligini potentsiometr va Arduino yordamida boshqarish: Ushbu qo'llanmada biz LED yorqinligini potentsiometr va Arduino yordamida qanday boshqarishni bilib olamiz
LED yorqinligini potentsiometr yordamida sozlang: 4 qadam
LED yorqinligini potentsiometr yordamida sozlash: Oldingi maqolada men ADC qiymatini potensometrdan Arduino yordamida o'qishni ko'rsatdim va bu safar men ADC qiymatidan o'qishni afzal ko'raman