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

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

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

سنسور mlx90614 قابلیت تشخیص دما به صورت غیرتماسی دارد و علاوه بر آن دو دمای محیط و دمای جسم را جداگانه اندازه گیری می‌کند.سنسور MLX90614 یکی از محبوب‌ترین سنسورهای از دور تشخیص دما است که توسط شرکت Melexis تولید می‌شود. این سنسور بر اساس فناوری اندازه‌گیری اشعه تابش فرابنفش از دور (IR) عمل می‌کند و می‌تواند دما را در یک محدوده عملکردی خاص اندازه‌گیری کند. در ادامه با مرجع تخصصی آردوینو به زیان فارسی، دیجی اسپارک همراه باشید.

 

mlx-90614-arduino

 


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


سنسور MLX90614 یک سنسور دماسنج مادون قرمز غیرتماسی برای اندازه گیری دما است. ترکیت تراشه ترموپیل حساس IR و سیگنال ASIC در TO-39 can ادغام شده است. استفاده از آمپلی فایر بدون نویز ، برخورداری از ADC 17 بیتی در دقت و وضوح اندازه گیری دما تاثیر دارد. این سنسور با پروتکل خروجی SMBUS کالیبره شده و امکان اندازه گیری دمای با دقت +-۲ درجه فراهم شده است. خروجی دیجیتال با مدولاسیون پهنای باند PWM در رنج – ۲۰ تا ۱۲۰ درجه قابل تنظیم است و با خروجی روزلوشن ۰٫۱۴ درجه سانتی گراد است. دمای اندازه گیری سنسور بین  – ۴۰ تا + ۱۲۵ درجه سانتی گراد و دمای اندازه گیری آبجکت بین – ۷۰ تا  + ۳۸۰ درجه سانتی گراد است. از این سنسور برای اندازه گیری دمای غیرتماسی با دقت بالا استفاده می‌شود. در سیستم ها کنترل تهویه، عنصر سنجش دما برای واحدهای مسکونی، تجاری و اداری و لوازم خانگی و بهداشت درمان عمده مصارف سنسور به شمار می‌آید.

 

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

 


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


سنسور 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

 

 

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

 

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

 

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

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

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

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

۲ دیدگاه