Talaan ng mga Nilalaman:

Particle Photon - HDC1000 Temperatura Sensor Tutorial: 4 na Hakbang
Particle Photon - HDC1000 Temperatura Sensor Tutorial: 4 na Hakbang

Video: Particle Photon - HDC1000 Temperatura Sensor Tutorial: 4 na Hakbang

Video: Particle Photon - HDC1000 Temperatura Sensor Tutorial: 4 na Hakbang
Video: How to interface with HDC1080 humidity and temperature sensor with Arduino using I2C 2024, Setyembre
Anonim
Image
Image

Ang HDC1000 ay isang digital sensor ng halumigmig na may integrated sensor ng temperatura na nagbibigay ng mahusay na kawastuhan sa pagsukat sa napakababang lakas. Sinusukat ng aparato ang halumigmig batay sa isang nobela na capacitive sensor. Ang halumigmig at temperatura sensor ay naka-calibrate ng pabrika. Gumagamit ito sa loob ng buong -40 ° C hanggang + 125 ° C saklaw ng temperatura. Narito ang pagpapakita nito na may maliit na poton.

Hakbang 1: Ano ang Kailangan Mo.. !

Ang iyong kailangan..!!
Ang iyong kailangan..!!

1. Particle Photon

2. HDC1000

3. I²C Cable

4. I²C Shield para sa Particle Photon

Hakbang 2: Koneksyon:

Koneksyon
Koneksyon
Koneksyon
Koneksyon
Koneksyon
Koneksyon
Koneksyon
Koneksyon

Kumuha ng isang kalasag I2C para sa maliit na butil na poton at dahan-dahang itulak ito sa mga pin ng maliit na butil na poton.

Pagkatapos ikonekta ang isang dulo ng I2C cable sa HDC1000 sensor at ang iba pang mga dulo sa I2C kalasag.

Ang mga koneksyon ay ipinapakita sa larawan sa itaas.

Hakbang 3: Code:

Code
Code

Maaaring mai-download ang particle code para sa HDC1000 mula sa aming GitHub repository- Dcube Store.

Narito ang link para sa pareho:

github.com/DcubeTechVentures/HDC1000…

Ang datasheet ng HDC1000 ay matatagpuan dito:

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

Gumamit kami ng dalawang mga aklatan para sa code ng maliit na butil, na kung saan ay application.h at spark_wiring_i2c.h. Kinakailangan ang Spark_wiring_i2c library upang mapadali ang komunikasyon ng I2C sa sensor.

Maaari mo ring kopyahin ang code mula dito, ibinibigay ito tulad ng sumusunod:

// Ipinamamahagi ng isang lisensyang malaya ang kalooban.

// Gumamit nito sa anumang paraan na nais mo, kumita o libre, naibigay na umaangkop ito sa mga lisensya ng mga nauugnay na gawa nito.

// HDC1000

// Ang code na ito ay dinisenyo upang gumana sa HDC1000_I2CS I2C Mini Module na magagamit sa Dcube Store.

# isama

# isama

// HDC1000 I2C address ay 0x40 (64)

# tukuyin ang Addr 0x40

float cTemp = 0.0, fTemp = 0.0, halumigmig = 0.0;

int temp = 0, hum = 0;

walang bisa ang pag-setup ()

{

// Itakda ang variable

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

Particle. Iba-iba ("halumigmig", halumigmig);

Particle.variable ("cTemp", cTemp);

// Initialise I2C na komunikasyon

Wire.begin ();

// Initialise Serial Communication, itakda ang baud rate = 9600

Serial.begin (9600);

// Start I2C Transmission

Wire.beginTransmission (Addr);

// Piliin ang rehistro ng pagsasaayos

Wire.write (0x02);

// Temperatura, pinagana ang kahalumigmigan, resolultion = 14-bits, heater on

Wire.write (0x30);

// Stop I2C Transmission

Wire.endTransmission ();

pagkaantala (300);

}

walang bisa loop ()

{

unsigned int data [2];

// Start I2C Transmission

Wire.beginTransmission (Addr);

// Magpadala ng utos ng pagsukat ng temp

Wire.write (0x00);

// Stop I2C Transmission

Wire.endTransmission ();

pagkaantala (500);

// Humiling ng 2 byte ng data

Wire.requestFrom (Addr, 2);

// Basahin ang 2 bytes ng data

// temp msb, temp lsb

kung (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// I-convert ang data

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

cTemp = (temp / 65536.0) * 165.0 - 40;

fTemp = cTemp * 1.8 + 32;

// Start I2C Transmission

Wire.beginTransmission (Addr);

// Magpadala ng utos sa pagsukat ng halumigmig

Wire.write (0x01);

// Stop I2C Transmission

Wire.endTransmission ();

pagkaantala (500);

// Humiling ng 2 byte ng data

Wire.requestFrom (Addr, 2);

// Basahin ang 2 bytes ng data

// temp msb, temp lsb

kung (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// I-convert ang data

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

halumigmig = (hum / 65536.0) * 100.0;

// Output data sa dashboard

Particle.publish ("Kamag-anak na Humidity:", String (halumigmig));

Particle.publish ("Temperatura sa Celsius:", String (cTemp));

Particle.publish ("Temperatura sa Fahrenheit:", String (fTemp));

pagkaantala (1000);

}

Hakbang 4: Mga Aplikasyon:

Maaaring magamit ang HDC1000 sa pagpainit, bentilasyon at aircon (HVAC), Smart Thermostats at Mga Monitor ng Room. Natagpuan din ng sensor na ito ang application nito sa Mga Printer, Handheld Meter, Medical Devices, Cargo Shipping pati na rin Automotive Windshield Defog.

Inirerekumendang: