Tartalomjegyzék:
- 1. lépés: Szükséges hardver:
- 2. lépés: Hardver csatlakoztatása:
- 3. lépés: A páratartalom és a hőmérséklet mérésének kódja:
- 4. lépés: Alkalmazások:
Videó: Páratartalom és hőmérséklet mérés HTS221 és Raspberry Pi használatával: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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:
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:
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 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:
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:
Páratartalom és hőmérséklet mérés HIH6130 és Arduino Nano használatával: 4 lépés
Páratartalom és hőmérséklet mérés HIH6130 és Arduino Nano használatával: A HIH6130 egy digitális kimenettel rendelkező páratartalom- és hőmérséklet -érzékelő. Ezek az érzékelők ± 4% RH pontossági szintet biztosítanak. Az iparág vezető hosszú távú stabilitásával, valódi hőmérséklet-kompenzált digitális I2C-vel, az iparág vezető megbízhatóságával, energiahatékonyságával
Páratartalom és hőmérséklet mérés HTS221 és Arduino Nano használatával: 4 lépés
Páratartalom és hőmérséklet mérés HTS221 és Arduino Nano segítségével: A HTS221 egy ultra kompakt kapacitív digitális érzékelő a relatív páratartalomhoz és 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 továbbítására
Páratartalom és hőmérséklet mérés HIH6130 és Raspberry Pi használatával: 4 lépés
Páratartalom és hőmérséklet mérés a HIH6130 és a Raspberry Pi használatával: A HIH6130 egy digitális kimenettel rendelkező páratartalom- és hőmérséklet -érzékelő. Ezek az érzékelők ± 4% RH pontossági szintet biztosítanak. Az iparág vezető hosszú távú stabilitásával, valódi hőmérséklet-kompenzált digitális I2C-vel, az iparág vezető megbízhatóságával, energiahatékonyságával
Páratartalom és hőmérséklet mérés HIH6130 és részecskefoton használatával: 4 lépés
Páratartalom és hőmérséklet mérés HIH6130 és részecskefoton használatával: A HIH6130 egy digitális kimenettel rendelkező páratartalom- és hőmérséklet -érzékelő. Ezek az érzékelők ± 4% RH pontossági szintet biztosítanak. Az iparág vezető hosszú távú stabilitásával, valódi hőmérséklet-kompenzált digitális I2C-vel, az iparág vezető megbízhatóságával, energiahatékonyságával
Páratartalom és hőmérséklet mérés HTS221 és részecskefoton használatával: 4 lépés
Páratartalom és hőmérséklet mérés HTS221 és részecskefoton segítségével: A HTS221 egy ultrakompakt kapacitív digitális érzékelő a relatív páratartalomhoz és 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 továbbítására