اشعه فرابنفش
در این سری از آموزش های آردوینو سعی کردیم سنسور UV با تراشه ML8511 و نحوه اتصال آن به آردوینو جهت اندازه گیری شدت اشعه فرابنفش را بررسی و تحلیل کنیم. اشعه فرابنفش در گستره ی طیف الکترومغناطیسی در محدوه 10 تا 400 نانومتر به وجود می آید. یکی از ویژگی های فنی ماژول سنسور UV با تراشه ML8511، محدوه اندازه گیری طول موج در رنج 280 تا 390 نانومتر است. طول موج ها به عنوان بخشی از پرتو غیرمرئی به سه نوع UVA, UVB, UVC تقسیم می شوند که در این مدل، اثرات پرتو فرابنفش A بیشتر است. این پرتو که بیشتر آن توسط لایه ازون جذب می شود به موج متوسط مشهور است.
ماژول سنسور ML8511 UV
ماژول سنسور ML8511 UV، به عنوان پرکاربردترین و راحت ترین وسیله برای تشخیص و اندازه گیری اشعه فرابنش است. در این سنسور خروجی به شدت اشعه فرابنفش که به عنوان یک سیگنال آنالوگ و به صورت تغییر در ولتاژ نمایش داده می شود، بستگی دارد. همانطور که در ابتدای آموزش گفته شد، این سنسور توانایی اندازه گیری و تشخیص طول موج، در محدوده 280 تا 390 نانومتر را دارد و در توزیع تابش، بین پرتوهای UVA (موج بلند یا نور سیاه) و UVB (موج متوسط، اشعه های سوختگی) قرار می گیرد.
خروجی آنالوگ به صورت خطی با تغییر شدت نور فرابنفش بر حسب (mW/cm2) به دست می آید. همچنین سنسور ML8511 UV از لحاظ ویژگی های فیزیکی، فنی و تغذیه دارای ابعادی بسیار کوچک، فیبر فایبرگلاس دو رو متالیزه، محدوده اندازه گیری 280 تا 390 نانومتر، دمای اندازه گیری 30- تا 85+ درجه سانتی گراد، دارای پلاریته های VIN, 3V, GND, OUT و EN است. همچنین ولتاژ کاری این ماژول 3 الی 5+ ولت با توان مصرفی 30 میلی وات و جریان 5 میلی آمپر می باشد.
بلوک دیاگرام ماژول ML8511 UV
ماژول ML8511 از یک فتودیود UV و تقویت کننده ساخته شده است که در آن ولتاژ خروجی به شدت نور UV بستگی دارد.
مشخصه ماژول ML8511 UV
مشخصه ماژول ML8511 UV به ازای ولتاژ خروجی سنسور و شدت UV ایجاد شده برحسب (mW/cm²) به دست می آید. منحنی با رنگ های مختلف در شکل زیر نشان دهنده عملکرد سنسور در دماهای مختلف است.
تجهیزات مورد نیاز جهت ساخت پروژه
لیست قطعات مورد نیاز
برد آردوینو Arduino UNO R3 مدل DIP | 1 عدد |
ماژول اندازه گیری اشعه فرابنفش ML8511-UV | 1 عدد |
LCD کاراکتری مدل 16×2 با Backlighting آبی | 1 عدد |
برد بورد (پروجکت برد) مدل GL | 1 عدد |
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی) | 1 عدد |
نقشه شماتیک پروژه
با توجه به نقشه شماتیک زیر اقدام به آماده کردن سخت افزار پروژه نمائید.
برنامه نویسی ماژول ML8511 UV در نرم افزار آردوینو
از کدهای زیر برای برنامه نویسی ماژول ML8511 UV در نرم افزار آردوینو جهت اندازه گیری اشعه فرابنفش استفاده می شود. با کپی کردن این برنامه در نرم افزار و Upload آن به برد آردوینو، می توانید به صورت عملی آن را اجرا کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
#include <LiquidCrystal.h> LiquidCrystal lcd(7, 6, 5, 4, 3, 2); int UVOUT = A0; //Output from the sensor int REF_3V3 = A1; //3.3V power on the Arduino board void setup() { Serial.begin(9600); lcd.begin(16,2); pinMode(UVOUT, INPUT); pinMode(REF_3V3, INPUT); } void loop() { int uvLevel = averageAnalogRead(UVOUT); int refLevel = averageAnalogRead(REF_3V3); //Use the 3.3V power pin as a reference to get a very accurate output value from sensor float outputVoltage = 3.3 / refLevel * uvLevel; float uvIntensity = mapfloat(outputVoltage, 0.99, 2.9, 0.0, 15.0); Serial.print("MP8511 output: "); Serial.print(uvLevel); Serial.print(" MP8511 voltage: "); Serial.print(outputVoltage); lcd.setCursor(0, 0); lcd.print("UV Ray Intensity"); Serial.print(uvIntensity); lcd.setCursor(1, 1); lcd.print(uvIntensity); Serial.print(" UV Intensity (mW/cm^2): "); lcd.setCursor(7, 1); lcd.print("mW/cm^2"); Serial.println(); delay(300); lcd.clear(); } //Takes an average of readings on a given pin //Returns the average int averageAnalogRead(int pinToRead) { byte numberOfReadings = 8; unsigned int runningValue = 0; for(int x = 0 ; x < numberOfReadings ; x++) runningValue += analogRead(pinToRead); runningValue /= numberOfReadings; return(runningValue); } float mapfloat(float x, float in_min, float in_max, float out_min, float out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } |
سلام با تشکراز شما بابت مطلب جالبتون
من این کیت رودرست کردم. ولی در هر حالتی بطور مثال در اتاق کاملا تاریک یا حتی وقتی ماژول رو بطور کامل بپوشونی، عدد یو وی از 0.2 پایینتر نمیاد. این علت خاصی داره؟