فهرست مطالب:
تصویری: کالیبراسیون روشنایی LED: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
در حالی که در حال ایجاد یک نور پری بودم ، متوجه شدم که مقدار PWM به طور غیر خطی با روشنایی LED متناسب است. به زبان ساده ، اگر مقدار PWM دو برابر باشد ، روشنایی دو برابر نیست. به ویژه هنگامی که PWM به حداکثر نزدیک است ، هیچ تغییری از نظر من قابل تشخیص نیست. من فکر کردم باید یک مسئله کالیبراسیون ساده باشد! و این بود که چگونه این پروژه را ساختم! ایده این است که میزان روشنایی یک LED را با برخی دستگاه ها (سنسور روشنایی یا مقاومت در برابر نور) اندازه گیری کرده و بین مقدار PWM و روشنایی همبستگی پیدا کنید. سپس بعداً اگر روشنایی را روی 50٪ تنظیم کنم ، آردوینو PWM مربوطه را محاسبه کرده و LED را مطابق آن کم می کند.
بنابراین ، برای اندازه گیری روشنایی به سنسور روشنایی و LED نیاز دارم. با استفاده از کارت SD ، داده ها را برای مراحل بعدی نصب ذخیره می کنم. برازش در Excel (یا هر برنامه دیگر) انجام می شود. out out در کد آردوینو استفاده می شود ، و بس! باید یکبار انجام شود. سپس می توانید برای همیشه از پارامتر کالیبراسیون استفاده کنید!
مرحله 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 ذخیره می کند. به این ترتیب من برخی از داده ها را برای کالیبراسیون جمع آوری می کنم.
من هر کد را با توجه به نیاز خود تغییر دادم. کد نهایی پیوست شده است
سیگنال باید شبیه تصویر پیوست باشد. متأسفانه من فراموش کردم که عکس بگیرم ، بنابراین آن را در اکسل مجدداً قرار می دهم تا به شما نشان دهم که چگونه باید باشد.
توجه: من به جای آردوینو از wemo mini D1 استفاده می کنم. به دلایلی که من نمی دانم ، PWM بین 0 تا 1023 است. در آردوینو باید بین 0-255 باشد. اگر می خواهید از کد آردوینو استفاده کنید ، باید از آن مراقبت کنید (خط 90).
مرحله 4: نصب و استفاده
پس از جمع آوری داده ها ، فایل را در Excel باز کردم و داده ها را رسم کردم (به تصویر نگاه کنید). ستون اول مقدار PWM و ستون دوم Lux است (خواندن سنسور ، واحد اهمیت چندانی ندارد). بنابراین ، نمودار lux (محور y) در مقابل PWM (محور x) را ترسیم کنید. همانطور که می بینید روشنایی متناسب با مقدار PWM است. خطی را به آن متصل کردم
برای تناسب یک خط ، موارد زیر را دنبال کنید:
1- داده ها را ترسیم کنید (درج کنید> نمودار پراکندگی) من فرض می کنم که چگونه می دانید.
2- بر روی داده های رسم شده راست کلیک کنید
3- روی trendline کلیک کنید.
4- (در اکسل 2013) در سمت راست یک پانل ظاهر می شود. خطی را انتخاب کنید. در پایین "معادله نمایش روی نمودار" را انتخاب کنید.
رابطه خطی با تصور من متفاوت است. بنابراین من فکر می کنم باید بین درک من و روشنایی رابطه لگاریتمی وجود داشته باشد (این ساده ترین راهی است که به ذهنم رسید!) بنابراین من شیب تناسب را انتخاب کردم. رهگیری مهم نیست ، زیرا به آلودگی نوری اطراف بستگی دارد! در عوض ، من 1 را اضافه کردم زیرا Log10 (0) بی نهایت است. بنابراین من برای حل مشکل به یک رهگیر نیاز دارم. در مورد من معادله به این شکل است:
y = Log10 (0.08 x +1) ، y روشنایی و x مقدار PWM است (0-1023)
معادله را به حداکثر مقدار نرمال کردم. سپس خروجی همیشه بین 0-100 است. به این ترتیب می توانم از آردوینو روشنایی نسبی خاصی را بدون در نظر گرفتن حداکثر روشنایی مطلق بخواهم.
y = Log10 (0.08 x +1)*100/1.914
از آنجا که ورودی من در روشنایی نسبی است ، باید معادله x (PWM) را دوباره مرتب کنم:
x = (10^(y*1.914 / 100) - 1) / 0.08
با استفاده از این معادله در کد ، می توانیم تغییر روشنایی خطی را بدست آوریم. بنابراین شما از آردوینو روشنایی (y) بین 0-100 را درخواست می کنید و arduino مقدار PWM مربوطه را محاسبه می کند. به این ترتیب ، اگر روشنایی را دو برابر کنید ، درک شما نیز یکسان است.
اگر می خواهید از آن در کد خود استفاده کنید ، بهتر است این خطوط را اضافه کنید:
روشنایی = 50 ؛ // به درصد
PWM = توان (10 ، روشنایی*1.914/100) -1) /0.0793 ؛
analogWrite (ledpin ، PWM) ؛
توجه: عادی سازی برای حداکثر PWM 1023 (برای Wemos mini D1) انجام می شود. برای Arduino PWM بین 0-255 است. شما باید بر اساس آن محاسبه کنید
توجه 2: من یک نمودار ورود به سیستم خطی اضافه کردم تا نشان دهم که چگونه درک و ارزش PWM ما با هم ارتباط دارند. نباید از آن برای نصب استفاده کنید!
مرحله 5: نتیجه گیری
کالیبراسیون برای من خوب کار می کند وقتی مقادیر PWM بزرگ است ، می توانم تفاوت را ببینم. قبلاً به عنوان مقادیر بزرگ ، نمی توانستم اثر کم نور شدن را ببینم. اساساً بیشتر تغییرات در محدوده کوچکی از PWM انجام شد. اکنون کالیبره شده است!
هر LED ، به ویژه رنگهای مختلف ، باید دارای پارامترهای کالیبراسیون خود باشد. با این حال ، من یک LED آبی را کالیبره کردم و از پارامتر برای یک LED سفید استفاده کردم و نتیجه قابل قبول بود. بنابراین شاید بتوانید از پارامتر کالیبراسیون من استفاده کنید بدون اینکه خود را اذیت کنید !!
توصیه شده:
کالیبراسیون سنسور ARDUINO PH: 7 مرحله
ARDUINO PH SENSOR CALIBRATION: در این آموزش ، ما با استفاده از Arduino Uno سنسور EZO pH Atlas Scientific را کالیبره می کنیم. ساده ترین روش کالیبراسیون دستگاه در
4 تا 20 MA کالیبراسیون فرآیند صنعتی DIY - ابزار دقیق الکترونیکی: 8 مرحله (همراه با تصاویر)
4 تا 20 MA کالیبراسیون فرآیند صنعتی DIY | ابزار دقیق الکترونیکی: ابزار دقیق صنعتی و الکترونیکی یک حوزه بسیار گران است و اگر ما فقط خودآموخته یا سرگرم کننده هستیم ، یادگیری در مورد آن آسان نیست. به دلیل آن کلاس ابزار دقیق الکترونیک من و من این پروژه کم هزینه 4 تا 20 میلی آمپر را طراحی کردیم
کالیبراسیون سنسور رطوبت خاک: 5 مرحله
کالیبراسیون سنسور رطوبت خاک: مترهای رطوبت خاک زیادی در بازار وجود دارد که به باغبان کمک می کند تا زمان آبیاری گیاهان خود را تعیین کند. متأسفانه ، گرفتن یک مشت خاک و بررسی رنگ و بافت به اندازه بسیاری از این ابزارها قابل اعتماد است! برخی از کاوشگران حتی ثبت می کنند
کالیبراسیون سنسور ARDUINO ORP: 3 مرحله
کالیبراسیون سنسور ARDUINO ORP: در این آموزش ، ما با استفاده از Arduino Uno سنسور EZO ORP (پتانسیل کاهش اکسیداسیون) Atlas Scientific را کالیبره می کنیم. آسان است
ARDUINO کالیبراسیون سنسور اکسیژن حل شده: 4 مرحله
ARDUINO CALIBRATION SENSOR OXYGEN SENSOR: در این آموزش ، ما با استفاده از Arduino Uno سنسور اکسیژن محلول EZO (D.O) Atlas Scientific را کالیبراسیون می کنیم. ساده ترین روش برای کالیبره