Inhaltsverzeichnis:

Feuchtigkeitsmessung mit HYT939 und Raspberry Pi - Gunook
Feuchtigkeitsmessung mit HYT939 und Raspberry Pi - Gunook

Video: Feuchtigkeitsmessung mit HYT939 und Raspberry Pi - Gunook

Video: Feuchtigkeitsmessung mit HYT939 und Raspberry Pi - Gunook
Video: Kapazitive Feuchtemessung - So messt ihr die Feuchtigkeit in der Wand richtig. 2024, Juli
Anonim
Image
Image

HYT939 ist ein digitaler Feuchtigkeitssensor, der mit dem I2C-Kommunikationsprotokoll arbeitet. Luftfeuchtigkeit ist ein entscheidender Parameter, wenn es um medizinische Systeme und Labore geht. Um diese Ziele zu erreichen, haben wir versucht, HYT939 mit Raspberry Pi zu verbinden. In diesem Tutorial wird die Anbindung des HYT939 Sensormoduls an Raspberry Pi demonstriert und auch seine Programmierung mit Java veranschaulicht.

Zum Auslesen der Feuchtewerte haben wir Himbeer-Pi mit einem I2C-Adapter verwendet. Dieser I2C-Adapter macht die Verbindung zum Sensormodul einfach und zuverlässiger.

Schritt 1: Erforderliche Hardware:

Erforderliche Hardware
Erforderliche Hardware
Erforderliche Hardware
Erforderliche Hardware
Erforderliche Hardware
Erforderliche Hardware

Zur Ausführung der Aufgabe wird folgende Hardware benötigt:

1. HYT939

2. Himbeer-Pi

3. I2C-Kabel

4. I2C-Schild für Raspberry Pi

5. Ethernet-Kabel

-

Schritt 2: Hardwareanschluss:

Hardware-Anschluss
Hardware-Anschluss
Hardware-Anschluss
Hardware-Anschluss

Der Abschnitt zum Hardwareanschluss erklärt im Wesentlichen die erforderlichen Kabelverbindungen zwischen dem Sensor und dem Himbeer-Pi. Die Sicherstellung korrekter Verbindungen ist die Grundvoraussetzung bei der Arbeit an jedem System für die gewünschte Ausgabe. Die erforderlichen Verbindungen sind also wie folgt:

Der HYT939 funktioniert über I2C. Hier ist das Beispiel-Verdrahtungsdiagramm, das zeigt, wie jede Schnittstelle des Sensors verdrahtet wird.

Out-of-the-box ist das Board für eine I2C-Schnittstelle konfiguriert, daher empfehlen wir, diesen Anschluss zu verwenden, wenn Sie ansonsten agnostisch sind. Alles was Sie brauchen sind vier Drähte!

Es werden nur vier Anschlüsse benötigt Vcc, Gnd, SCL und SDA Pins und diese werden mit Hilfe von I2C Kabel verbunden.

Diese Verbindungen sind in den obigen Bildern dargestellt.

Schritt 3: Java-Code zur Feuchtemessung:

Java-Code zur Feuchtemessung
Java-Code zur Feuchtemessung
Java-Code zur Feuchtemessung
Java-Code zur Feuchtemessung

Der Vorteil der Verwendung von Raspberry Pi besteht darin, dass Sie die Flexibilität der Programmiersprache haben, in der Sie das Board programmieren möchten, um den Sensor damit zu verbinden. Diesen Vorteil dieses Boards nutzend, demonstrieren wir hier seine Programmierung in Java. Der Java-Code für HYT939 kann von unserer Github-Community, dem Dcube Store, heruntergeladen werden.

Neben der Benutzerfreundlichkeit erklären wir den Code auch hier:

Als ersten Schritt der Codierung müssen Sie im Falle von Java die pi4j-Bibliothek herunterladen, da diese Bibliothek die im Code verwendeten Funktionen unterstützt. Um die Bibliothek herunterzuladen, können Sie den folgenden Link besuchen:

pi4j.com/install.html

Sie können den funktionierenden Java-Code für diesen Sensor auch von hier kopieren:

com.pi4j.io.i2c. I2CBus importieren;

com.pi4j.io.i2c. I2CDevice importieren;

com.pi4j.io.i2c. I2CFactory importieren;

import java.io. IOException;

öffentliche Klasse HYT939

{

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

{

// I2CBus erstellen

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

// I2C-Gerät abrufen, HYT939 I2C-Adresse ist 0x28(40)

I2CDevice-Gerät = bus.getDevice(0x28);

// Befehl im Normalmodus senden

device.write ((Byte) 0x80);

Thread.sleep(500);

// 4 Byte Daten lesen

// Luftfeuchtigkeit msb, Luftfeuchtigkeit lsb, temp msb, temp lsb

Byte Daten = neues Byte[4];

device.read (Daten, 0, 4);

// Konvertieren Sie die Daten in 14-Bit

doppelte Feuchtigkeit = (((data[0] & 0x3F) * 256) + (data[1] & 0xFF)) * (100,0 / 16383.0);

double cTemp = ((((Daten[2] & 0xFF) * 256) + (Daten[3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;

doppeltes fTemp = (cTemp * 1,8) + 32;

// Daten auf Bildschirm ausgeben

System.out.printf("Relative Feuchtigkeit ist: %.2f %%RH %n", Feuchtigkeit);

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

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

}

}

Die Bibliothek, die die i2c-Kommunikation zwischen Sensor und Board ermöglicht, ist pi4j, seine verschiedenen Pakete I2CBus, I2CDevice und I2CFactory helfen beim Verbindungsaufbau.

com.pi4j.io.i2c. I2CBus importieren; com.pi4j.io.i2c. I2CDevice importieren; com.pi4j.io.i2c. I2CFactory importieren; import java.io. IOException;

Die Funktionen write() und read() werden verwendet, um bestimmte Befehle an den Sensor zu schreiben, damit er in einem bestimmten Modus funktioniert und die Sensorausgabe entsprechend gelesen wird. Der folgende Teil des Codes veranschaulicht die Verwendung dieser Funktionen.

// Befehl im Normalmodus senden device.write ((byte) 0x80); Thread.sleep(500); // 4 Byte Daten lesen // Feuchte msb, Feuchte lsb, temp msb, temp lsb byte data = new byte[4]; device.read (Daten, 0, 4);

Die Ausgabe des Sensors wird auch im Bild oben gezeigt.

Schritt 4: Anwendungen:

Anwendungen
Anwendungen

HYT939 ist ein effizienter digitaler Feuchtigkeitssensor, der in medizinischen Systemen und Autoklaven eingesetzt wird. Auch Drucktaupunkt-Mess- und Trocknungssysteme finden Verwendung dieses Sensormoduls. In verschiedenen Labors, in denen die entsprechende Feuchte ein entscheidender Parameter für die Durchführung von Experimenten ist, kann dieser Sensor dort für Feuchtemessungen eingesetzt werden.

Empfohlen: