İçindekiler:
- Adım 1: Donanım Gerekli:
- Adım 2: Donanım Bağlantısı:
- Adım 3: Sıcaklık Ölçümü için Java Kodu:
- Adım 4: Uygulamalar:
Video: TMP112 ve Raspberry Pi Kullanarak Sıcaklık Ölçümü: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
TMP112 Yüksek Doğruluk, Düşük Güç, Dijital Sıcaklık Sensörü I2C MINI modülü. TMP112, genişletilmiş sıcaklık ölçümü için idealdir. Bu cihaz, kalibrasyon veya harici bileşen sinyal koşullandırma gerektirmeden ±0.5°C doğruluk sunar.
Bu eğitimde, TMP112 sensör modülünün ahududu pi ile arayüzlenmesi ve Java dili kullanılarak programlanması da gösterilmiştir. Sıcaklık değerlerini okumak için I2c adaptörlü ahududu pi kullandık. Bu I2C adaptörü sensör modülüne bağlantıyı daha kolay ve daha güvenilir hale getiriyor.
Adım 1: Donanım Gerekli:
Hedefimizi gerçekleştirmek için ihtiyaç duyduğumuz malzemeler aşağıdaki donanım bileşenlerini içerir:
1. TMP112
2. Ahududu Pi
3. I2C Kablosu
4. Ahududu pi için I2C Kalkanı
Adım 2: Donanım Bağlantısı:
Donanım bağlantısı bölümü temel olarak sensör ve ahududu pi arasında gerekli olan kablo bağlantılarını açıklar. İstenilen çıktı için herhangi bir sistem üzerinde çalışırken doğru bağlantıların sağlanması temel zorunluluktur. Yani, gerekli bağlantılar aşağıdaki gibidir:
TMP112, I2C üzerinden çalışacaktır. Sensörün her bir arayüzünün nasıl bağlanacağını gösteren örnek kablo şeması buradadır.
Kutudan çıktığı gibi, kart bir I2C arayüzü için yapılandırılmıştır, bu nedenle, aksi takdirde agnostik iseniz bu bağlantıyı kullanmanızı öneririz. Tek ihtiyacınız olan dört tel!
Vcc, Gnd, SCL ve SDA pinlerinden sadece dört bağlantı gereklidir ve bunlar I2C kablosu yardımıyla bağlanır.
Bu bağlantılar yukarıdaki resimlerde gösterilmiştir.
Adım 3: Sıcaklık Ölçümü için Java Kodu:
Raspberry pi kullanmanın avantajı, kartı programlamak istediğiniz programlama dilinin, sensör ile arayüz oluşturmak için size esneklik sağlamasıdır. Bu kartın bu avantajından yararlanarak, burada Java'da programlama olduğunu gösteriyoruz. TMP112 için java kodu, Dcube Store olan GitHub topluluğumuzdan indirilebilir.
Kullanıcıların kolaylığının yanı sıra, kodu burada da açıklıyoruz:
Kodlamanın ilk adımı olarak java durumunda pi4j kütüphanesini indirmeniz gerekiyor çünkü bu kütüphane kodda kullanılan fonksiyonları destekliyor. Bu nedenle, kütüphaneyi indirmek için aşağıdaki bağlantıyı ziyaret edebilirsiniz:
pi4j.com/install.html
Bu sensör için çalışan Java kodunu buradan da kopyalayabilirsiniz:
com.pi4j.io.i2c. I2CBus'u içe aktarın;
com.pi4j.io.i2c. I2CDevice'ı içe aktarın;
com.pi4j.io.i2c. I2CFFactory'yi içe aktarın;
java.io. IOException'ı içe aktarın;
genel sınıf TMP112
{
public static void main(String args) İstisna atar
{
// I2C veri yolu oluştur
I2CBus veri yolu = I2CFactory.getInstance(I2CBus. BUS_1);
// I2C cihazını al, TMP112 I2C adresi 0x48(72)
I2CDevice cihazı = bus.getDevice(0x48);
bayt yapılandırma = yeni bayt[2];
// Sürekli Dönüştürme modu, 12-Bit Çözünürlük, Hata Kuyruğu 1
config[0] = (bayt)0x60;
// Polarite düşük, Termostat Karşılaştırıcı modunda, Kapatma modunu devre dışı bırakır
config[1] = (bayt)0xA0;
// 0x01(1) kaydı için config yaz
device.write(0x01, yapılandırma, 0, 2);
thread.sleep(500);
// 0x00(0) adresinden 2 Bayt veri oku, önce msb
bayt veri = yeni bayt[2];
device.read(0x00, veri, 0, 2);
// Verileri dönüştür
int temp = (((veri[0] & 0xFF) * 256) + (veri[1] & 0xFF))/16;
if(sıcaklık > 2047)
{
sıcaklık -= 4096;
}
çift cTemp = sıcaklık * 0.0625;
çift fTemp = cTemp * 1.8 + 32;
// Ekrana çıktı
System.out.printf("Sıcaklık Santigrat olarak: %.2f C %n", cTemp);
System.out.printf("Sıcaklık Fahrenheit cinsinden: %.2f F %n", fTemp);
}
}
Sensör ve kart arasındaki i2c iletişimini kolaylaştıran kütüphane pi4j'dir, çeşitli paketleri I2CBus, I2CDevice ve I2CFctory bağlantının kurulmasına yardımcı olur.
com.pi4j.io.i2c. I2CBus'u içe aktar; com.pi4j.io.i2c. I2CDevice'ı içe aktar; com.pi4j.io.i2c. I2CFFactory'yi içe aktarın; java.io. IOException'ı içe aktarın;
write() ve read() işlevleri, sensöre belirli bir modda çalışmasını sağlamak için belirli komutlar yazmak ve sırasıyla sensör çıktısını okumak için kullanılır.
Sensörün çıkışı da yukarıdaki resimde gösterilmektedir.
Adım 4: Uygulamalar:
TMP112 düşük güç, yüksek doğruluklu dijital sıcaklık sensörünü içeren çeşitli uygulamalar arasında Güç Kaynağı Sıcaklık İzleme, Bilgisayar Çevresel Termal Koruma, Pil Yönetimi ve ofis makineleri bulunur.
Önerilen:
AD7416ARZ ve Raspberry Pi Kullanarak Sıcaklık Ölçümü: 4 Adım
AD7416ARZ ve Raspberry Pi Kullanarak Sıcaklık Ölçümü: AD7416ARZ, dört adet tek kanallı analog-dijital dönüştürücü ve içinde yerleşik bir sıcaklık sensörü bulunan 10-Bit sıcaklık sensörüdür. Parçaların üzerindeki sıcaklık sensörüne multiplexer kanalları üzerinden erişilebilir. Bu yüksek hassasiyetli sıcaklık
TMP112 ve Arduino Nano Kullanarak Sıcaklık Ölçümü: 4 Adım
TMP112 ve Arduino Nano Kullanarak Sıcaklık Ölçümü: TMP112 Yüksek Doğruluk, Düşük Güç, Dijital Sıcaklık Sensörü I2C MINI modülü. TMP112, genişletilmiş sıcaklık ölçümü için idealdir. Bu cihaz, kalibrasyon veya harici bileşen sinyal koşullandırma gerektirmeden ±0.5°C doğruluk sunar.I
STS21 ve Raspberry Pi Kullanarak Sıcaklık Ölçümü: 4 Adım
STS21 ve Raspberry Pi Kullanarak Sıcaklık Ölçümü: STS21 Dijital Sıcaklık Sensörü, üstün performans ve yerden tasarruf sağlayan bir ayak izi sunar. Dijital, I2C formatında kalibre edilmiş, doğrusallaştırılmış sinyaller sağlar. Bu sensörün üretimi, üstün özelliklere atfedilen CMOSens teknolojisine dayanmaktadır
TMP112 ve Parçacık Fotonu Kullanarak Sıcaklık Ölçümü: 4 Adım
TMP112 ve Partikül Fotonu Kullanarak Sıcaklık Ölçümü: TMP112 Yüksek Doğruluk, Düşük Güç, Dijital Sıcaklık Sensörü I2C MINI modülü. TMP112, genişletilmiş sıcaklık ölçümü için idealdir. Bu cihaz, kalibrasyon veya harici bileşen sinyal koşullandırma gerektirmeden ±0.5°C doğruluk sunar.I
HTS221 ve Raspberry Pi Kullanarak Nem ve Sıcaklık Ölçümü: 4 Adım
HTS221 ve Raspberry Pi Kullanarak Nem ve Sıcaklık Ölçümü: HTS221, bağıl nem ve sıcaklık için ultra kompakt kapasitif bir dijital sensördür. Dijital seri aracılığıyla ölçüm bilgilerini sağlamak için bir algılama elemanı ve karma sinyal uygulamasına özel entegre devre (ASIC) içerir