Tartalomjegyzék:

Páratartalom és hőmérséklet mérés HTS221 és Raspberry Pi használatával: 4 lépés
Páratartalom és hőmérséklet mérés HTS221 és Raspberry Pi használatával: 4 lépés

Videó: Páratartalom és hőmérséklet mérés HTS221 és Raspberry Pi használatával: 4 lépés

Videó: Páratartalom és hőmérséklet mérés HTS221 és Raspberry Pi használatával: 4 lépés
Videó: 15. ESP8266 alapú MQTT szerver 2024, Július
Anonim
Image
Image

A HTS221 egy ultrakompakt kapacitív digitális érzékelő a relatív páratartalomhoz és a hőmérséklethez. Tartalmaz egy érzékelő elemet és egy vegyes jelműspecifikus integrált áramkört (ASIC) a mérési információk digitális soros interfészeken keresztül történő biztosítására. Sok funkcióval integrálva ez az egyik legmegfelelőbb érzékelő a kritikus páratartalom és hőmérséklet mérésekhez.

Ebben az oktatóanyagban bemutatjuk a HTS221 érzékelő modulnak a málna pi -vel való összekapcsolását, és szemléltetjük a python nyelvű programozását is. A páratartalom és a hőmérséklet értékek leolvasásához málna pi -t használtunk I2C adapterrel. Ez az I2C adapter megkönnyíti és megbízhatóbbá teszi a kapcsolatot az érzékelőmodullal.

1. lépés: Szükséges hardver:

Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver

A célunk eléréséhez szükséges anyagok a következő hardverkomponenseket tartalmazzák:

1. HTS221

2. Málna Pi

3. I2C kábel

4. I2C Shield málna pi

5. Ethernet kábel

2. lépés: Hardver csatlakoztatása:

Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása

A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és a málna pi között szükséges vezetékeket. A megfelelő kapcsolatok biztosítása az alapvető szükséglet, amikor bármilyen rendszeren dolgozik a kívánt kimenet érdekében. Tehát a szükséges kapcsolatok a következők:

A HTS221 az I2C -n keresztül fog működni. Íme a példa kapcsolási rajz, amely bemutatja, hogyan kell bekötni az érzékelő egyes interfészeit.

A doboz készenlétben I2C interfészre van konfigurálva, ezért javasoljuk, hogy használja ezt a csatlakozást, ha egyébként agnosztikus.

Csak négy vezetékre van szüksége! Csak négy csatlakozóra van szükség Vcc, Gnd, SCL és SDA csapokra, és ezeket I2C kábel segítségével kell csatlakoztatni.

Ezeket az összefüggéseket a fenti képek mutatják be.

3. lépés: A páratartalom és a hőmérséklet mérésének kódja:

A páratartalom és a hőmérséklet mérésének kódja
A páratartalom és a hőmérséklet mérésének kódja

A málna pi használatának előnye az, hogy rugalmasságot biztosít annak a programozási nyelvnek, amelyen a táblát programozni szeretné, hogy az érzékelőt hozzá lehessen illeszteni. A tábla ezen előnyét kihasználva bemutatjuk a programozását a pythonban. A HTS221 python kódja letölthető github közösségünkből, ami a Control Everything Community.

A felhasználók kényelme érdekében itt is elmagyarázzuk a kódot:

A kódolás első lépéseként le kell töltenie az smbus könyvtárat python esetén, mert ez a könyvtár támogatja a kódban használt funkciókat. Tehát a könyvtár letöltéséhez látogasson el az alábbi linkre:

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

Innen is másolhatja az érzékelő működő python kódját:

import smbus

importálási idő

# Szerezzen I2C buszt

busz = smbus. SMBus (1)

# HTS221 cím, 0x5F (95)

# Válassza ki az átlagos konfigurációs regisztert, 0x10 (16)

# 0x1B (27) Hőmérsékleti átlagminták = 256, Páratartalom átlagos minták = 512

bus.write_byte_data (0x5F, 0x10, 0x1B)

# HTS221 cím, 0x5F (95)

# Válassza ki a vezérlőregisztert1, 0x20 (32)

# 0x85 (133) Bekapcsolás, Folyamatos frissítés, Adatkimeneti sebesség = 1 Hz

bus.write_byte_data (0x5F, 0x20, 0x85)

time.sleep (0,5)

# HTS221 cím, 0x5F (95)

# Olvassa le a kalibrálási értékeket az eszköz nem felejtő memóriájából

# Páratartalom kalibrációs értékek

# Az adatok visszaolvasása 0x30 (48), 1 bájtból

val = bus.read_byte_data (0x5F, 0x30)

H0 = val / 2

# Az adatok visszaolvasása 0x31 (49), 1 bájtból

val = bus.read_byte_data (0x5F, 0x31)

H1 = val /2

# Adatok visszaolvasása 0x36 (54), 2 bájtból

val0 = bus.read_byte_data (0x5F, 0x36)

val1 = bus.read_byte_data (0x5F, 0x37)

H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Adatok visszaolvasása 0x3A (58), 2 bájtból

val0 = bus.read_byte_data (0x5F, 0x3A)

val1 = bus.read_byte_data (0x5F, 0x3B)

H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Hőmérséklet kalibrációs értékek

# Az adatok visszaolvasása 0x32 (50), 1 bájtból

T0 = bus.read_byte_data (0x5F, 0x32)

T0 = (T0 és 0xFF)

# Az adatok visszaolvasása 0x32 (51), 1 bájtból

T1 = bus.read_byte_data (0x5F, 0x33)

T1 = (T1 és 0xFF)

# Az adatok visszaolvasása 0x35 (53), 1 bájtból

nyers = bus.read_byte_data (0x5F, 0x35)

nyers = (nyers és 0x0F)

# Alakítsa át a hőmérséklet kalibrálási értékeit 10 bitre

T0 = ((nyers és 0x03) * 256) + T0

T1 = ((nyers és 0x0C) * 64) + T1

# Adatok visszaolvasása 0x3C (60), 2 bájtból

val0 = bus.read_byte_data (0x5F, 0x3C)

val1 = bus.read_byte_data (0x5F, 0x3D)

T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Adatok visszaolvasása 0x3E (62), 2 bájtból

val0 = bus.read_byte_data (0x5F, 0x3E)

val1 = bus.read_byte_data (0x5F, 0x3F)

T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Az adatok visszaolvasása 0x28 (40) -ről a 0x80 (128) parancsregiszterrel, 4 bájttal

# páratartalom msb, páratartalom lsb, temp msb, temp lsb

data = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)

# Konvertálja az adatokat

páratartalom = (adatok [1] * 256) + adatok [0]

páratartalom = ((1.0 * H1) - (1.0 * H0)) * (1.0 * páratartalom - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)

temp = (adatok [3] * 256) + adatok [2]

ha a hőmérséklet> 32767:

hőmérséklet -= 65536

cTemp = ((T1 - T0) / 8.0) * (hőmérséklet - T2) / (T3 - T2) + (T0 / 8.0)

fTemp = (cTemp * 1,8) + 32

# Adatok megjelenítése a képernyőn

print "Relatív páratartalom: %.2f %%" %páratartalom

print "Hőmérséklet Celsius -ban: %.2f C" %cTemp

print "Hőmérséklet Fahrenheitben: %.2f F" %fTemp

Az alább említett kódrész tartalmazza a python -kódok helyes végrehajtásához szükséges könyvtárakat.

import smbus

importálási idő

A kód végrehajtható az alábbi parancs beírásával a parancssorba.

$> python HTS221.py

Az érzékelő kimenete a fenti képen is látható a felhasználó számára.

4. lépés: Alkalmazások:

Alkalmazások
Alkalmazások

A HTS221 alkalmazható különféle fogyasztási cikkekben, például légnedvesítőkben és hűtőszekrényekben. Ez az érzékelő szélesebb körben is alkalmazható, beleértve az intelligens otthoni automatizálást, az ipari automatizálást, a légzőkészülékeket, az eszközök és áruk nyomon követését.

Ajánlott: