Съдържание:

Измерване на температура и влажност с помощта на HDC1000 и Raspberry Pi: 4 стъпки
Измерване на температура и влажност с помощта на HDC1000 и Raspberry Pi: 4 стъпки

Видео: Измерване на температура и влажност с помощта на HDC1000 и Raspberry Pi: 4 стъпки

Видео: Измерване на температура и влажност с помощта на HDC1000 и Raspberry Pi: 4 стъпки
Видео: Linptech ES1 - microwave presence sensor for mihome, Home Assistant Gateway 3 integration 2024, Юли
Anonim
Image
Image

HDC1000 е цифров сензор за влажност с вграден температурен сензор, който осигурява отлична точност на измерване при много ниска мощност. Устройството измерва влажността въз основа на нов капацитивен сензор. Сензорите за влажност и температура са фабрично калибрирани. Той е функционален в пълния температурен диапазон от -40 ° C до +125 ° C.

В този урок е демонстрирано взаимодействието на сензорния модул HDC1000 с малинов pi и е илюстрирано и неговото програмиране с помощта на език python. За да прочетете стойностите на температурата и влажността, използвахме малинов pi с I2C адаптер, който прави връзката с сензорния модул лесна и по -надеждна.

Стъпка 1: Изисква се хардуер:

Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер

Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:

1. HDC1000

2. Малина Пи

3. I2C кабел

4. I2C щит за малиново пи

5. Ethernet кабел

Стъпка 2: Свързване на хардуера:

Хардуерно свързване
Хардуерно свързване
Хардуерно свързване
Хардуерно свързване

Разделът за свързване на хардуер основно обяснява необходимите кабелни връзки между сензора и малиновото пи. Осигуряването на правилни връзки е основната необходимост, докато работите върху всяка система за желания изход. И така, необходимите връзки са както следва:

HDC1000 ще работи над I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.

Извън кутията, дъската е конфигурирана за I2C интерфейс, като такава препоръчваме да използвате тази връзка, ако иначе не сте агностици.

Всичко, от което се нуждаете, са четири проводника! Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.

Тези връзки са показани на снимките по -горе.

Стъпка 3: Код за измерване на температура и влажност:

Код за измерване на температура и влажност
Код за измерване на температура и влажност

Предимството на използването на малинов pi е, че ви осигурява гъвкавостта на езика за програмиране, на който искате да програмирате платката, за да свържете интерфейса на сензора с нея. Използвайки това предимство на тази дъска, ние демонстрираме тук, че това е програмиране в python. Кодът на python за HDC1000 може да бъде изтеглен от нашата общност на GitHub, която е Dcube Store.

Освен за улеснение на потребителите, ние обясняваме кода и тук:

Като първа стъпка от кодирането трябва да изтеглите библиотеката SMBus в случай на python, тъй като тази библиотека поддържа функциите, използвани в кода. Така че, за да изтеглите библиотеката, можете да посетите следната връзка:

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

Можете също да копирате работния код на python за този сензор от тук също:

внос smbus

време за импортиране

# Вземете I2C автобус

шина = smbus. SMBus (1)

# HDC1000 адрес, 0x40 (64)

# Изберете конфигурационен регистър, 0x02 (02)

# 0x30 (48) Температура, разрешена влажност, разделителна способност = 14 бита, нагревател включен

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

# HDC1000 адрес, 0x40 (64)

# Изпращане на команда за измерване на температура, 0x00 (00)

bus.write_byte (0x40, 0x00)

time.sleep (0.5)

# HDC1000 адрес, 0x40 (64)

# Прочетете данните обратно, 2 байта

# temp MSB, temp LSB

data0 = bus.read_byte (0x40)

data1 = bus.read_byte (0x40)

# Конвертирайте данните

temp = (data0 * 256) + data1

cTemp = (temp / 65536.0) * 165.0 - 40

fTemp = cTemp * 1.8 + 32

# HDC1000 адрес, 0x40 (64)

# Изпратете команда за измерване на влажност, 0x01 (01)

bus.write_byte (0x40, 0x01)

time.sleep (0.5)

# HDC1000 адрес, 0x40 (64)

# Прочетете данните обратно, 2 байта

# влажност MSB, влажност LSB

data0 = bus.read_byte (0x40)

data1 = bus.read_byte (0x40)

# Конвертирайте данните

влажност = (данни0 * 256) + данни1

влажност = (влажност / 65536,0) * 100,0

# Извеждане на данни на екрана

отпечатайте "Относителна влажност: %.2f %%" %влажност

печат "Температура в Целзий: %.2f C" %cТемп

отпечатайте "Температура по Фаренхайт: %.2f F" %fTemp

Частта от кода, спомената по -долу, включва библиотеките, необходими за правилното изпълнение на кодовете на python.

внос smbus

време за импортиране

Кодът може да бъде изпълнен чрез въвеждане на посочената по-долу команда в командния ред.

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

Изходът на сензора също е показан на горната снимка за справка на потребителя.

Стъпка 4: Приложения:

Приложения
Приложения

HDC1000 може да се използва за отопление, вентилация и климатизация (HVAC), интелигентни термостати и стайни монитори. Този сензор намира своето приложение и в принтери, ръчни измервателни уреди, медицински изделия, доставка на товари, както и в автомобилно замъгляване на предното стъкло.

Препоръчано: