Inhaltsverzeichnis:
- Schritt 1: Erforderliche Hardware:
- Schritt 2: Hardwareanschluss:
- Schritt 3: Code für Temperatur- und Feuchtigkeitsmessung:
- Schritt 4: Anwendungen:
Video: Messung von Temperatur und Luftfeuchtigkeit mit HDC1000 und Raspberry Pi - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
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.
Empfohlen:
Löten von oberflächenmontierbaren Komponenten - Lötgrundlagen: 9 Schritte (mit Bildern)
Löten von oberflächenmontierbaren Komponenten | Lötgrundlagen: Bisher habe ich in meiner Lötgrundlagen-Serie genug Grundlagen zum Löten besprochen, damit Sie mit dem Üben beginnen können. In diesem Instructable, was ich besprechen werde, ist etwas fortgeschrittener, aber es sind einige der Grundlagen zum Löten von Surface Mount Compo
Durchlöten von Komponenten - Lötgrundlagen: 8 Schritte (mit Bildern)
Löten von Durchgangslochkomponenten | Lötgrundlagen: In diesem Instructable werde ich einige Grundlagen zum Löten von Durchgangslochkomponenten auf Leiterplatten diskutieren. Ich gehe davon aus, dass Sie bereits die ersten 2 Instructables für meine Lötgrundlagen-Serie ausgecheckt haben. Wenn Sie nicht in meinem In
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
M5STACK So zeigen Sie Temperatur, Feuchtigkeit und Druck auf dem M5StickC ESP32 mit Visuino an - Einfach zu tun: 6 Schritte
M5STACK So zeigen Sie Temperatur, Luftfeuchtigkeit und Druck auf dem M5StickC ESP32 mit Visuino an - Einfach zu machen: In diesem Tutorial lernen wir, wie Sie den ESP32 M5Stack StickC mit Arduino IDE und Visuino programmieren, um Temperatur, Luftfeuchtigkeit und Druck mit dem ENV-Sensor (DHT12, BMP280, BMM150)
MyPhotometrics - Gandalf: Leistungsmessgerät Zur Messung Von Lasern Im Sichtbaren Bereich Auf Basis Von "Sauron": 8 Schritte
MyPhotometrics - Gandalf: Leistungsmessgerät Zur Messung Von Lasern Im Sichtbaren Bereich Auf Basis Von "Sauron": Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz. Eine für Menschen lesbare Zusammenfassung dieser Lizenz findet sich hier.Was ist Gandalf?Gandalf ist eine Stand-A