İçindekiler:

Raspberry Pi MCP9805 Sıcaklık Sensörü Java Eğitimi: 4 Adım
Raspberry Pi MCP9805 Sıcaklık Sensörü Java Eğitimi: 4 Adım

Video: Raspberry Pi MCP9805 Sıcaklık Sensörü Java Eğitimi: 4 Adım

Video: Raspberry Pi MCP9805 Sıcaklık Sensörü Java Eğitimi: 4 Adım
Video: Raspberry Pi MCP9805 Temperature Sensor Java Tutorial 2024, Temmuz
Anonim
Image
Image

MCP9805, bir bellek modülü dijital 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. Bu sensör, mobil platform bellek modülü sıcaklık sensörüne dahil edilmek üzere tasarlanmıştır. İşte Raspberry Pi kullanan bir java kodu ile gösterim.

Adım 1: İhtiyacınız Olan Şey..!

Neye ihtiyacın var..!!
Neye ihtiyacın var..!!

1. Ahududu Pi

2. MCP9805

3. I²C Kablosu

4. Raspberry Pi için I²C Kalkanı

5. Ethernet Kablosu

2. Adım: Bağlantılar

Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar

Ahududu pi için bir I2C kalkanı alın ve ahududu pi'nin gpio pimlerinin üzerine hafifçe itin.

Ardından I2C kablosunun bir ucunu MCP9805 sensörüne ve diğer ucunu I2C blendajına bağlayın.

Ayrıca Ethernet kablosunu pi'ye bağlayın veya bir WiFi modülü kullanabilirsiniz. Bağlantılar yukarıdaki resimde gösterilmiştir.

3. Adım: Kodlayın

kod
kod

MCP9805 için java kodu GitHub deposu-Dcube Mağazamızdan indirilebilir.

İşte aynısı için bağlantı:

github.com/DcubeTechVentures/MCP9805

MCP9805'in veri sayfası burada bulunabilir:

ww1.microchip.com/downloads/en/DeviceDoc/21…

Java kodu için pi4j kütüphanesini kullandık, ahududu pi üzerine pi4j kurulum adımları burada açıklanmıştır:

pi4j.com/install.html

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.

// MCP9805

// Bu kod, Dcube Store'da bulunan MCP9808_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.

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;

genel sınıf MCP9805

{

public static void main(String args) İstisna atar

{

// I2C veri yolu oluştur

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

// I2C cihazını al, MCP9805 I2C adresi 0x18(24)

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

Thread.sleep(300);

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

// Sürekli dönüştürme modu, Güçlendirme

bayt yapılandırma = yeni bayt[2];

yapılandırma[0] = 0x00;

yapılandırma[1] = 0x00;

device.write(0x01, yapılandırma, 0, 2);

// Çözünürlük kaydı seç

// Çözünürlük = +0.0625 / C

device.write(0x08, (bayt)0x03);

Thread.sleep(300);

// 0x05(05) adresinden 2 bayt veri oku

// temp msb, temp lsb

bayt veri = yeni bayt[2];

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

// Veriyi 13 bit'e çevir

int temp = ((veri[0] ve 0x1F) * 256 + (veri[1] ve 0xFF));

if(sıcaklık > 4095)

{

sıcaklık -= 8192;

}

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

}

}

Adım 4: Uygulamalar..:

MCP9805, ikili hat içi bellek modülü (DIMM) sıcaklık izleme sistemleri, kişisel bilgisayarlar ve sunucuları içeren çeşitli sistemlere dahil edilebilir. Genellikle, genel amaçlı bir sıcaklık sensörü olarak kullanılabilir.

Önerilen: