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 Arduino Nano ile yapılan gösteri.
Adım 1: İhtiyacınız Olan Şey..!
1. Arduino Nano
2. TMP100
3. I²C Kablosu
4. Arduino Nano için I²C Kalkanı
Adım 2: Bağlantı:
Arduino Nano için bir I2C kalkanı alın ve yavaşça Nano'nun pimlerinin üzerine itin.
Ardından I2C kablosunun bir ucunu TMP100 sensörüne ve diğer ucunu I2C blendajına bağlayın.
Bağlantılar yukarıdaki resimde gösterilmiştir.
Adım 3: Kod:
TMP100 için Arduino kodu GitHub deposu-Dcube Mağazamızdan indirilebilir.
İşte aynısı için bağlantı:
github.com/DcubeTechVentures/TMP100..
Sensörün Arduino kartı ile I2c iletişimini kolaylaştırmak için Wire.h kitaplığını ekledik.
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.
#Dahil etmek
// TMP100 I2C adresi 0x4F(79)
#define Addr 0x4F
geçersiz kurulum()
{
// I2C iletişimini MASTER olarak başlat
Wire.begin();
// Seri iletişimi başlat, baud hızını ayarla = 9600
Seri.başla(9600);
// I2C İletimini Başlat
Wire.beginTransmission(Adr);
// Yapılandırma kaydını seç
Wire.write(0x01);
// Sürekli dönüştürme, karşılaştırma modu, 12 bit çözünürlük ayarla
Wire.write(0x60);
// I2C İletimini Durdur
Wire.endTransmission();
gecikme(300);
}
boşluk döngüsü()
{
imzasız int veri[2];
// I2C İletimini Başlat
Wire.beginTransmission(Adr);
// Veri kaydını seç
Wire.write(0x00);
// I2C İletimini Durdur
Wire.endTransmission();
// 2 bayt veri iste
Wire.requestFrom(Adr, 2);
// 2 bayt veri oku
// cTemp msb, cTemp lsb
if(Wire.available() == 2)
{
data[0] = Wire.read();
data[1] = Wire.read();
}
// Verileri dönüştür
float cTemp = (((veri[0] * 256) + (veri[1] & 0xF0)) / 16) * 0.0625;
kayan nokta fTemp = cTemp * 1.8 + 32;
// Verileri seri monitöre çıkar
Serial.print("Sıcaklık Santigrat Olarak: ");
Seri.print(cTemp);
Serial.println("C");
Serial.print("Sıcaklık Fahrenhayt Olarak: ");
Seri.print(fTemp);
Serial.println("F");
gecikme(500);
}
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.