2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
TMP100 Yüksek Doğruluk, Düşük Güç, Dijital Sıcaklık Sensörü I2C MINI modülü. TMP100, genişletilmiş sıcaklık ölçümü için idealdir. Bu cihaz, kalibrasyon veya harici bileşen sinyal koşullandırma gerektirmeden ±1°C doğruluk sunar. İşte Raspberry Pi kullanan bir java kodu ile gösterim.
Adım 1: İhtiyacınız Olan Şey..!
1. Ahududu Pi
2. TMP100
3. I²C Kablosu
4. Raspberry Pi için I²C Kalkanı
5. Ethernet Kablosu
Adım 2: Bağlantı:
Ahududu pi için bir I2C kalkanı alın ve ahududu pi'nin gpio pimlerinin üzerine hafifçe itin.
Ardından I2C kablosunun bir ucunu TMP100 sensörüne ve diğer ucunu I2C blendajına bağlayın.
Ayrıca Ethernet kablosunu pi'ye bağlayın veya bir WiFi modülü kullanabilirsiniz.
Bağlantılar yukarıdaki resimde gösterilmiştir.
Adım 3: Kod:
TMP100 için java kodu GitHub depomuz-Dcube Store'dan indirilebilir.
İşte aynısı için bağlantı:
github.com/DcubeTechVentures/TMP100…
Java kodu için pi4j kütüphanesini kullandık, pi4j'yi ahududu pi'ye kurma adımları burada açıklanmıştır:
pi4j.com/install.html
Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:
// Özgür irade lisansıyla dağıtılır.
// İlişkili çalışmalarının lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın.
// TMP100
// Bu kod, Dcube Store'da bulunan TMP100_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.
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 TMP100
{
public static void main(String args) İstisna atar
{
// I2C veri yolu oluştur
I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1);
// I2C cihazını al, TMP100 I2C adresi 0x4F(79)
I2CDevice cihazı = Bus.getDevice(0x4F);
// Yapılandırma kaydını seç
// Sürekli dönüştürme, karşılaştırma modu, 12 bit çözünürlük
device.write(0x01, (bayt)0x60);
thread.sleep(500);
// 2 bayt veri oku
// temp msb, temp lsb
bayt veri = yeni bayt[2];
device.read(0x00, veri, 0, 2);
// Veriyi 12 bit'e çevir
int temp = ((veri[0] & 0xFF) * 256 + (veri[1] & 0xF0)) / 16;
if(sıcaklık > 2047)
{
sıcaklık -= 4096;
}
çift cTemp = sıcaklık * 0.0625;
çift fTemp = cTemp * 1.8 + 32;
// Ekrana veri çıktısı
System.out.printf("Sıcaklık Santigrat cinsinden: %.2f C %n", cTemp);
System.out.printf("Sıcaklık Fahrenhayt cinsinden: %.2f F %n", fTemp);
}
}
Adım 4: Uygulamalar:
TMP100 düşük güç, yüksek doğruluklu dijital sıcaklık sensörünü içeren çeşitli uygulamalar, Güç Kaynağı Sıcaklık İzleme, Bilgisayar Çevresel Termal Koruma, Pil Yönetimi ve ofis makinelerini içerir.