Përmbajtje:

Matja e lagështisë dhe temperaturës duke përdorur HTS221 dhe Raspberry Pi: 4 hapa
Matja e lagështisë dhe temperaturës duke përdorur HTS221 dhe Raspberry Pi: 4 hapa

Video: Matja e lagështisë dhe temperaturës duke përdorur HTS221 dhe Raspberry Pi: 4 hapa

Video: Matja e lagështisë dhe temperaturës duke përdorur HTS221 dhe Raspberry Pi: 4 hapa
Video: Matja e temperaturës nga rektumi, këshillat që duhet të ndiqni për ta kryer saktë 2024, Korrik
Anonim
Image
Image

HTS221 është një sensor dixhital ultra kompakt kapacitiv për lagështinë dhe temperaturën relative. Ai përfshin një element ndijimi dhe një qark të integruar specifik të aplikimit të sinjalit të përzier (ASIC) për të siguruar informacionin e matjes përmes ndërfaqeve serike dixhitale. I integruar me kaq shumë karakteristika ky është një nga sensorët më të përshtatshëm për matjet kritike të lagështisë dhe temperaturës.

Në këtë tutorial demonstrohet ndërfaqja e modulit të sensorit HTS221 me pi mjedër dhe programimi i tij duke përdorur gjuhën python është ilustruar gjithashtu. Për të lexuar vlerat e lagështisë dhe temperaturës, ne kemi përdorur pi mjedër me një përshtatës I2C. Ky përshtatës I2C e bën lidhjen me modulin e sensorit të lehtë dhe më të besueshëm.

Hapi 1: Kërkohet harduer:

Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer

Materialet që na duhen për të arritur qëllimin tonë përfshijnë përbërësit e mëposhtëm të harduerit:

1. HTS221

2. Raspberry Pi

3. Kabllo I2C

4. Mburoja I2C për pi mjedër

5. Kabllo Ethernet

Hapi 2: Bashkimi i harduerit:

Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit

Seksioni i lidhjes së harduerit në thelb shpjegon lidhjet e telave të kërkuara midis sensorit dhe mjedrës pi. Sigurimi i lidhjeve të sakta është nevoja themelore gjatë punës në çdo sistem për daljen e dëshiruar. Pra, lidhjet e nevojshme janë si më poshtë:

HTS221 do të funksionojë mbi I2C. Këtu është shembulli i diagramit të instalimeve elektrike, duke demonstruar se si të lidhni secilën ndërfaqe të sensorit.

Jashtë kutisë, bordi është i konfiguruar për një ndërfaqe I2C, si i tillë ne rekomandojmë përdorimin e këtij bashkimi nëse përndryshe jeni agnostik.

Gjithçka që ju nevojitet janë katër tela! Vetëm katër lidhje kërkohen kunjat Vcc, Gnd, SCL dhe SDA dhe këto janë të lidhura me ndihmën e kabllit I2C.

Këto lidhje demonstrohen në fotot e mësipërme.

Hapi 3: Kodi për Matjen e Lagështisë dhe Temperaturës:

Kodi për Matjen e Lagështisë dhe Temperaturës
Kodi për Matjen e Lagështisë dhe Temperaturës

Avantazhi i përdorimit të mjedrës pi është, që ju siguron fleksibilitetin e gjuhës programuese në të cilën dëshironi të programoni bordin në mënyrë që të ndërlidhni sensorin me të. Duke shfrytëzuar këtë avantazh të këtij bordi, ne po demonstrojmë këtu programimin e tij në piton. Kodi python për HTS221 mund të shkarkohet nga komuniteti ynë github që është Control Everything Community.

Si dhe për lehtësinë e përdoruesve, ne po shpjegojmë kodin edhe këtu:

Si hapi i parë i kodimit ju duhet të shkarkoni bibliotekën smbus në rast të python, sepse kjo bibliotekë mbështet funksionet e përdorura në kod. Pra, për të shkarkuar bibliotekën mund të vizitoni lidhjen e mëposhtme:

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

Ju gjithashtu mund të kopjoni kodin python të punës për këtë sensor nga këtu:

import smbus

koha e importit

# Merrni autobusin I2C

autobus = smbus. SMBus (1)

Adresa # HTS221, 0x5F (95)

# Zgjidhni regjistrin mesatar të konfigurimit, 0x10 (16)

# 0x1B (27) Mostrat mesatare të temperaturës = 256, Mostrat mesatare të lagështisë = 512

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

Adresa # HTS221, 0x5F (95)

# Zgjidh regjistrin e kontrollit1, 0x20 (32)

# 0x85 (133) Ndezje, Përditësim i vazhdueshëm, Shkalla e daljes së të dhënave = 1 Hz

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

koha. gjumi (0.5)

Adresa # HTS221, 0x5F (95)

# Lexoni vlerat e kalibrimit nga kujtesa jo e paqëndrueshme e pajisjes

# Vlerat e kalibrimit të lagështisë

# Lexoni të dhënat përsëri nga 0x30 (48), 1 bajt

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

H0 = val / 2

# Lexoni të dhënat mbrapa nga 0x31 (49), 1 bajt

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

H1 = val /2

# Lexoni të dhënat mbrapa nga 0x36 (54), 2 bajt

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

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

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

# Lexoni të dhënat mbrapa nga 0x3A (58), 2 bajt

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

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

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

# Vlerat e kalibrimit të temperaturës

# Lexoni të dhënat përsëri nga 0x32 (50), 1 bajt

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

T0 = (T0 & 0xFF)

# Lexoni të dhënat përsëri nga 0x32 (51), 1 bajt

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

T1 = (T1 & 0xFF)

# Lexoni të dhënat mbrapa nga 0x35 (53), 1 bajt

i papërpunuar = bus.read_byte_data (0x5F, 0x35)

i papërpunuar = (i papërpunuar & 0x0F)

# Shndërroni vlerat e Kalibrimit të temperaturës në 10-bit

T0 = ((e papërpunuar & 0x03) * 256) + T0

T1 = ((i papërpunuar & 0x0C) * 64) + T1

# Lexoni të dhënat përsëri nga 0x3C (60), 2 bajt

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

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

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

# Lexoni të dhënat përsëri nga 0x3E (62), 2 bajt

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

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

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

# Lexoni të dhënat mbrapa nga 0x28 (40) me regjistrin e komandave 0x80 (128), 4 bajt

# lagështia msb, lagështia lsb, temp msb, temp lsb

të dhëna = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)

# Konvertoni të dhënat

lagështia = (të dhënat [1] * 256) + të dhënat [0]

lagështia = ((1.0 * H1) - (1.0 * H0)) * (1.0 * lagështia - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)

temp = (të dhëna [3] * 256) + të dhëna [2]

nëse temperatura> 32767:

temp -= 65536

cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)

fTemp = (cTemp * 1.8) + 32

# Dalja e të dhënave në ekran

print "Lagështia Relative: %.2f %%" %lagështia

print "Temperatura në Celsius: %.2f C" %cTemp

print "Temperatura në Fahrenheit: %.2f F" %fTemp

Pjesa e kodit të përmendur më poshtë përfshin bibliotekat e kërkuara për ekzekutimin e saktë të kodeve python.

import smbus

koha e importit

Kodi mund të ekzekutohet duke shtypur komandën e përmendur më poshtë në komandën e shpejtë.

$> python HTS221.py

Dalja e sensorit tregohet gjithashtu në figurën e mësipërme për referencë të përdoruesit.

Hapi 4: Aplikimet:

Aplikimet
Aplikimet

HTS221 mund të përdoret në produkte të ndryshme të konsumit si lagështues të ajrit dhe frigoriferë, etj. Ky sensor gjithashtu gjen aplikimin e tij në një arenë më të gjerë duke përfshirë automatizimin e shtëpisë inteligjente, automatizimin industrial, pajisjet e frymëmarrjes, përcjelljen e aseteve dhe mallrave.

Recommended: