2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
TCN75A, temperatur-rəqəmsal çeviriciyə malik iki telli serial temperatur sensoru. İstilik algılayıcı tətbiqlər üçün rahatlıq təmin edən istifadəçi tərəfindən proqramlaşdırıla bilən qeydlər ilə birləşdirilmişdir. Qeyd parametrləri istifadəçilərə enerji qənaət rejimini, söndürmə rejimini, bir çəkiliş rejimini və s. Konfiqurasiya etməyə imkan verir. Sensor bir seriyalı avtobusda səkkizə qədər cihazın əlaqəsini asanlaşdıra bilən i2c uyğun serial interfeysinə malikdir. İşdə arduino nano ilə nümayişidir.
Addım 1: Nə Lazımdır..
1. Arduino Nano
2. TCN75A
3. I²C Kabel
4. Arduino Nano üçün I²C Shield
Addım 2: Bağlantı:
Arduino Nano üçün bir I2C qalxanı götürün və Nanonun sancaqlarından yumşaq bir şəkildə itələyin.
Sonra I2C kabelinin bir ucunu TCN75A sensoruna, digər ucunu isə I2C ekranına bağlayın.
Bağlantılar yuxarıdakı şəkildə göstərilmişdir.
Addım 3: Kod:
TCN75A üçün Arduino kodu Github depomuzdan yüklənə bilər-DCUBE Mağazası.
İşdə bunun üçün bağlantı:
github.com/DcubeTechVentures/TCN75A/blob/master/Arduino/TCN75A.ino
Sensorun Arduino lövhəsi ilə I2c əlaqəsini asanlaşdırmaq üçün Wire.h kitabxanasına daxildir. Kodu buradan da kopyalaya bilərsiniz, belə verilir:
// Azad iradə lisenziyası ilə paylanmışdır.
// İstənilən şəkildə, mənfəət və ya pulsuz istifadə edin, əlaqəli əsərlərinin lisenziyalarına uyğun gəlir.
// TCN75A
// Bu kod TCN75A_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır
#daxil edin
// TCN75A I2C ünvanı 0x48 (72)
#define Addr 0x48
boş quraşdırma ()
{
// I2C ünsiyyətini Master olaraq başladın
Wire.begin ();
// Serial rabitəni işə salın, baud dərəcəsini = 9600 olaraq təyin edin
Serial.begin (9600);
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Konfiqurasiya qeydini seçin
Wire.write (0x01);
// 12 bit ADC qətnaməsi
Wire.write (0x60);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
gecikmə (300);
}
boşluq döngəsi ()
{
imzasız int məlumatları [2];
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Məlumat qeydini seçin
Wire.write (0x00);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// 2 bayt məlumat tələb edin
Wire.requestFrom (Addr, 2);
// 2 bayt məlumat oxuyun
// temp msb, temp lsb
əgər (Tel.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Məlumatı 12 bitə çevirin
int temp = (((data [0] * 256) + (data [1] & 0xF0)) / 16);
əgər (temp> 2047)
{
temperatur -= 4096;
}
float cTemp = temp * 0.0625;
float fTemp = (cTemp * 1.8) + 32;
// Məlumatların serial monitora çıxarılması
Serial.print ("Selsi temperaturu:");
Serial.print (cTemp); Serial.println ("C");
Serial.print ("Fahrenheitdəki temperatur:");
Serial.print (fTemp);
Serial.println ("F");
gecikmə (1000);
}
Addım 4: Tətbiqlər:
TCN75A, fərdi kompüterlərdə və serverlərdə istifadə edilə bilən bir temperatur sensoru, həm də əyləncə sistemlərində, ofis avadanlıqlarında, hars disk sürücülərində və digər PC ətraf qurğularında yerləşdirilə bilər.