2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
TCN75A, sıcaklıktan dijitale dönüştürücüyle birleştirilmiş iki kablolu seri sıcaklık sensörüdür. Sıcaklık algılama uygulamaları için esneklik sağlayan kullanıcı tarafından programlanabilir kayıtlarla birleştirilmiştir. Kayıt ayarları, kullanıcıların güç tasarrufu modu, kapatma modu, tek çekim modu vb. yapılandırmasına olanak tanır. Sensör, tek bir seri veri yolunda sekiz adede kadar cihazın bağlantısını kolaylaştırabilen i2c uyumlu bir seri arayüze sahiptir. İşte arduino nano ile gösterimi.
Adım 1: İhtiyacınız Olan Şey..!
1. Arduino Nano
2. TCN75A
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 TCN75A 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:
TCN75A için Arduino kodu, Github deposu-DCUBE Mağazamızdan indirilebilir.
İşte aynısı için bağlantı:
github.com/DcubeTechVentures/TCN75A/blob/master/Arduino/TCN75A.ino
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.
// TCN75A
// Bu kod, TCN75A_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.
#Dahil etmek
// TCN75A I2C adresi 0x48(72)
#define Addr 0x48
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 iletimini başlat
Wire.beginTransmission(Adr);
// Yapılandırma kaydını seç
Wire.write(0x01);
// 12 bit ADC çözünürlüğü
Wire.write(0x60);
// I2C iletimini durdur
Wire.endTransmission();
gecikme(300);
}
boşluk döngüsü()
{
imzasız int veri[2];
// I2C iletimini başlat
Wire.beginTransmission(Adr);
// Veri kaydını seç
Wire.write(0x00);
// I2C iletimini durdur
Wire.endTransmission();
// 2 bayt veri iste
Wire.requestFrom(Adr, 2);
// 2 bayt veri oku
// temp msb, temp lsb
if (Wire.available() == 2)
{
data[0] = Wire.read();
data[1] = Wire.read();
}
// Veriyi 12 bit'e çevir
int temp = (((veri[0] * 256) + (veri[1] & 0xF0)) / 16);
if(sıcaklık > 2047)
{
sıcaklık -= 4096;
}
kayan nokta cTemp = sıcaklık * 0.0625;
float 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(1000);
}
Adım 4: Uygulamalar:
TCN75A, kişisel bilgisayarlarda ve sunucularda kullanılabilen bir sıcaklık sensörüdür. Ayrıca eğlence sistemlerinde, ofis ekipmanlarında, hard disk sürücülerinde ve diğer PC çevre birimlerinde de kullanılabilir. Bu sensör ayrıca veri iletişim ekipmanlarında da uygulama bulur.