Inhoudsopgave:

Particle Photon - HDC1000 temperatuursensor tutorial - Ajarnpa
Particle Photon - HDC1000 temperatuursensor tutorial - Ajarnpa

Video: Particle Photon - HDC1000 temperatuursensor tutorial - Ajarnpa

Video: Particle Photon - HDC1000 temperatuursensor tutorial - Ajarnpa
Video: Particle Photon - HDC1000 Temperature Sensor Tutorial 2024, Juni-
Anonim
Image
Image

De HDC1000 is een digitale vochtigheidssensor met geïntegreerde temperatuursensor die een uitstekende meetnauwkeurigheid biedt bij een zeer laag vermogen. Het apparaat meet de vochtigheid op basis van een nieuwe capacitieve sensor. De vochtigheids- en temperatuursensoren zijn in de fabriek gekalibreerd. Het is functioneel binnen het volledige temperatuurbereik van -40 °C tot +125 °C. Hier is de demonstratie met deeltjesfoton.

Stap 1: Wat je nodig hebt.

Wat je nodig hebt..!!
Wat je nodig hebt..!!

1. Deeltjesfoton

2. HDC1000

3. I²C-kabel

4. I²C-schild voor deeltjesfoton

Stap 2: Aansluiting:

Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding

Neem een I2C-schild voor deeltjesfoton en duw het voorzichtig over de pinnen van deeltjesfoton.

Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de HDC1000-sensor en het andere uiteinde op de I2C-afscherming.

De aansluitingen zijn weergegeven in de afbeelding hierboven.

Stap 3: Coderen:

Code
Code

De deeltjescode voor HDC1000 kan worden gedownload van onze GitHub-repository - Dcube Store.

Hier is de link voor hetzelfde:

github.com/DcubeTechVentures/HDC1000…

De datasheet van de HDC1000 vindt u hier:

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

We hebben twee bibliotheken gebruikt voor deeltjescode, namelijk application.h en spark_wiring_i2c.h. Spark_wiring_i2c-bibliotheek is vereist om de I2C-communicatie met de sensor te vergemakkelijken.

U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:

// Gedistribueerd met een vrije wilslicentie.

// Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.

// HDC1000

// Deze code is ontworpen om te werken met de HDC1000_I2CS I2C Mini Module die beschikbaar is in de Dcube Store.

#erbij betrekken

#erbij betrekken

// HDC1000 I2C-adres is 0x40(64)

#define Addr 0x40

vlotter cTemp = 0,0, fTemp = 0,0, vochtigheid = 0,0;

int temp = 0, brom = 0;

ongeldige setup()

{

// Variabele instellen

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

Particle.variable ("vochtigheid", vochtigheid);

Particle.variable("cTemp", cTemp);

// Initialiseer I2C-communicatie

Draad.begin();

// Initialiseer seriële communicatie, stel baudrate in = 9600

Serieel.begin(9600);

// Start I2C-verzending

Wire.beginTransmission (Addr);

// Selecteer configuratieregister

Draad.schrijven (0x02);

// Temperatuur, vochtigheid ingeschakeld, resolutie = 14-bits, verwarming aan

Draad.schrijven (0x30);

// Stop I2C-verzending

Wire.endTransmission();

vertraging (300);

}

lege lus()

{

niet-ondertekende int-gegevens[2];

// Start I2C-verzending

Wire.beginTransmission (Addr);

// Stuur opdracht voor temperatuurmeting

Draad.schrijven (0x00);

// Stop I2C-verzending

Wire.endTransmission();

vertraging (500);

// Vraag 2 bytes aan gegevens aan

Wire.requestFrom(Addr, 2);

// Lees 2 bytes aan gegevens

// temp msb, temp lsb

if (Draad.beschikbaar() == 2)

{

data[0] = Draad.lezen();

data[1] = Draad.lezen();

}

// Converteer de gegevens

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

cTemp = (temp / 65536.0) * 165,0 - 40;

fTemp = cTemp * 1,8 + 32;

// Start I2C-verzending

Wire.beginTransmission (Addr);

// Stuur opdracht voor vochtigheidsmeting

Draad.schrijven (0x01);

// Stop I2C-verzending

Wire.endTransmission();

vertraging (500);

// Vraag 2 bytes aan gegevens aan

Wire.requestFrom(Addr, 2);

// Lees 2 bytes aan gegevens

// temp msb, temp lsb

if (Draad.beschikbaar() == 2)

{

data[0] = Draad.lezen();

data[1] = Draad.lezen();

}

// Converteer de gegevens

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

vochtigheid = (brom / 65536.0) * 100,0;

// Gegevens uitvoeren naar dashboard

Particle.publish ("Relatieve vochtigheid:", String (vochtigheid));

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

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

vertraging (1000);

}

Stap 4: Toepassingen:

HDC1000 kan worden gebruikt in verwarming, ventilatie en airconditioning (HVAC), Slimme Thermostaten en Kamermonitoren. Deze sensor vindt ook zijn toepassing in printers, handmeters, medische apparaten, vrachtvervoer en autoruitontwaseming.

Aanbevolen: