Inhaltsverzeichnis:

Messung von Temperatur und Luftfeuchtigkeit mit HDC1000 und Raspberry Pi - Gunook
Messung von Temperatur und Luftfeuchtigkeit mit HDC1000 und Raspberry Pi - Gunook

Video: Messung von Temperatur und Luftfeuchtigkeit mit HDC1000 und Raspberry Pi - Gunook

Video: Messung von Temperatur und Luftfeuchtigkeit mit HDC1000 und Raspberry Pi - Gunook
Video: DHT11 Sensor für Temperatur und Luftfeuchtigkeit am Arduino 2024, November
Anonim
Image
Image

Der HDC1000 ist ein digitaler Feuchtigkeitssensor mit integriertem Temperatursensor, der eine hervorragende Messgenauigkeit bei sehr geringem Stromverbrauch bietet. Das Gerät misst die Luftfeuchtigkeit auf Basis eines neuartigen kapazitiven Sensors. Die Feuchtigkeits- und Temperatursensoren sind werkseitig kalibriert. Es ist im vollen Temperaturbereich von -40°C bis +125°C funktionsfähig.

In diesem Tutorial wird die Anbindung des HDC1000-Sensormoduls an Raspberry Pi demonstriert und auch die Programmierung mit der Python-Sprache veranschaulicht. Zum Auslesen der Temperatur- und Luftfeuchtigkeitswerte haben wir Raspberry 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

Zu den Materialien, die wir zur Erreichung unseres Ziels benötigen, gehören die folgenden Hardwarekomponenten:

1. HDC1000

2. Himbeer-Pi

3. I2C-Kabel

4. I2C-Schild für Himbeer-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 HDC1000 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: Code für Temperatur- und Feuchtigkeitsmessung:

Code für Temperatur- und Feuchtigkeitsmessung
Code für Temperatur- und Feuchtigkeitsmessung

Der Vorteil der Verwendung von Raspberry Pi ist, dass Sie die Flexibilität der Programmiersprache haben, in der Sie das Board programmieren möchten, um den Sensor damit zu verbinden. Wir machen uns diesen Vorteil dieses Boards zunutze und demonstrieren hier seine Programmierung in Python. Der Python-Code für HDC1000 kann von unserer GitHub-Community 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 Python die SMBus-Bibliothek herunterladen, da diese Bibliothek die im Code verwendeten Funktionen unterstützt. Um die Bibliothek herunterzuladen, können Sie den folgenden Link besuchen:

pypi.python.org/pypi/smbus-cffi/0.5.1

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

smbus importieren

Importzeit

# Holen Sie sich den I2C-Bus

bus = smbus. SMBus(1)

# HDC1000-Adresse, 0x40(64)

# Konfigurationsregister auswählen, 0x02(02)

# 0x30(48) Temperatur, Feuchtigkeit aktiviert, Auflösung = 14-Bit, Heizung an

bus.write_byte_data(0x40, 0x02, 0x30)

# HDC1000-Adresse, 0x40(64)

# Befehl zur Temperaturmessung senden, 0x00(00)

bus.write_byte(0x40, 0x00)

time.sleep(0.5)

# HDC1000-Adresse, 0x40(64)

# Daten zurücklesen, 2 Byte

# temp. MSB, temp. LSB

data0 = bus.read_byte(0x40)

data1 = bus.read_byte(0x40)

# Konvertieren Sie die Daten

temp = (Daten0 * 256) + Daten1

cTemp = (Temp / 65536,0) * 165,0 - 40

fTemp = cTemp * 1,8 + 32

# HDC1000-Adresse, 0x40(64)

# Feuchtemessbefehl senden, 0x01(01)

bus.write_byte(0x40, 0x01)

time.sleep(0.5)

# HDC1000-Adresse, 0x40(64)

# Daten zurücklesen, 2 Byte

# Feuchtigkeit MSB, Feuchtigkeit LSB

data0 = bus.read_byte(0x40)

data1 = bus.read_byte(0x40)

# Konvertieren Sie die Daten

Feuchtigkeit = (Daten0 * 256) + Daten1

Feuchtigkeit = (Luftfeuchtigkeit / 65536,0) * 100,0

# Daten auf den Bildschirm ausgeben

print "Relative Luftfeuchtigkeit: %.2f %%" %Luftfeuchtigkeit

print "Temperatur in Celsius: %.2f C" %cTemp

print "Temperatur in Fahrenheit: %.2f F" %fTemp

Der unten erwähnte Codeteil enthält die Bibliotheken, die für die korrekte Ausführung der Python-Codes erforderlich sind.

smbus importieren

Importzeit

Der Code kann ausgeführt werden, indem Sie den unten genannten Befehl in die Eingabeaufforderung eingeben.

$> Python HDC1000.py gt; Python HDC1000.py

Die Ausgabe des Sensors wird auch im obigen Bild zur Referenz des Benutzers angezeigt.

Schritt 4: Anwendungen:

Anwendungen
Anwendungen

HDC1000 kann in Heizungs-, Lüftungs- und Klimaanlagen (HLK), intelligenten Thermostaten und Raummonitoren eingesetzt werden. Dieser Sensor findet auch seine Anwendung in Druckern, Handmessgeräten, medizinischen Geräten, Frachtschiffen sowie Auto-Windschutzscheibenbeschlag.

Empfohlen: