Talaan ng mga Nilalaman:

Pagsukat ng Temperatura at Humidity Gamit ang HDC1000 at Raspberry Pi: 4 na Hakbang
Pagsukat ng Temperatura at Humidity Gamit ang HDC1000 at Raspberry Pi: 4 na Hakbang

Video: Pagsukat ng Temperatura at Humidity Gamit ang HDC1000 at Raspberry Pi: 4 na Hakbang

Video: Pagsukat ng Temperatura at Humidity Gamit ang HDC1000 at Raspberry Pi: 4 na Hakbang
Video: How to use W1209 Temperature relay controller and program the thermostat 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 interfacing ng module ng sensor ng HDC1000 na may raspberry pi ay ipinakita at ang programa nito gamit ang wika ng sawa ay nakalarawan din. Upang mabasa ang mga halaga ng temperatura at halumigmig, ginamit namin ang raspberry pi na may isang I2C adapter. Ginagawa ng adapter ng I2C 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. Raspberry Pi

3. I2C Cable

4. I2C Shield para sa raspberry pi

5. Ethernet Cable

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 raspberry pi. 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

Ang bentahe ng paggamit ng raspberry pi ay, nagbibigay sa iyo ng kakayahang umangkop ng wika ng programa kung saan nais mong i-program ang board upang ma-interface ang sensor kasama nito. Ginagamit ang kalamangan na ito ng board na ito, ipinapakita namin dito ang pag-program nito sa sawa. Ang python code para sa HDC1000 ay maaaring ma-download mula sa aming komunidad sa GitHub na Dcube Store.

Pati na rin para sa kadalian ng mga gumagamit, ipinapaliwanag din namin ang code dito:

Bilang unang hakbang ng pag-coding, kailangan mong i-download ang SMBus library sa kaso ng sawa, dahil sinusuportahan ng library na ito ang mga pagpapaandar na ginamit sa code. Kaya, upang mai-download ang library maaari mong bisitahin ang sumusunod na link:

pypi.python.org/pypi/smbus-cffi/0.5.1

Maaari mong kopyahin ang gumaganang python code para sa sensor na ito mula dito din:

import smbus

oras ng pag-import

# Kumuha ng I2C bus

bus = smbus. SMBus (1)

# HDC1000 address, 0x40 (64)

# Piliin ang rehistro ng pagsasaayos, 0x02 (02)

# 0x30 (48) Temperatura, Pinapagana ang Humidity, Resolution = 14-bits, Heater on

bus.write_byte_data (0x40, 0x02, 0x30)

# HDC1000 address, 0x40 (64)

# Magpadala ng utos ng pagsukat ng temp, 0x00 (00)

bus.write_byte (0x40, 0x00)

oras. pagtulog (0.5)

# HDC1000 address, 0x40 (64)

# Basahin ang data pabalik, 2 bytes

# temp MSB, temp LSB

data0 = bus.read_byte (0x40)

data1 = bus.read_byte (0x40)

# I-convert ang data

temp = (data0 * 256) + data1

cTemp = (temp / 65536.0) * 165.0 - 40

fTemp = cTemp * 1.8 + 32

# HDC1000 address, 0x40 (64)

# Magpadala ng utos sa pagsukat ng halumigmig, 0x01 (01)

bus.write_byte (0x40, 0x01)

oras. pagtulog (0.5)

# HDC1000 address, 0x40 (64)

# Basahin ang data pabalik, 2 bytes

# halumigmig MSB, halumigmig LSB

data0 = bus.read_byte (0x40)

data1 = bus.read_byte (0x40)

# I-convert ang data

halumigmig = (data0 * 256) + data1

halumigmig = (halumigmig / 65536.0) * 100.0

# Data ng output sa screen

i-print ang "Kamag-anak na Humidity:%.2f %%"% halumigmig

i-print ang "Temperatura sa Celsius:%.2f C"% cTemp

i-print ang "Temperatura sa Fahrenheit:%.2f F"% fTemp

Ang bahagi ng code na nabanggit sa ibaba ay may kasamang mga aklatan na kinakailangan para sa wastong pagpapatupad ng mga python code.

import smbus

oras ng pag-import

Ang code ay maaaring maipatupad sa pamamagitan ng pag-type ng nabanggit na utos sa prompt ng utos.

$> python HDC1000.py gt; sawa HDC1000.py

Ang output ng sensor ay ipinapakita din sa larawan sa itaas para sa sanggunian ng gumagamit.

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: