Arduino ile MLX90614 Kızılötesi Sıcaklık Sensörü Kullanımı

11 28.147
Cisme temas etmeden, cismin sıcaklığını ölçen MLX90614 kızılötesi sıcaklık sensöründen bahsedeceğim. Dahili bir 17-bit ADC ve güçlü bir DSP, MLX90614’ün ölçümlerinde yüksek doğruluk ve çözünürlük verir. Vücut sıcaklığı ölçmek için uygundur. Ayrıca hareket algılamada da kullanabilirsiniz. Özellikle çok sıcak nesnelerin sıcaklığını  güvenli şekilde uzaktan ölçmek için gayet ideal bir sensördür.  Sensör hem nesnenin hem de ortamın sıcaklığını ölçer.
MLX90614 Özellikleri:
  • Ortam sıcaklığı ölçme aralığı -40 ile + 85 ° C
  • Nesne sıcaklığı ölçme aralığı -70 ile + 380 ° C
  • Sürekli okuma için özelleştirilebilir PWM çıkışı
  • Geniş sıcaklık aralığında 0.5 ° C yüksek doğruluk
  • Enerji tasarrufu modu
  • 0.02 ° C ölçüm çözünürlüğü
  • SMBus uyumlu dijital arabirim

MLX90614 Kızılötesi Sıcaklık Sensörü

 

MLX90614 Pin Çıkışları:

Arduino ile MLX90614 Bağlantısı:

MLX90614 I2C üzerinden veri iletişimi sağlar. VDD >> 3.3V , VSS >> GND , SCL >> A5 , SDA >> A4 pinlerine takınız. Ayrıca I2C pinlerine 4.7kΩ’luk direnç ekleyerek 3.3v a takınız.

Devre Şeması: 

Şekildeki gibi bağlantıları yapabilirsiniz.

Arduino Kütüphanesi: SparkFun MLX90614
Örnek Arduino Kodu:
/*
MLX90614 ------------- Arduino
VDD ------------------ 3.3V
VSS ------------------ GND
SDA ------------------ SDA (A4)
SCL ------------------ SCL (A5)
*/
#include <Wire.h>
#include <SparkFunMLX90614.h>

IRTherm therm;
const byte LED_PIN = 8;

void setup()
{
Serial.begin(9600);
therm.begin();
therm.setUnit(TEMP_F);
pinMode(LED_PIN, OUTPUT);
setLED(LOW);
}

void loop()
{
setLED(HIGH);

if (therm.read())
{
Serial.print("Object: " + String(therm.object(), 2));
Serial.write('°');
Serial.println("F");
Serial.print("Ambient: " + String(therm.ambient(), 2));
Serial.write('°');
Serial.println("F");
Serial.println();
}
setLED(LOW);
delay(500);
}

void setLED(bool on)
{
if (on)
digitalWrite(LED_PIN, LOW);
else
digitalWrite(LED_PIN, HIGH);
}
Kütüphane Fonksiyonları:
  •  IRTherm : Sensör nesnesi oluşturulur. Yukarıdaki kodda therm adında nesne tanımlandı. Aşağıdaki fonksiyonları da bu nesne üzerinden anlatacağım.
  • therm.setUnit(TEMP_F); Bu fonksiyonda sıcaklık ölçümünün hangi biriminde yapılacağı belirlenir.

TEMP_F >> Fahrenheit

TEMP_C >> Celsius

TEMP_K >> Kelvin

  • therm.read(): Sensörden veri alan fonksiyondur. Eğer bu fonksiyonu if içinde yazmanızda fayda var. Çünkü sensörden gelen veri varsa ekrana yazdırır yok ise ekrana yazdırmaz. Yani true false mantığında çalışarak, ekrana doğru verilerin yazılması sağlanır.
  • therm.object(): Nesnenin sıcaklığını okuyan fonksiyondur.
  • therm.ambient(): Ortamın sıcaklığını okuyan fonksiyondur.

Kaynak: MLX90614 IR Thermometer

Bunlar da İlgini Çekebilir
Cevap bırakın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

11 Yorum
  1. berre

    merhaba rfid kart okuyucu ile kimin sisteme giriş yaptığını gösterdikten sonra mesafeyi ölçtükten sonra sıcaklığı ölçerek oled ekranda gösterip servoyu çalıştıran bir bitirme projem var kodları yazdım ama c#veri tabanına aktardıktan sonra acces e kaydetmeyi yapamıyorum kodları atsam yardımcı olur musunuz acil çok vaktim kalmadı

  2. Murat

    Merhabalar benim sizden bir ricam var. 4WD robot kitine bağlamak şartıyla bluetooht kontrollu gy906 ile ateş ölçmek istiyorum. ateş 36 veya 37 dereceyi geçtiğinde buzzer ile uyarı verecek. Böyle bir projeyi nasıl yaparım.Yardımcı olabilir misiniz

  3. simal

    led ekran olmadan nasıl yapabiliriz

  4. omerornek12

    lütfen acil!!!!!!!!!!!

  5. omerornek12

    videodaki projede kullanılan tüm malzemeleri,bağlantı şeması ve arduino kodları gönderebilirmisiniz

  6. ömer sait

    videodaki şekilde projede kullanılan malzemeleri,bağlantı şeması ve arduino kodlarını gönderebilirmisiniz

    1. ömer sait

      çok aciiiiiiiiillll

  7. ömer

    videodaki şekilde hangi malzemeleri kullandınız.Bağlantı şemasını ve arduino kodunu gönderebilirmisiniz

  8. sami uzunçorap

    ne kadar mesafeden algılar ve toplu alımlardaki kolaylıklarınız nelerdir

  9. Eray

    MLX90614 Bu sensörü nerden bulabilirim???
    Bana 1 milion tane lazım.

    Acil ve ciddi bilgiler için çok sevinirim.
    Bana whatsapp ten ulaşabilirsiniz
    +4917645984539

  10. yasin

    Hocam öncelikle kolay gelsin aldığımız değeleri ekrana görsel olarak bakarak aldığımızı belirlediğimiz noktayı kontrol edip diğer pinlere belirli derecelerde işlem yaptırmak istiyorum yardımcı olabilirmisiniz