Mündəricat:

MCP9803 və Raspberry Pi istifadə edərək temperatur ölçülməsi: 4 addım
MCP9803 və Raspberry Pi istifadə edərək temperatur ölçülməsi: 4 addım

Video: MCP9803 və Raspberry Pi istifadə edərək temperatur ölçülməsi: 4 addım

Video: MCP9803 və Raspberry Pi istifadə edərək temperatur ölçülməsi: 4 addım
Video: BeagleBone Black MCP9803 Temperature Sensor 'C' code Tutorial 2024, Iyul
Anonim
Image
Image

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.

Bu dərslikdə MCP9803 sensor modulunun moruq pi ilə əlaqəsi nümayiş olunur və Java dilindən istifadə edərək proqramlaşdırılması da təsvir edilmişdir. İstilik dəyərlərini oxumaq üçün I2C adapterli moruq pi istifadə etdik. Bu I2C adapteri sensor moduluna qoşulmağı asanlaşdırır və daha etibarlıdır.

Addım 1: Lazım olan avadanlıq:

Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur

Məqsədimizə çatmaq üçün ehtiyacımız olan materiallar aşağıdakı aparat komponentlərindən ibarətdir:

1. MCP9803

2. Moruq pi

3. I2C Kabeli

4. Moruq pi üçün I2C Shield

5. Ethernet Kabeli

Addım 2: Hardware Bağlantısı:

Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama

Avadanlıq bağlama bölməsi əsasən sensor və moruq pi arasında lazım olan tel əlaqələrini izah edir. İstənilən çıxış üçün hər hansı bir sistem üzərində işləyərkən düzgün əlaqələrin təmin edilməsi əsas zərurətdir. Beləliklə, zəruri əlaqələr aşağıdakılardır:

MCP9803 I2C üzərində işləyəcək. Sensorun hər bir interfeysini necə bağlayacağınızı göstərən nümunə naqillər diaqramı.

Qutudan kənarda, lövhə I2C interfeysi üçün konfiqurasiya olunmuşdur, buna görə də başqa cür agnostiksinizsə bu əlaqəni istifadə etməyi məsləhət görürük.

Lazım olan tək şey dörd teldir! Vcc, Gnd, SCL və SDA pinləri üçün yalnız dörd əlaqə lazımdır və bunlar I2C kabelinin köməyi ilə bağlanır.

Bu əlaqələr yuxarıdakı şəkillərdə göstərilmişdir.

Addım 3: Temperatur Ölçmə Kodu:

İstilik Ölçmə Kodu
İstilik Ölçmə Kodu

Moruq pi istifadə etmənin üstünlüyü, sensoru onunla əlaqələndirmək üçün lövhəni proqramlaşdırmaq istədiyiniz proqramlaşdırma dilinin rahatlığını təmin edir. Bu lövhənin bu üstünlüyündən istifadə edərək burada Java dilində proqramlaşdırıldığını nümayiş etdiririk. MCP9803 üçün java kodunu Dcube Mağazası olan Github cəmiyyətimizdən yükləyə bilərsiniz.

İstifadəçilərin rahatlığı üçün, kodu da burada izah edirik:

Kodlaşdırmanın ilk addımı olaraq java vəziyyətində pi4j kitabxanasını yükləməlisiniz, çünki bu kitabxana kodda istifadə olunan funksiyaları dəstəkləyir. Beləliklə, kitabxananı yükləmək üçün aşağıdakı linkə daxil ola bilərsiniz:

pi4j.com/install.html

Bu sensor üçün işləyən java kodunu buradan da kopyalaya bilərsiniz:

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; 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);

}

}

Sensor və lövhə arasında i2c əlaqəsini asanlaşdıran kitabxana pi4j -dir, onun müxtəlif paketləri I2CBus, I2CDevice və I2CFactory əlaqəni qurmağa kömək edir.

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;

write () və read () funksiyaları, sensorun müəyyən bir rejimdə işləməsini təmin etmək və sensor çıxışını oxumaq üçün bəzi xüsusi əmrləri yazmaq üçün istifadə olunur.

Sensorun çıxışı da yuxarıdakı şəkildə göstərilmişdir.

Addım 4: Tətbiqlər:

Tətbiqlər
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.

Tövsiyə: