Raspberry Pi MCP9803 Temperatursensor Java Tutorial - Gunook
Raspberry Pi MCP9803 Temperatursensor Java Tutorial - Gunook
Anonim
Image
Image

MCP9803 ist ein hochgenauer 2-Draht-Temperatursensor. Sie sind mit benutzerprogrammierbaren Registern ausgestattet, die Temperaturerfassungsanwendungen erleichtern. Dieser Sensor ist für hochentwickelte Mehrzonen-Temperaturüberwachungssysteme geeignet. Hier ist die Demonstration mit einem Java-Code mit Raspberry Pi.

Schritt 1: Was Sie brauchen.

Was du brauchst..!!
Was du brauchst..!!

1. Himbeer-Pi

2. MCP9803

3. I²C-Kabel

4. I²C-Shield für Raspberry Pi

5. Ethernet-Kabel

Schritt 2: Verbindungen

Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse

Nehmen Sie ein I2C-Schild für Himbeer-Pi und schieben Sie es vorsichtig über die gpio-Pins von Himbeer-Pi.

Verbinden Sie dann das eine Ende des I2C-Kabels mit dem MCP9803-Sensor und das andere Ende mit der I2C-Abschirmung.

Verbinden Sie auch das Ethernet-Kabel mit dem Pi oder verwenden Sie ein WiFi-Modul. Die Anschlüsse sind im Bild oben dargestellt.

Schritt 3: Code

Code
Code

Der Java-Code für MCP9803 kann von unserem Github-Repository heruntergeladen werden - Dcube Store

Hier der Link dazu:

github.com/DcubeTechVentures/MCP9803/blob/master/Java/MCP9803.java

Wir haben die pi4j-Bibliothek für Java-Code verwendet, die Schritte zur Installation von pi4j auf Raspberry Pi sind hier beschrieben:

pi4j.com/install.html

Sie können den Code auch von hier kopieren, er wird wie folgt angegeben:

// Wird mit einer frei wählbaren Lizenz vertrieben.

// Verwenden Sie es, wie Sie wollen, gewinnbringend oder kostenlos, sofern es in die Lizenzen der zugehörigen Werke passt.

// MCP9803

// Dieser Code wurde entwickelt, um mit dem MCP9808_I2CS I2C Mini Module zu arbeiten

com.pi4j.io.i2c. I2CBus importieren;

com.pi4j.io.i2c. I2CDevice importieren;

com.pi4j.io.i2c. I2CFactory importieren;

import java.io. IOException;

öffentliche Klasse MCP9803

{

public static void main(String args) löst Ausnahme aus

{

// I2C-Bus erstellen

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

// I2C-Gerät abrufen, MCP9803 I2C-Adresse ist 0x48(72)

I2CDevice-Gerät = Bus.getDevice(0x48);

// Konfigurationsregister auswählen

// Kontinuierlicher Konvertierungsmodus, Einschalten, Komparatormodus, 12-Bit-Auflösung

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

Thread.sleep(500);

// 2 Byte Daten von Adresse 0x00(0) lesen

// temp msb, temp lsb

Byte Daten = neues Byte[2];

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

// Konvertieren Sie die Daten in 12-Bit

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

wenn (temp > 2047)

{

Temperatur -= 4096;

}

doppeltes cTemp = temp * 0,0625;

doppeltes fTemp = cTemp * 1,8 + 32;

// Daten auf Bildschirm ausgeben

System.out.printf("Temperatur in Celsius ist: %.2f C %n", cTemp);

System.out.printf("Temperatur in Fahrenheit ist: %.2f F %n", fTemp);

}

}

Schritt 4: Bewerbungen..:

MCP9803 kann in einem weiten Bereich von Geräten eingesetzt werden, die Personalcomputer und Peripheriegeräte, Festplattenlaufwerke, verschiedene Unterhaltungssysteme, Bürosysteme und Datenkommunikationssysteme umfassen. Dieser Sensor kann in verschiedene anspruchsvolle Systeme integriert werden.