2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
MCP9803, 2 telli yüksək dəqiqlikli temperatur sensoru. İstilik algılama tətbiqlərini asanlaşdıran istifadəçi tərəfindən proqramlaşdırıla bilən qeydlər ilə təcəssüm olunur. Bu sensor yüksək səviyyəli çox zonalı temperatur izləmə sistemi üçün uyğundur. Burada Raspberry Pi istifadə edərək bir java kodu olan bir nümayişdir.
Addım 1: Nə Lazımdır..
1. Moruq Pi
2. MCP9803
3. I²C Kabel
4. Raspberry Pi üçün I²C Qalxanı
5. Ethernet Kabeli
Addım 2: Bağlantılar
Moruq pi üçün bir I2C qalxanı götürün və moruq pi -nin gpio sancaqlarının üzərinə yumşaq bir şəkildə itələyin.
Sonra I2C kabelinin bir ucunu MCP9803 sensoruna, digər ucunu isə I2C ekranına bağlayın.
Ayrıca Ethernet kabelini pi -yə qoşun və ya WiFi modulundan istifadə edə bilərsiniz. Bağlantılar yuxarıdakı şəkildə göstərilmişdir.
Addım 3: Kod
MCP9803 üçün java kodunu github depomuzdan- Dcube Mağazasından yükləyə bilərsiniz
İşdə bunun üçün bağlantı:
github.com/DcubeTechVentures/MCP9803/blob/master/Java/MCP9803.java
Java kodu üçün pi4j kitabxanasından istifadə etdik, moruq pi üzərində pi4j quraşdırma addımları burada təsvir edilmişdir:
pi4j.com/install.html
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.
// MCP9803
// Bu kod MCP9808_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır
com.pi4j.io.i2c. I2CBus idxal edin;
com.pi4j.io.i2c. I2CDevice idxal edin;
com.pi4j.io.i2c. I2CFactory idxal edin;
java.io. IOException idxal edin;
ictimai sinif MCP9803
{
public static void main (String args ) İstisna atır
{
// I2C avtobusu yaradın
I2CBus Avtobus = I2CFactory.getInstance (I2CBus. BUS_1);
// I2C cihazı alın, MCP9803 I2C ünvanı 0x48 (72)
I2CDevice cihazı = Bus.getDevice (0x48);
// Konfiqurasiya qeydini seçin
// Davamlı çevrilmə rejimi, Gücləndirmə, müqayisə rejimi, 12 bitlik qətnamə
device.write (0x01, (bayt) 0x60);
Thread.sleep (500);
// 0x00 (0) ünvanından 2 bayt məlumat oxuyun
// temp msb, temp lsb
bayt məlumat = yeni bayt [2];
device.read (0x00, data, 0, 2);
// Məlumatı 12 bitə çevirin
int temp = ((data [0] & 0xFF) * 256 + (data [1] & 0xF0)) / 16;
əgər (temp> 2047)
{
temperatur -= 4096;
}
ikiqat cTemp = temp * 0.0625;
ikiqat fTemp = cTemp * 1.8 + 32;
// Ekrana məlumat çıxarın
System.out.printf ("Selsi temperaturu: %.2f C %n", cTemp);
System.out.printf ("Fahrenheitdəki temperatur: %.2f F %n", fTemp);
}
}
Addım 4: Tətbiqlər..:
MCP9803, fərdi kompüter və ətraf qurğular, sabit disk sürücüləri, müxtəlif əyləncə sistemləri, ofis sistemləri və məlumat rabitə sistemləri daxil olmaqla geniş bir cihaz sahələrində istifadə edilə bilər. Bu sensor müxtəlif mürəkkəb sistemlərə daxil edilə bilər.