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 parçacık foton ile gösterimi.
Adım 1: İhtiyacınız Olan Şey…!
1. Parçacık Fotonu
2. TCN75A
3. I²C Kablosu
4. Parçacık Fotonu için I²C Kalkanı
Adım 2: Bağlantılar:
Parçacık fotonu için bir I2C kalkanı alın ve yavaşça parçacık fotonun 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'nın parçacık kodu, github depomuz-DCUBE Store'dan indirilebilir.
İşte aynısı için bağlantı:
github.com/DcubeTechVentures/TCN75A/blob/master/Particle/TCN75A.ino
Partikül kodu için application.h ve spark_wiring_i2c.h olan iki kitaplık kullandık. Sensörle I2C iletişimini kolaylaştırmak için Spark_wiring_i2c kitaplığı gereklidir.
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
#Dahil etmek
// TCN75A I2C adresi 0x48(72)
#define Addr 0x48
float cTemp = 0.0, fTemp = 0.0;
int sıcaklık = 0;
geçersiz kurulum()
{
// Değişken ayarla
Particle.variable("i2ccihaz", "TCN75A");
Particle.variable("cTemp",cTemp);
// 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 bite dönüştürün
temp = (((veri[0] * 256) + (veri[1] & 0xF0)) / 16);
if(sıcaklık > 2047)
{
sıcaklık -= 4096;
}
cTemp = sıcaklık * 0.0625;
fTemp = (cTemp * 1.8) + 32;
// Gösterge tablosuna veri çıkışı
Particle.publish("Sıcaklık Santigrat Olarak: ", String(cTemp));
Particle.publish("Sıcaklık Fahrenhayt Olarak: ", String(fTemp));
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.