Inhaltsverzeichnis:

Particle Photon - HDC1000 Temperatursensor Tutorial - Gunook
Particle Photon - HDC1000 Temperatursensor Tutorial - Gunook

Video: Particle Photon - HDC1000 Temperatursensor Tutorial - Gunook

Video: Particle Photon - HDC1000 Temperatursensor Tutorial - Gunook
Video: Particle Photon - HDC1000 Temperature Sensor Tutorial 2024, September
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. Hier ist seine Demonstration mit Teilchenphotonen.

Schritt 1: Was Sie brauchen.

Was du brauchst..!!
Was du brauchst..!!

1. Teilchenphoton

2. HDC1000

3. I²C-Kabel

4. I²C-Schild für Teilchenphotonen

Schritt 2: Verbindung:

Verbindung
Verbindung
Verbindung
Verbindung
Verbindung
Verbindung
Verbindung
Verbindung

Nehmen Sie einen I2C-Schild für Partikelphotonen und schieben Sie ihn vorsichtig über die Pins des Partikelphotons.

Verbinden Sie dann das eine Ende des I2C-Kabels mit dem HDC1000-Sensor und das andere Ende mit der I2C-Abschirmung.

Die Anschlüsse sind im Bild oben dargestellt.

Schritt 3: Code:

Code
Code

Der Partikelcode für HDC1000 kann von unserem GitHub-Repository – Dcube Store – heruntergeladen werden.

Hier der Link dazu:

github.com/DcubeTechVentures/HDC1000…

Das Datenblatt der HDC1000 finden Sie hier:

www.ti.com.cn/cn/lit/ds/symlink/hdc1000.pdf

Wir haben zwei Bibliotheken für Partikelcode verwendet, nämlich application.h und spark_wiring_i2c.h. Die Bibliothek Spark_wiring_i2c wird benötigt, um die I2C-Kommunikation mit dem Sensor zu ermöglichen.

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.

// HDC1000

// Dieser Code wurde entwickelt, um mit dem HDC1000_I2CS I2C Mini-Modul zu arbeiten, das im Dcube Store erhältlich ist.

#enthalten

#enthalten

// HDC1000 I2C-Adresse ist 0x40(64)

#define Addr 0x40

Schwimmer cTemp = 0.0, fTemp = 0.0, Feuchtigkeit = 0.0;

int temp = 0, brumm = 0;

Void-Setup ()

{

// Variable setzen

Partikel.variable("i2cdevice", "HDC1000");

Particle.variable("Feuchtigkeit", Feuchtigkeit);

Partikel.variable("cTemp", cTemp);

// I2C-Kommunikation initialisieren

Wire.begin();

// Serielle Kommunikation initialisieren, Baudrate = 9600. einstellen

Serial.begin (9600);

// I2C-Übertragung starten

Wire.beginTransmission(Addr);

// Konfigurationsregister auswählen

Wire.write (0x02);

// Temperatur, Feuchtigkeit aktiviert, Auflösung = 14-Bit, Heizung an

Wire.write (0x30);

// I2C-Übertragung stoppen

Wire.endTransmission();

Verzögerung (300);

}

Leere Schleife ()

{

unsignierte int-Daten[2];

// I2C-Übertragung starten

Wire.beginTransmission(Addr);

// Befehl zur Temperaturmessung senden

Wire.write (0x00);

// I2C-Übertragung stoppen

Wire.endTransmission();

Verzögerung (500);

// 2 Byte Daten anfordern

Wire.requestFrom(Addr, 2);

// 2 Byte Daten lesen

// temp msb, temp lsb

if (Draht.verfügbar() == 2)

{

data[0] = Wire.read();

data[1] = Wire.read();

}

// Konvertieren Sie die Daten

temp = ((data[0] * 256) + data[1]);

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

fTemp = cTemp * 1,8 + 32;

// I2C-Übertragung starten

Wire.beginTransmission(Addr);

// Befehl zur Feuchtemessung senden

Wire.write (0x01);

// I2C-Übertragung stoppen

Wire.endTransmission();

Verzögerung (500);

// 2 Byte Daten anfordern

Wire.requestFrom(Addr, 2);

// 2 Byte Daten lesen

// temp msb, temp lsb

if (Draht.verfügbar() == 2)

{

data[0] = Wire.read();

data[1] = Wire.read();

}

// Konvertieren Sie die Daten

summen = ((data[0] * 256) + data[1]);

Feuchtigkeit = (hum / 65536,0) * 100,0;

// Daten an Dashboard ausgeben

Particle.publish("Relative Luftfeuchtigkeit: ", String(Luftfeuchtigkeit));

Particle.publish("Temperatur in Celsius: ", String(cTemp));

Particle.publish("Temperatur in Fahrenheit: ", String(fTemp));

Verzögerung (1000);

}

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: