كيفية استخدام مستشعر درجة الحرارة MLX90614 مع الاردوينو 1

 تم نشر هذا المشروع لجميع الأشخاص المهتمين في مجال تصنيع وابتكار المشاريع الإلكترونية والبرمجية، و نود التنويه أن موقع انا الكتروني يخلي مسؤوليته التامة في حال لم يعمل المشروع لدى العميل أو في حال الاستخدام الخاطئ للمكونات الإلكترونية والكهربائية التي قد تؤدي لحدوث الحرائق أو غيرها لا سمح الله.

كيفية استخدام مستشعر درجة الحرارة MLX90614 مع الاردوينو

سنوضح لك في هذا المشروع كيفية استخدام مستشعر درجة حرارة الأشعة تحت الحمراء MLX90614 ، وهو مستشعر يقرأ درجة حرارة الأشياء أو حتى درجة حرارة الجسم دون الحاجة إلى الاتصال المباشر بالمستشعر .

يتميز MLX90614 بكونه مستشعر عالي الدقة ، والذي يمكن استخدامه ، على سبيل المثال ، في مشاريع الأتمتة المنزلية وكاشفات الحركة ومشاريع السيارات ، من بين تطبيقات أخرى.

مستشعر درجة حرارة الأشعة تحت الحمراء MLX90614

يحتوي مستشعر درجة حرارة الأشعة تحت الحمراء MLX90614 على نطاق قياس يتراوح بين -40 إلى 125 درجة مئوية لدرجة الحرارة المحيطة وبين -70 إلى 380 درجة مئوية لقياس درجة حرارة الكائن . إنها قادرة على تنفيذ القياسات في وقت واحد ، وسنرى ذلك في وقت قصير أدناه في اختبارات هذه الوحدة . دقة القياس 0.5 درجة مئوية .

Modulo-sensor-de-temperatura-MLX90614

يتم الاتصال مع وحدة التحكم الدقيقة عبر واجهة I2C ، وبالتالي تحتل فقط 2 دبابيس من وحدة التحكم الدقيقة .

الأدوات المستخدمة في المشروع

  1. لوح أردوينو أونو 
  2. شاشة عرض من النوع 16X2 مع مسجل 
  3. لوحة توصيل أو تجارب
  4. أسلاك توصيل 
  5. حساس الحرارة Mlx90614

توصيل MLX90614 بـ Arduino

لتوصيل مستشعر درجة الحرارة MLX90614 IR بلوحة Arduino Uno ، سنستخدم الدبابيس التناظرية A4 (SDA) و A5 (SCL) ، وهي دبابيس الاتصال I2C .

في نفس ناقل I2C ، سنقوم بتوصيل شاشة عرض خلفية زرقاء 16 × 2 I2C ، حيث سنعرض قيمة درجة الحرارة المحيطة والشيء الذي يقترب من المستشعر :

Circuito-Arduino-Uno-Sensor-de-Temperatura-MLX90614-1024x506

في ناقل I2C ، يمكن “فصل” البيانات المستلمة من مستشعر درجة الحرارة والمرسلة إلى شاشة LCD لأن كل مكون له عنوان I2C محدد .

الكود البرمجي لمشروع MLX90614 مع Arduino

لاستخدام الدائرة التي تم تجميعها سابقًا ، سنستخدم مكتبات LiquidCrystal I2C و Adafruit MLX90614 التي يمكن تنزيلها من Arduino IDE نفسها.

لتثبيت المكتبات ، أدخل الي

Sketch -> Incluir Biblioteca -> Gerenciar Bibliotecas

وابحث عن Liquid Crystal I2C أولاً كما هو موضح في الشكل أدناه ، ثم انقر فوق Install :

Instalacao-Biblioteca-Liquid-Crystal-I2C

افعل نفس الشيء مع مكتبة Adafruit MLX90614 :

Instalacao-Biblioteca-MLX90614-IDE-Arduino

بعد تثبيت المكتبات ، قم بتحميل البرنامج أدناه على الاردوينو . الانتباه إلى السطر 11 ، الذي يحدد عنوان I2C لشاشة LCD 16 × 2 . في حالتي العنوان هو 0x3B .

إذا لم يظهر أي شيء على الشاشة ، فربما يكون لديك عنوان آخر. استخدم برنامج I2CScanner ، الذي استخدمته في هذا المشروع ، وسيعرض لك عنوان I2C للأجهزة المتصلة بالحافلة (بما في ذلك مستشعر MLX90614 ، وهو في حالتي 0x5A) . شاهد كيف تبدو شاشة Serial Monitor عندما كان I2CScanner قيد التشغيل :

Serial-Monitor-I2C-Scanner

في البرنامج أدناه ، نستخدم المتغيرات temp_amb و temp_obj لقراءة قيم درجات الحرارة المحيطة والكائنات ، على التوالي . ثم نستخدم هذه المتغيرات داخل الحلقة لإظهار القيم على كلٍ من الشاشة وعلى الشاشة التسلسلية .

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
لتحميل الكود البرمجي اضغط هنا
#include <Wire.h>
#include <Adafruit_MLX90614.h>
#include <LiquidCrystal_I2C.h>

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

//Define o endereco I2C do display e qtde de colunas e linhas
LiquidCrystal_I2C lcd(0x3B, 16, 2);

//Array que desenha o simbolo de grau
byte grau[8] = {B00110, B01001, B01001, B00110,
                B00000, B00000, B00000, B00000,};

double temp_amb;
double temp_obj;

void setup()
{
  Serial.begin(9600);
  Serial.println("Sensor de temperatura MLX90614");

  //Inicializa o display LCD I2C
  lcd.init();
  lcd.backlight();

  //Atribui a "1" o valor do array "grau", que desenha o simbolo de grau
  lcd.createChar(1, grau);

  //Inicializa o MLX90614
  mlx.begin();
}

void loop()
{
  //Leitura da temperatura ambiente e do objeto
  //(para leitura dos valores em Fahrenheit, utilize
  //mlx.readAmbientTempF() e mlx.readObjectTempF() )
  temp_amb = mlx.readAmbientTempC();
  temp_obj = mlx.readObjectTempC();

  //Mostra as informacoes no display
  lcd.setCursor(0, 0);
  lcd.print("Ambiente:");
  lcd.setCursor(10, 0);
  lcd.print(temp_amb);
  lcd.setCursor(15, 0);
  lcd.write(1);
  lcd.setCursor(0, 1);
  lcd.print("Objeto:");
  lcd.setCursor(10, 1);
  lcd.print(temp_obj);
  lcd.setCursor(15, 1);
  lcd.write(1);

  //Mostra as informacoes no Serial Monitor
  Serial.print("Ambiente = ");
  Serial.print(temp_amb);
  Serial.print("*CtObjeto = ");
  Serial.print(temp_obj); Serial.println("*C");

  //Aguarda 1 segundo ate nova leitura
  delay(1000);
}

مباشرة بعد تحميل البرنامج ، سيتم عرض درجة حرارة الغرفة ودرجة حرارة الجسم الذي تقترب منه على المستشعر على الشاشة . درجات الحرارة بالدرجات المئوية.

يمكنك أيضًا متابعة هذه البيانات من Arduino Serial Monitor ، والتي ستعرض شاشة مثل الشاشة أدناه . لاحظ أن قراءة درجة الحرارة المحيطة بالكاد تغيرت حتى عندما نقترب من كائن باستخدام المستشعر .

Serial-Monitor-Sensor-MLX90614

لقد وصلت للنهاية ^_^ نأمل أن تكون قد أستفدت من المشروع …..

1 Comments

  1. كيف أضيف جرس تيت عند قياس الحراره
    وجرس عالي عند تعدي درجه الحراره ٣٨

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *