İçindekiler:

MCP9803 ve Raspberry Pi Kullanarak Sıcaklık Ölçümü: 4 Adım
MCP9803 ve Raspberry Pi Kullanarak Sıcaklık Ölçümü: 4 Adım

Video: MCP9803 ve Raspberry Pi Kullanarak Sıcaklık Ölçümü: 4 Adım

Video: MCP9803 ve Raspberry Pi Kullanarak Sıcaklık Ölçümü: 4 Adım
Video: Raspberry Pi MCP9803 Temperature Sensor Java Tutorial 2024, Kasım
Anonim
Image
Image

MCP9803, 2 telli yüksek hassasiyetli bir sıcaklık sensörüdür. Sıcaklık algılama uygulamalarını kolaylaştıran, kullanıcı tarafından programlanabilen kayıtlarla yapılandırılmışlardır. Bu sensör, son derece gelişmiş çok bölgeli sıcaklık izleme sistemi için uygundur.

Bu eğitimde, MCP9803 sensör modülünün ahududu pi ile arayüzlenmesi ve Java dili kullanılarak programlanması da gösterilmiştir. Sıcaklık değerlerini okumak için I2C adaptörlü ahududu pi kullandık. Bu I2C adaptörü sensör modülüne bağlantıyı daha kolay ve daha güvenilir hale getiriyor.

Adım 1: Donanım Gerekli:

Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım

Hedefimizi gerçekleştirmek için ihtiyaç duyduğumuz malzemeler aşağıdaki donanım bileşenlerini içerir:

1. MCP9803

2. Ahududu pi

3. I2C Kablosu

4. Ahududu pi için I2C Kalkanı

5. Ethernet Kablosu

Adım 2: Donanım Bağlantısı:

Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı

Donanım bağlantısı bölümü temel olarak sensör ve ahududu pi arasında gerekli olan kablo bağlantılarını açıklar. İstenilen çıktı için herhangi bir sistem üzerinde çalışırken doğru bağlantıların sağlanması temel zorunluluktur. Yani, gerekli bağlantılar aşağıdaki gibidir:

MCP9803, I2C üzerinden çalışacaktır. Sensörün her bir arayüzünün nasıl bağlanacağını gösteren örnek kablo şeması buradadır.

Kutudan çıktığı gibi, kart bir I2C arayüzü için yapılandırılmıştır, bu nedenle, aksi takdirde agnostik iseniz bu bağlantıyı kullanmanızı öneririz.

Tek ihtiyacınız olan dört tel! Vcc, Gnd, SCL ve SDA pinlerinden sadece dört bağlantı gereklidir ve bunlar I2C kablosu yardımıyla bağlanır.

Bu bağlantılar yukarıdaki resimlerde gösterilmiştir.

Adım 3: Sıcaklık Ölçümü Kodu:

Sıcaklık Ölçümü Kodu
Sıcaklık Ölçümü Kodu

Raspberry pi kullanmanın avantajı, kartı programlamak istediğiniz programlama dilinin, sensör ile arayüz oluşturmak için size esneklik sağlamasıdır. Bu kartın bu avantajından yararlanarak, burada Java'da programlama olduğunu gösteriyoruz. MCP9803 için java kodu, Dcube Store olan Github topluluğumuzdan indirilebilir.

Kullanıcıların kolaylığının yanı sıra, kodu burada da açıklıyoruz:

Kodlamanın ilk adımı olarak java durumunda pi4j kütüphanesini indirmeniz gerekiyor çünkü bu kütüphane kodda kullanılan fonksiyonları destekliyor. Bu nedenle, kütüphaneyi indirmek için aşağıdaki bağlantıyı ziyaret edebilirsiniz:

pi4j.com/install.html

Bu sensör için çalışan Java kodunu buradan da kopyalayabilirsiniz:

com.pi4j.io.i2c. I2CBus'u içe aktarın;

com.pi4j.io.i2c. I2CDevice'ı içe aktarın;

com.pi4j.io.i2c. I2CFFactory'yi içe aktarın;

java.io. IOException'ı içe aktar;genel sınıf MCP9803

{

public static void main(String args) İstisna atar

{

// I2C veri yolu oluştur

I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1);

// I2C cihazını al, MCP9803 I2C adresi 0x48(72)

I2CDevice cihazı = Bus.getDevice(0x48);

// Yapılandırma kaydını seç

// Sürekli dönüştürme modu, Güç açma, karşılaştırma modu, 12 bit çözünürlük

device.write(0x01, (bayt)0x60);

thread.sleep(500);

// 0x00(0) adresinden 2 bayt veri oku

// temp msb, temp lsb

bayt veri = yeni bayt[2];

device.read(0x00, veri, 0, 2);

// Veriyi 12 bit'e çevir

int temp = ((veri[0] & 0xFF) * 256 + (veri[1] & 0xF0)) / 16;

if(sıcaklık > 2047)

{

sıcaklık -= 4096;

}

çift cTemp = sıcaklık * 0.0625;

çift fTemp = cTemp * 1.8 + 32;

// Ekrana veri çıktısı

System.out.printf("Sıcaklık Santigrat olarak: %.2f C %n", cTemp);

System.out.printf("Sıcaklık Fahrenheit cinsinden: %.2f F %n", fTemp);

}

}

Sensör ve kart arasındaki i2c iletişimini kolaylaştıran kütüphane pi4j'dir, çeşitli paketleri I2CBus, I2CDevice ve I2CFctory bağlantının kurulmasına yardımcı olur.

com.pi4j.io.i2c. I2CBus'u içe aktarın;

com.pi4j.io.i2c. I2CDevice'ı içe aktarın;

com.pi4j.io.i2c. I2CFFactory'yi içe aktarın;

java.io. IOException'ı içe aktarın;

write() ve read() işlevleri, sensöre belirli bir modda çalışmasını sağlamak için belirli komutlar yazmak ve sırasıyla sensör çıktısını okumak için kullanılır.

Sensörün çıkışı da yukarıdaki resimde gösterilmektedir.

Adım 4: Uygulamalar:

Uygulamalar
Uygulamalar

MCP9803, kişisel bilgisayar ve çevre birimleri, sabit disk sürücüleri, çeşitli eğlence sistemleri, ofis sistemleri ve veri iletişim sistemlerini içeren geniş bir cihaz alanında kullanılabilir. Bu sensör çeşitli karmaşık sistemlere dahil edilebilir.

Önerilen: