Talaan ng mga Nilalaman:

Pagsukat ng Temperatura at Humidity Gamit ang HDC1000 at Arduino Nano: 4 na Hakbang
Pagsukat ng Temperatura at Humidity Gamit ang HDC1000 at Arduino Nano: 4 na Hakbang

Video: Pagsukat ng Temperatura at Humidity Gamit ang HDC1000 at Arduino Nano: 4 na Hakbang

Video: Pagsukat ng Temperatura at Humidity Gamit ang HDC1000 at Arduino Nano: 4 na Hakbang
Video: Non-Contact Long Range MLX90614-DCI Temperature Sensor with Arduino 2024, Hulyo
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.

Sa tutorial na ito ang paglalagay ng interface ng HDC1000 sensor module na may arduino nano ay nailarawan. Upang mabasa ang mga halaga ng temperatura at halumigmig, ginamit namin ang arduino na may isang I2c adapter. Ginagawa ng I2C adapter na ito ang koneksyon sa module ng sensor na mas madali at mas maaasahan.

Hakbang 1: Kinakailangan ang Hardware:

Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware

Ang mga materyal na kailangan namin para makamit ang aming layunin ay may kasamang mga sumusunod na bahagi ng hardware:

1. HDC1000

2. Arduino Nano

3. I2C Cable

4. I2C Shield para kay Arduino Nano

Hakbang 2: Hardware Hookup:

Hardware Hookup
Hardware Hookup
Hardware Hookup
Hardware Hookup

Karaniwang ipinapaliwanag ng seksyon ng hookup ng hardware ang mga koneksyon sa mga kable na kinakailangan sa pagitan ng sensor at ng arduino nano. Ang pagtiyak sa tamang mga koneksyon ay ang pangunahing pangangailangan habang nagtatrabaho sa anumang system para sa nais na output. Kaya, ang mga kinakailangang koneksyon ay ang mga sumusunod:

Gagana ang HDC1000 sa paglipas ng I2C. Narito ang halimbawa ng diagram ng mga kable, na nagpapakita kung paano i-wire ang bawat interface ng sensor.

Sa labas ng kahon, naka-configure ang board para sa isang interface ng I2C, dahil inirerekumenda namin ang paggamit ng hookup na ito kung hindi ka agnostiko.

Ang kailangan mo lang ay apat na wires! Apat na koneksyon lamang ang kinakailangan ng Vcc, Gnd, SCL at SDA pin at ang mga ito ay konektado sa tulong ng I2C cable.

Ang mga koneksyon na ito ay ipinakita sa mga larawan sa itaas.

Hakbang 3: Code para sa Pagsukat sa Temperatura at Humidity:

Code para sa Pagsukat sa Temperatura at Humidity
Code para sa Pagsukat sa Temperatura at Humidity

Magsisimula tayo sa arduino code ngayon.

Habang ginagamit ang module ng sensor na may arduino, isinasama namin ang Wire.h library. Naglalaman ang library ng "Wire" ng mga pagpapaandar na nagpapadali sa komunikasyon ng i2c sa pagitan ng sensor at ng arduino board.

Ang buong arduino code ay ibinibigay sa ibaba para sa kaginhawaan ng gumagamit:

# isama

// HDC1000 I2C address ay 0x40 (64)

# tukuyin ang Addr 0x40

walang bisa ang pag-setup ()

{

// Initialise I2C na komunikasyon bilang MASTER

Wire.begin ();

// Initialise serial communication, itakda ang baud rate = 9600

Serial.begin (9600);

// Nagsisimula ang komunikasyon sa I2C

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];

// Nagsisimula ang komunikasyon sa I2C

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

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

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

float fTemp = cTemp * 1.8 + 32;

// Nagsisimula ang komunikasyon sa I2C

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

// halumigmig msb, halumigmig lsb

kung (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// I-convert ang data

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

halumigmig = (halumigmig / 65536.0) * 100.0;

// Output data sa serial monitor

Serial.print ("Kamag-anak na Humidity:");

Serial.print (halumigmig);

Serial.println ("% RH");

Serial.print ("Temperatura sa Celsius:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Temperatura sa Fahrenheit:");

Serial.print (fTemp);

Serial.println ("F");

pagkaantala (500);

}

Sa wire library Wire.write () at Wire.read () ay ginagamit upang isulat ang mga utos at basahin ang output ng sensor.

Ginagamit ang Serial.print () at Serial.println () upang ipakita ang output ng sensor sa serial monitor ng Arduino IDE.

Ang output ng sensor ay ipinapakita sa larawan sa itaas.

Hakbang 4: Mga Aplikasyon:

Mga Aplikasyon
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: