Inhaltsverzeichnis:
Video: Raspberry Pi HTS221 Relativer Feuchtigkeits- und Temperatursensor Java Tutorial - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
HTS221 ist ein ultrakompakter kapazitiver digitaler Sensor für relative Luftfeuchtigkeit und Temperatur. Es enthält ein Sensorelement und einen anwendungsspezifischen integrierten Schaltkreis (ASIC) für gemischte Signale, um die Messinformationen über digitale serielle Schnittstellen bereitzustellen. Integriert mit so vielen Funktionen ist dies einer der am besten geeigneten Sensoren für kritische Feuchtigkeits- und Temperaturmessungen. Hier ist die Demonstration mit einem Java-Code mit Raspberry Pi.
Schritt 1: Was Sie brauchen.
1. Himbeer-Pi
2. HTS221
3. I²C-Kabel
4. I²C-Shield für Raspberry Pi
5. Ethernet-Kabel
Schritt 2: 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 HTS221-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:
Der Python-Code für HTS221 kann von unserem Github-Repository-Dcube Store heruntergeladen werden
Hier der Link dazu:
github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.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.
// HTS221
// Dieser Code wurde entwickelt, um mit dem HTS221_I2CS I2C Mini-Modul zu arbeiten.
com.pi4j.io.i2c. I2CBus importieren;
com.pi4j.io.i2c. I2CDevice importieren;
com.pi4j.io.i2c. I2CFactory importieren;
import java.io. IOException;
public class HTS221{ public static void main(String args) wirft Ausnahme
{
// I2CBus erstellen
I2CBus-Bus = I2CFactory.getInstance(I2CBus. BUS_1);
// I2C-Gerät abrufen, HTS221 I2C-Adresse ist 0x5F(95)
I2CDevice-Gerät = bus.getDevice(0x5F);
// Wählen Sie das durchschnittliche Konfigurationsregister
// Temperaturdurchschnittsproben = 16, Feuchtigkeitsdurchschnittsproben = 32
device.write(0x10, (Byte)0x1B);
// Steuerregister auswählen1
// Einschalten, Blockdatenaktualisierung, Datenrate o/p = 1 Hz
device.write (0x20, (Byte)0x85);
Thread.sleep(500);
// Kalibrierwerte aus dem nichtflüchtigen Speicher des Gerätes lesen
// Feuchtigkeitskalibrierungswerte
byte val = neues Byte[2];
// 1 Byte Daten von Adresse 0x30 (48) lesen
val[0] = (byte)device.read(0x30);
// 1 Byte Daten von Adresse 0x31(49) lesen
val[1] = (byte)device.read(0x31);
int H0 = (val[0] & 0xFF) / 2;
int H1 = (val[1] & 0xFF) / 2;
// 1 Byte Daten von Adresse 0x36(54) lesen
val[0] = (byte)device.read(0x36);
// 1 Byte Daten von Adresse 0x37(55) lesen
val[1] = (byte)device.read(0x37);
int H2 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);
// 1 Byte Daten von Adresse 0x3A (58) lesen
val[0] = (byte)device.read(0x3A);
// 1 Byte Daten von Adresse 0x3B(59) lesen
val[1] = (byte)device.read(0x3B);
int H3 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);
// Temperaturkalibrierungswerte
// 1 Byte Daten von Adresse 0x32 (50) lesen
int T0 = ((Byte)device.read(0x32) & 0xFF);
// 1 Byte Daten von Adresse 0x33(51) lesen
int T1 = ((Byte)device.read(0x33) & 0xFF);
// 1 Byte Daten von Adresse 0x35 (53) lesen
int raw = ((Byte)device.read(0x35) & 0x0F);
// Konvertieren Sie die Temperaturkalibrierungswerte in 10-Bit
T0 = ((roh & 0x03) * 256) + T0;
T1 = ((roh & 0x0C) * 64) + T1;
// 1 Byte Daten von Adresse 0x3C(60) lesen
val[0] = (byte)device.read(0x3C);
// 1 Byte Daten von Adresse 0x3D(61) lesen
val[1] = (byte)device.read(0x3D);
int T2 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);
// 1 Byte Daten von Adresse 0x3E(62) lesen
val[0] = (byte)device.read(0x3E);
// 1 Byte Daten von Adresse 0x3F(63) lesen
val[1] = (byte)device.read(0x3F);
int T3 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);
// 4 Byte Daten lesen
// summe msb, summe lsb, temp msb, temp lsb
Byte Daten = neues Byte[4]; device.read (0x28 | 0x80, Daten, 0, 4);
// Konvertieren Sie die Daten
int hum = ((data[1] & 0xFF) * 256) + (data[0] & 0xFF);
int temp = ((Daten[3] & 0xFF) * 256) + (Daten[2] & 0xFF);
wenn (temp > 32767)
{
Temperatur -= 65536;
}
doppelte Feuchtigkeit = ((1.0 * H1) - (1,0 * H0)) * (1,0 * hum - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);
doppeltes cTemp = ((T1 - T0) / 8,0) * (Temp - T2) / (T3 - T2) + (T0 / 8,0);
doppeltes fTemp = (cTemp * 1,8) + 32;
// Daten auf Bildschirm ausgeben
System.out.printf("Relative Luftfeuchtigkeit: %.2f %% RH %n", Luftfeuchtigkeit);
System.out.printf("Temperatur in Celsius: %.2f C %n", cTemp);
System.out.printf("Temperatur in Fahrenheit: %.2f F %n", fTemp);
}
}
Schritt 4: Anwendungen:
HTS221 kann in verschiedenen Verbraucherprodukten wie Luftbefeuchtern und Kühlschränken usw. eingesetzt werden. Dieser Sensor findet auch seine Anwendung in einem breiteren Bereich, einschließlich Smart Home Automation, Industrieautomation, Beatmungsgeräte, Asset- und Warenverfolgung.
Empfohlen:
So erstellen Sie eine UML für Java in Microsoft Visio: 4 Schritte
So erstellen Sie eine UML für Java in Microsoft Visio: Das Erstellen einer UML kann zunächst etwas einschüchternd wirken. Es gibt viele komplizierte Notationsstile, und es kann sich anfühlen, als gäbe es keine guten Ressourcen, um eine lesbare und genaue UML zu formatieren. Microsoft Visio macht jedoch das Erstellen einer UML-Qu
So erstellen Sie einen einfachen Rechner in Java – wikiHow
So erstellen Sie einen einfachen Rechner in Java: Dies ist eine einfache Einführung in die Java-Programmiersprache, die für Personen mit geringen bis keinen Programmierkenntnissen gedacht ist. Materialien: Computer oder Laptop (mit installiertem Eclipse) Kann Eclipse unter https://www. eclipse.org/downloads
So importieren Sie Java-Projekte in Eclipse für Anfänger – wikiHow
So importieren Sie Java-Projekte in Eclipse für Anfänger: EinführungDie folgende Anleitung führt Sie Schritt für Schritt durch die Installation von Java-Projekten auf der Computersoftware Eclipse. Java-Projekte enthalten alle Codes, Schnittstellen und Dateien, die zum Erstellen eines Java-Programms erforderlich sind. Diese Projekte sind pla
Ein Pokerspiel in Java erstellen – wikiHow
Wie man ein Pokerspiel in Java macht: Dieses anweisbare ist für diejenigen, die bereits Java kennen und ein Pokerspiel in Java erstellen möchten. Zuallererst benötigen Sie einen Computer mit einer Codierungsanwendung oder einer Website, die die Verwendung von Java ermöglicht. Ich empfehle die Verwendung von DrJ
Temperatursensor (Arduino): 8 Schritte
Temperatursensor (Arduino): Dieses Projekt ist perfekt für Fortgeschrittene und Anfänger. Die Einrichtung ist sehr einfach. Es gibt einen Chip namens LM35 (Link für zusätzliche Erklärung), der es dem Arduino ermöglicht, die Temperatur der Umgebung zu bestimmen