آردوینو Arduinoمطالب علمی

راه اندازی ماژول دماسنج غیر تماسی مادون قرمز GY-MCU90615

به وسیله ماژول GY-MCU90615 قادر خواهید بود دمای اشیا را از فاصله دور بدون تماس با اجسام اندازه گیری نمایید. این ماژول را می‌توان توسط پروتکل سریال به آردوینو یا هر میکروکنترلر دیگری متصل نمود. MLX90615 یک ماژول دماسنج مادون قرمز هوشمند برای اندازه‌گیری دما به روش غیر تماسی می‌باشد. از مشخصات منحصر به فرد این سنسور علاوه بر این که برای اندازه گیری دما نیازی به تماس با جسم مورد نظر ندارد ، نویز بسیار کم و دارای مبدل داخلی ۱۷ بیتی آنالوگ به دیجیتال میباشد که باعث شده است بتوان دما را با دقت ۰٫۰۲ درجه سانتی‌گراد انداز‌ه‌گیری نمود .

ویژگی‌های دماسنج مادون قرمز MLX90615

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

به وسیله ماژول  GY-MCU90615 قادر خواهید بود دمای اشیا را از فاصله دور بدون تماس با اجسام اندازه گیری نمایید. این ماژول را می‌توان توسط پروتکل Serial  به آردوینو یا هر میکروکنترولر دیگری متصل  نمود.این ماژول علاوه بر استفاده‌های صنعتی در مسابقات رباتیک لیگ‌های آتش‌نشان و امداد‌گر کاربرد دارد.

نحوه اتصال ماژول دماسنج غیر تماسی مادون قرمز به برد آردوینو

  • پین ۳٫۳ به vin ماژول
  • اتصال GND به GND ماژول
  • اتصال RX به Tx ماژول
  • اتصال Tx به Rx ماژول

GY MCU90615 arduino

برنامه لازم برای راه اندازی ماژول

unsigned char Re_buf[11],counter=0;
unsigned char sign=0;
float TO=0,TA=0;
void setup() {
   Serial.begin(115200);
  delay(1);
  Serial.write(0XA5);
  Serial.write(0X45);
  Serial.write(0XEA);
}
 
void loop() {
  unsigned char i=0,sum=0;
 
  if(sign)
  {
     sign=0;
     for(i=0;i<8;i++)
      sum+=Re_buf[i];
     if(sum==Re_buf[i] )
     {
           TO=(float)(Re_buf[4]<<8|Re_buf[5])/100;
           Serial.print("TO:");
           Serial.println(TO);
           TA=(float)(Re_buf[6]<<8|Re_buf[7])/100;
           Serial.print("TA:");
           Serial.println(TA);
   }
  }
 
}
void serialEvent() {
  while (Serial.available()) {
    Re_buf[counter]=(unsigned char)Serial.read();
    if(counter==0&&Re_buf[0]!=0x5A) return;
    counter++;
    if(counter==9)
    {
       counter=0;
       sign=1;
    }
  }
}

 

نوشته های مشابه

1 دیدگاه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا