Arduino ile MLX90614 Kızılötesi Sıcaklık Sensörü Kullanımı
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 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
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ı
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
led ekran olmadan nasıl yapabiliriz
lütfen acil!!!!!!!!!!!
videodaki projede kullanılan tüm malzemeleri,bağlantı şeması ve arduino kodları gönderebilirmisiniz
videodaki şekilde projede kullanılan malzemeleri,bağlantı şeması ve arduino kodlarını gönderebilirmisiniz
çok aciiiiiiiiillll
videodaki şekilde hangi malzemeleri kullandınız.Bağlantı şemasını ve arduino kodunu gönderebilirmisiniz
ne kadar mesafeden algılar ve toplu alımlardaki kolaylıklarınız nelerdir
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
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