نحوه به دست آوردن دمای اجسام یا ساخت دماسنج همیشه جذاب بوده است. ما در این سری از آموزش های آردوینو، قصد داریم دمای اجسام را بدون تماس با آنها بدست بیاوریم که این روش جذابیت کار را چندین برابر افزایش می دهد. ماژول دمای مادون قرمز MLX90614، بر خلاف بیشتر سنسورهای اندازه گیری دما، بدون تماس با اجسام توانایی تعیین دمای اجسام را دارد که همین ویژگی باعث شده این سنسور مورد توجه قرار بگیرد.
ماژول دمای مادون قرمز MLX90614
ماژول دمای مادون قرمز MLX90614 قابلیت تشخیص دما یک جسم بدون تماس با آن را دارد، که این امر فوق العادست.
ویژگی های ماژول دمای مادون قرمز
1. پروتکل ارتباطی I2C
2. دمای اندازه گری اجسام توسط سنسور 70- تا 380+ درجه سانتی گراد
3. رزولوشن 0.2 درجه
4. دقت 0.5 درجه سانتی گراد
سنسور دما مادون قرمز مدل های مختلفی دارد که هر کدام با سه حرف آخر آن قابل تشخیص است نمونه های کامل آن در دیتا شیت آمده است.
لیست قطعات مورد نیاز
برد آردوینو Arduino UNO R3 مدل DIP | 1 عدد |
ماژول دماسنج مدل غیر تماسی GY-906-MLX90614 | 1 عدد |
مقاومت 4.7 کیلو اهم با توان 0.25 وات و تلرانس 1 درصد | 1 عدد |
خازن عدسی 100nF نانوفاراد | 1 عدد |
برد بورد (پروجکت برد) مدل GL | 1 عدد |
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی) | 1 عدد |
نحوه اتصال ماژول MLX90614 به برد آردوینو
با توجه به توضیحات و نقشه شماتیک زیر می توانید ماژول را به برد آردوینو اتصال دهید.
1. ابتدا پایه GND سنسور را به پین GND آردوینو اتصال دهید.
2. در این مرحله پایه PWR ماژول MLX90614 را به پین 3V3 آردوینو متصل کنید.
3. سپس دو پایه SCL و SDA ماژول را به ترتیب به پین های A5 و A4 آردوینو اتصال دهید.
4. در این مرحله دو عدد مقاومت 4.7 کیلو اهم را به هر یک از پایه های SCL و SDA اتصال دهید و طرف دیگر مقاومت ها را همانند شماتیک پروژه به پین 3V3 آردوینو اتصال دهید.
5. در نهایت از یک خازن 1میکرو فارادی بین پین های VCC و GND استفاده کنید، البته این کار تفاوتی در مقدار خروجی سنسور ایجاد نمی کند، چون در دیتا شیت گفته شده است شما می توانید از این خازن نیز استفاده کنید.
برنامه نویسی پروژه
قبل از برنامه نویسی در نرم افزار آردوینو ابتدا کتابخانه MLX90614 را دانلود نموده و طبق توضیحات زیر، آن را به زیرمجموعه های کتابخانه خود در نرم افزار آردوینو اضافه کنید.
نصب کردن کتابخانه MLX90614
لازم به ذکر است که نرم افزار برنامه نویسی آردوینو به صورت پیش فرض توانایی پشتیبانی از MLX90614 را ندارد بنابراین ما باید library (کتابخانه یا برنامه) مورد نیاز را بر روی آن نصب کنیم. این فرآیند بسیار ساده و راحت است که در زیر نحوه استفاده از آن را توضیح داده ایم.
1. در مرحله اول ابتدا آخرین (جدیدترین) نسخه کتابخانه (MLX90614) را از لینک فوق دانلود کنید.
2. پس از دانلود فایل، نرم افزار آردوینو را باز کنید.
3. مسیر زیر را دنبال کنید و در پنجره باز شده فایل کتابخانه MLX90614 را که قبلا دانلود کرده اید را انتخاب نمائید:
…Sketch > Include Library > Add .ZIP Library
کدنویسی
بعد از نصب کتابخانه، برای شروع کار یک آبجکت می سازیم.
1 2 |
Adafruit_MLX90614 mlx = Adafruit_MLX90614(); |
سپس با استفاده از تابع زیر، ماژول را فعال می کنیم.
1 2 |
begin(); |
توسط تابع زیر ما می توانیم دمای خود ماژول را برحسب درجه سانتی گراد به دست بیاوریم.
1 2 |
readAmbientTempC(); |
همچنین برای به دست آوردن دمای جسم بر حسب درجه سانتی گراد از تابع زیر استفاده می کنیم.
1 2 |
readObjectTempC(); |
در صورتی که بخواهیم دمای ماژول را بر حسب فارنهایت به دست بیاوریم، تنها لازم است در رابطه دمای ماژول بر حسب درجه سانتی گراد به جای حرف C از حرف F استفاده کنیم، دقیقا مشابه تابع زیر:
1 2 |
readAmbientTempF(); |
برای به دست آوردن دمای جسم برحسب فارنهایت داریم:
1 2 |
readObjectTempF(); |
بعد از اتصال قطعات به یکدیگر و نصب کتابخانه، کدهای زیر را در نرم افزار آردوینو کپی نموده سپس به برد آردوینو آپلود کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#include <Adafruit_MLX90614.h> Adafruit_MLX90614 mlx = Adafruit_MLX90614(); void setup() { Serial.begin(9600); Serial.println("Adafruit MLX90614 test"); mlx.begin(); } void loop() { Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempC()); Serial.print("*CtObject = "); Serial.print(mlx.readObjectTempC()); Serial.println("*C"); Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempF()); Serial.print("*FtObject = "); Serial.print(mlx.readObjectTempF()); Serial.println("*F"); Serial.println(); delay(500); } |
سلام .میشه برد اردینودر دمای ۱۰۰ درجه آلارم بده و ۱۲۰ یک فرمان به رله بده
سلام دوست عزیز
در صورتیکه به برنامه نویسی آردوینو تسلط داشته باشید می توانید اینکار را انجام دهید.
سلام میشه از این برای اندازه گرفتن دمای بدن استفاده کرد؟
سلام دوست عزیز
لطفا توجه داشته باشید، سنسور مذکور برای اندازه گیری دمای اجسام غیر زنده مانند تراشه ها، فلزات و… کاربرد دارد و برای اندازه گیری دمای بدن انسان و یا حیوانات کاربردی نیست، چراکه برای اندازه گیری دمای بدن از دقت بالایی برخوردار نیست.
برای یافتن سنسور مناسب جهت اندازه گیری دمای بدن موجودات زنده باید در میان سنسورهای دمای غیر تماسی، دیتاشیت آن ها را بررسی نمایید.