آردوینو پروژه های آردوینو پکیج سنسور آردوینو

آموزش راه‌اندازی سنسور دماسنج مادون قرمز MLX90614 توسط آردوینو

آموزش ماژول دماسنج mlx906 آردوینو
نوشته شده توسط علیرضا قربانی

اینکه قابلیت تشخیص دمای اجسام را داشته باشی جذاب است. اما قابلیت اینکه دمای یک شی را بدون تماس با  آن تشخیص بدهیم؛ فوق العادست. سنسور MLX90614 یک سنسور دماسنج مادون قرمز است که می‌تواند دقیقا همین کار را انجام دهد. این سنسور دوس داشتنی توسط اسکن نور مادون قرمز ساطع شده از جسم میتونه دمایی بین منفی ۹۸ تا ۷۲۰ درجه فارنهایت ( منفی ۷۰ تا ۳۸۲/۲ درجه سانتی‌گراد ) را با وضوح ۱۷ بیت تشخیص بده که این مقدار ۱۲۸ برابر دقیق‌تر از سنسور‌های دمایی که به وسیله ADC به آردوینو ارتباط برقرار میکنن و این به این معنی که سنسور دوس داشتنی ما  میتونه  تفاوت بینه ۲۵ درحه و ۲۵/۰۲ درجه را بدون اینکه حتی در تماس با جسم fhan . به نظر میاد کسانی که قصد دارند سنسور MLX90614 را اه اندازی کنند باید زمان سختی را با این سنسور سر و کله بزنند. بنابراین ما در دیجی اسپارک راه‌اندازی ساده‌ این سنسور را آموزش می‌دهیم پس در ادامه با مرجع تخصصی آردوینو همراه باشید.

mlx-90614-arduino

 


ویژگی‌های سنسور mlx90614


  • پروتکل ارتباطی I2C
  • کالیبره شدن در کاخانه برای رنج‌های
    • ۴۰- الی ۸۵+ درجه‌ سانتی‌گراد برای اندازه‌گیری دمای خود سنسور
    • ۷۰- الی ۳۸۰+ درجه سانتی‌گزاد برای اندازه‌گیری اجسام توسط سنسور
  • انطباق ولتاژی ۳٫۳ ولت الی ۱۶ ولت
  • حالت ذخیره انرژی

 


اتصال MLX90614 به آردوینو


سنسور MLX90614 همانند بسیاری از سنسور هایی که قبلا راجب به آن ها صحبت کردیم برای برقراری ارتباط با  آردوینو از پروتوکل I2C استفاده می‌کند. همچنین برخلاف اکثر سنسور‌هایی که ما با آن‌ها کار می‌‌کردیم، سنسور MLX90614  بر روی یک برد (PCB)  نیست. پس نیازمندیم دو پین DATA و CLOCK LINES را به وسیله دوعدد مقامت در وضعیت PULL_UP  قرار دهیم. اگر این سنسور را به صورت ماژول تهیه کرده باشید. این مقاومت‌ها به صورت پیش‌فرض بر روی برد قرار دارند ولی ما متوجه آن‌ها نمی‌شویم. همانطور که می‌دانید برای اتصال این سنسور به برد آردوینو  تمام مدل‌ها به جز آردوینو مگا۲۵۶۰ SDA برو روی پین آنالوگ شماره ۴ و SCL بر روی پین آنالوگ شماره  ۵ قرار دارد. در آردوینو مگا SDA بر روی پین دیجیتال شماره ۲۰ و SCL هم بر روی پین دیجیتال شماره ۲۱ قرار دارد. همچنین لازم است که یک مقاومت ۴٫۷ کیلواهم از SCL به ۳٫۳ ولت و  یکی دیگر هم از SDA به ۳٫۳ ولت وصل کنید. در دیتاشیت اعلام شده که از یک خازن ۱میکروفاراد بین VCC و GND استفاده شود. من هم سنسور را با این خازن تست کردم و هم بدون آن، نتیجه‌ای که از سنسور میگیرم تفاوتی ندارد.

 


کد نویسی سنسور MLX90614


کتابخانه سنسور MLX90614 را از لینک زیر دانلود کنید. با توجه به آموزشی که لینکش را قرار دادم ، کتابخانه را به نرم افزار آردوینو Arduino IDE اضافه کنید.

دانلود کتابخانه سنسور mlx 90614

آموزش نصب کتابخانه در arduino

پس از نصب کتابخانه کد‌های زیر را  کپی کرده و در IDE آردوینو paste کنید. سپس آپلود کد بر روی آردوینو نتیجه را بر روی سریال مانیتور نرم افزار آردوینو مشاهده کنید.

#include <Wire.h>
#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);
}

 


توضیح توابع سنسور MLX90614


برای شروع کار با این کتابخانه ابتدا باید همانند قطعه کد زیر از آن یک آبجکت بسازید.

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

به وسیله‌ی این تابع ماژول را فعال می‌کنیم.

begin()

به وسیله‌ی این تابع دمای خود ماژول را برحسب درجه سانتی‌گراد اندازه‌گیری می‌کنیم( توجه داشته باشین که گفته شد دمای خود ماژول ، نه دمای جسم مورد نظر).

readAmbientTempC()

به وسیله‌ی این تابع دمای جسم مورد نظر برحسب درجه سانتی گراد اندازه‌گیری می‌شود.

readObjectTempC()

این تابع دمای ماژول را بر حسب فارنهایت اندازه‌گیری می‌نماید.

readAmbientTempF()

به وسیله‌ی این تابع دمای جسم مورد‌نظر بر حسب فارنهایت اندازه‌گیری می‌شود.

readObjectTempF()

 


سخت افزار مورد نیاز


برد آردوینو UNO

سنسور دماسنج مادون قرمز MLX90614

 

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

علیرضا قربانی

علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

تبادل نظر و رفع عیب با ثبت دیدگاه