Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
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:
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:
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:
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:
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.