Satura rādītājs:

Mitruma un temperatūras mērīšana, izmantojot HTS221 un Raspberry Pi: 4 soļi
Mitruma un temperatūras mērīšana, izmantojot HTS221 un Raspberry Pi: 4 soļi

Video: Mitruma un temperatūras mērīšana, izmantojot HTS221 un Raspberry Pi: 4 soļi

Video: Mitruma un temperatūras mērīšana, izmantojot HTS221 un Raspberry Pi: 4 soļi
Video: Zigbee датчик освещенности, температуры и влажности с экраном на электронных чернилах Moes 2024, Novembris
Anonim
Image
Image

HTS221 ir īpaši kompakts kapacitatīvs digitālais sensors relatīvajam mitrumam un temperatūrai. Tas ietver sensoru elementu un jauktu signālu lietojumprogrammu integrētu shēmu (ASIC), lai sniegtu mērījumu informāciju, izmantojot digitālās sērijas saskarnes. Integrēts ar tik daudzām funkcijām, tas ir viens no vispiemērotākajiem sensoriem kritiskiem mitruma un temperatūras mērījumiem.

Šajā apmācībā ir parādīta HTS221 sensora moduļa saskarne ar aveņu pi un parādīta arī tā programmēšana, izmantojot python valodu. Lai nolasītu mitruma un temperatūras vērtības, mēs esam izmantojuši aveņu pi ar I2C adapteri. Šis I2C adapteris padara savienojumu ar sensora moduli vieglu un uzticamāku.

1. darbība. Nepieciešamā aparatūra:

Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra

Materiāli, kas nepieciešami mūsu mērķa sasniegšanai, ietver šādas aparatūras sastāvdaļas:

1. HTS221

2. Aveņu Pi

3. I2C kabelis

4. I2C vairogs aveņu pi

5. Ethernet kabelis

2. darbība. Aparatūras savienošana:

Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums

Aparatūras savienošanas sadaļa pamatā izskaidro nepieciešamos vadu savienojumus starp sensoru un aveņu pi. Pareizu savienojumu nodrošināšana ir pamatvajadzība, strādājot pie jebkuras sistēmas vēlamajam rezultātam. Tātad nepieciešamie savienojumi ir šādi:

HTS221 darbosies, izmantojot I2C. Šeit ir elektroinstalācijas shēmas piemērs, kas parāda, kā savienot katru sensora saskarni.

Izņemot komplektu, tāfele ir konfigurēta I2C saskarnei, tāpēc mēs iesakām izmantot šo savienojumu, ja esat citādi agnostiķis.

Viss, kas Jums nepieciešams, ir četri vadi! Nepieciešami tikai četri savienojumi Vcc, Gnd, SCL un SDA, un tie ir savienoti, izmantojot I2C kabeli.

Šie savienojumi ir parādīti iepriekš redzamajos attēlos.

3. darbība. Mitruma un temperatūras mērīšanas kods:

Mitruma un temperatūras mērīšanas kods
Mitruma un temperatūras mērīšanas kods

Aveņu pi izmantošanas priekšrocība ir tā, ka tas nodrošina programmēšanas valodas elastību, kādā vēlaties programmēt tāfeli, lai sasaistītu sensoru ar to. Izmantojot šīs plates priekšrocības, mēs šeit demonstrējam tās programmēšanu pitonā. HTS221 python kodu var lejupielādēt no mūsu github kopienas, kas ir Control Everything Community.

Kā arī lietotāju ērtībai mēs šeit izskaidrojam kodu:

Kā pirmais kodēšanas solis jums ir nepieciešams lejupielādēt smbus bibliotēku python gadījumā, jo šī bibliotēka atbalsta kodā izmantotās funkcijas. Tātad, lai lejupielādētu bibliotēku, varat apmeklēt šo saiti:

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

Arī šeit varat nokopēt šī sensora darba pitona kodu:

importēt smbus

importa laiks

# Iegūstiet I2C autobusu

autobuss = smbus. SMBus (1)

# HTS221 adrese, 0x5F (95)

# Izvēlieties vidējo konfigurācijas reģistru, 0x10 (16)

# 0x1B (27) Vidējie temperatūras paraugi = 256, vidējie mitruma paraugi = 512

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

# HTS221 adrese, 0x5F (95)

# Atlasiet vadības reģistru1, 0x20 (32)

# 0x85 (133) Ieslēgšana, nepārtraukta atjaunināšana, datu izvades ātrums = 1 Hz

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

miega laiks (0,5)

# HTS221 adrese, 0x5F (95)

# Lasiet kalibrēšanas vērtības no ierīces gaistošās atmiņas

# Mitruma kalibrēšanas vērtības

# Nolasiet datus no 0x30 (48), 1 baits

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

H0 = val / 2

# Lasiet datus no 0x31 (49), 1 baits

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

H1 = val /2

# Nolasiet datus no 0x36 (54), 2 baiti

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

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

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

# Lasīt datus no 0x3A (58), 2 baiti

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

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

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

# Temperatūras kalibrēšanas vērtības

# Nolasiet datus no 0x32 (50), 1 baits

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

T0 = (T0 un 0xFF)

# Lasiet datus no 0x32 (51), 1 baits

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

T1 = (T1 un 0xFF)

# Lasīt datus no 0x35 (53), 1 baits

neapstrādāts = bus.read_byte_data (0x5F, 0x35)

neapstrādāts = (neapstrādāts un 0x0F)

# Pārvērtiet temperatūras kalibrēšanas vērtības uz 10 bitiem

T0 = ((neapstrādāts un 0x03) * 256) + T0

T1 = ((neapstrādāts un 0x0C) * 64) + T1

# Nolasiet datus no 0x3C (60), 2 baiti

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

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

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

# Lasīt datus no 0x3E (62), 2 baiti

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

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

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

# Nolasiet datus no 0x28 (40) ar komandu reģistru 0x80 (128), 4 baiti

# mitrums msb, mitrums lsb, temp msb, temp lsb

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

# Konvertējiet datus

mitrums = (dati [1] * 256) + dati [0]

mitrums = ((1.0 * H1) - (1.0 * H0)) * (1.0 * mitrums - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)

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

ja temperatūra> 32767:

temperatūra -= 65536

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

fTemp = (cTemp * 1.8) + 32

# Izvadiet datus ekrānā

drukāt "Relatīvais mitrums: %.2f %%" %mitrums

drukāt "Temperatūra pēc Celsija: %.2f C" %cTemp

drukāt "Temperatūra pēc Fārenheita: %.2f F" %fTemp

Tālāk minētā koda daļa ietver bibliotēkas, kas nepieciešamas, lai pareizi izpildītu pitona kodus.

importēt smbus

importa laiks

Kodu var izpildīt, komandu uzvednē ierakstot zemāk minēto komandu.

$> python HTS221.py

Sensora izeja ir parādīta arī attēlā iepriekš lietotāja atsaucei.

4. darbība. Lietojumprogrammas:

Lietojumprogrammas
Lietojumprogrammas

HTS221 var izmantot dažādās patēriņa precēs, piemēram, gaisa mitrinātājos un ledusskapjos uc

Ieteicams: