Indholdsfortegnelse:
- Trin 1: Påkrævet hardware:
- Trin 2: Hardware -tilslutning:
- Trin 3: Kode for luftfugtighed og temperaturmåling:
- Trin 4: Ansøgninger:
Video: Måling af fugtighed og temperatur ved hjælp af HTS221 og Raspberry Pi: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
HTS221 er en ultrakompakt kapacitiv digital sensor til relativ luftfugtighed og temperatur. Det inkluderer et følerelement og et blandet signal applikationsspecifikt integreret kredsløb (ASIC) til at levere måleoplysningerne gennem digitale serielle grænseflader. Integreret med så mange funktioner er dette en af de mest passende sensorer til kritiske fugtigheds- og temperaturmålinger.
I denne vejledning demonstreres grænsefladen mellem HTS221 sensormodulet og hindbær pi, og dets programmering ved hjælp af pythonsprog er også illustreret. For at aflæse fugtigheds- og temperaturværdier har vi brugt hindbær pi med en I2C -adapter. Denne I2C -adapter gør forbindelsen til sensormodulet let og mere pålidelig.
Trin 1: Påkrævet hardware:
De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:
1. HTS221
2. Hindbær Pi
3. I2C -kabel
4. I2C Skjold til hindbær pi
5. Ethernet -kabel
Trin 2: Hardware -tilslutning:
Hardware -tilslutningssektionen forklarer grundlæggende de ledningsforbindelser, der kræves mellem sensoren og hindbær pi. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:
HTS221 fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.
Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker.
Alt du behøver er fire ledninger! Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.
Disse forbindelser er vist på billederne ovenfor.
Trin 3: Kode for luftfugtighed og temperaturmåling:
Fordelen ved at bruge hindbær pi er, det vil sige giver dig fleksibiliteten i det programmeringssprog, hvor du vil programmere tavlen, for at interface sensoren med den. Ved at udnytte denne fordel ved dette board demonstrerer vi her sin programmering i python. Python -koden til HTS221 kan downloades fra vores github -fællesskab, der er Control Everything Community.
Ud over brugernes brugervenlighed forklarer vi også koden her:
Som det første trin i kodningen skal du downloade smbus -biblioteket i tilfælde af python, fordi dette bibliotek understøtter de funktioner, der bruges i koden. Så for at downloade biblioteket kan du besøge følgende link:
pypi.python.org/pypi/smbus-cffi/0.5.1
Du kan også kopiere arbejdspython -koden til denne sensor herfra:
import smbus
importtid
# Få I2C -bus
bus = smbus. SMBus (1)
# HTS221 adresse, 0x5F (95)
# Vælg gennemsnitligt konfigurationsregister, 0x10 (16)
# 0x1B (27) Temperaturgennemsnitlige prøver = 256, Fugtighedsgennemsnitlige prøver = 512
bus.write_byte_data (0x5F, 0x10, 0x1B)
# HTS221 adresse, 0x5F (95)
# Vælg kontrolregister1, 0x20 (32)
# 0x85 (133) Tændt, kontinuerlig opdatering, dataudgangshastighed = 1 Hz
bus.write_byte_data (0x5F, 0x20, 0x85)
time.sleep (0,5)
# HTS221 adresse, 0x5F (95)
# Læs kalibreringsværdier fra enhedens ikke-flygtige hukommelse
# Fugtighed Kalibreringsværdier
# Læs data tilbage fra 0x30 (48), 1 byte
val = bus.read_byte_data (0x5F, 0x30)
H0 = val / 2
# Læs data tilbage fra 0x31 (49), 1 byte
val = bus.read_byte_data (0x5F, 0x31)
H1 = val /2
# Læs data tilbage fra 0x36 (54), 2 bytes
val0 = bus.read_byte_data (0x5F, 0x36)
val1 = bus.read_byte_data (0x5F, 0x37)
H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Læs data tilbage fra 0x3A (58), 2 bytes
val0 = bus.read_byte_data (0x5F, 0x3A)
val1 = bus.read_byte_data (0x5F, 0x3B)
H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Temperaturkalibreringsværdier
# Læs data tilbage fra 0x32 (50), 1 byte
T0 = bus.read_byte_data (0x5F, 0x32)
T0 = (T0 & 0xFF)
# Læs data tilbage fra 0x32 (51), 1 byte
T1 = bus.read_byte_data (0x5F, 0x33)
T1 = (T1 & 0xFF)
# Læs data tilbage fra 0x35 (53), 1 byte
raw = bus.read_byte_data (0x5F, 0x35)
rå = (rå & 0x0F)
# Konverter temperaturkalibreringsværdierne til 10-bit
T0 = ((rå & 0x03) * 256) + T0
T1 = ((rå & 0x0C) * 64) + T1
# Læs data tilbage fra 0x3C (60), 2 bytes
val0 = bus.read_byte_data (0x5F, 0x3C)
val1 = bus.read_byte_data (0x5F, 0x3D)
T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Læs data tilbage fra 0x3E (62), 2 bytes
val0 = bus.read_byte_data (0x5F, 0x3E)
val1 = bus.read_byte_data (0x5F, 0x3F)
T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Læs data tilbage fra 0x28 (40) med kommandoregister 0x80 (128), 4 bytes
# fugtighed msb, fugtighed lsb, temp msb, temp lsb
data = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)
# Konverter dataene
luftfugtighed = (data [1] * 256) + data [0]
luftfugtighed = ((1,0 * H1) - (1,0 * H0)) * (1,0 * luftfugtighed - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0)
temp = (data [3] * 256) + data [2]
hvis temp> 32767:
temp -= 65536
cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)
fTemp = (cTemp * 1.8) + 32
# Output data til skærmen
print "Relativ luftfugtighed: %.2f %%" %luftfugtighed
print "Temperatur i Celsius: %.2f C" %cTemp
print "Temperatur i Fahrenheit: %.2f F" %fTemp
Den del af koden, der er nævnt herunder, omfatter de biblioteker, der kræves til korrekt udførelse af pythonkoderne.
import smbus
importtid
Koden kan udføres ved at skrive kommandoen nedenfor i kommandoprompten.
$> python HTS221.py
Sensorens output vises også på billedet ovenfor til brugerens reference.
Trin 4: Ansøgninger:
HTS221 kan bruges i forskellige forbrugerprodukter som luftfugtere og køleskabe osv. Denne sensor finder også sin anvendelse i en bredere arena, herunder smart hjemmeautomatisering, industriel automatisering, åndedrætsudstyr, aktiv- og varesporing.
Anbefalede:
Måling af fugtighed og temperatur ved hjælp af HIH6130 og Arduino Nano: 4 trin
Måling af fugtighed og temperatur ved hjælp af HIH6130 og Arduino Nano: HIH6130 er en luftfugtigheds- og temperatursensor med digital udgang. Disse sensorer giver et nøjagtighedsniveau på ± 4% RF. Med brancheførende langsigtet stabilitet, ægte temperaturkompenseret digital I2C, brancheførende pålidelighed, energieffektivitet
Måling af fugtighed og temperatur ved hjælp af HTS221 og Arduino Nano: 4 trin
Måling af fugtighed og temperatur ved hjælp af HTS221 og Arduino Nano: HTS221 er en ultrakompakt kapacitiv digital sensor til relativ luftfugtighed og temperatur. Det inkluderer et følerelement og et blandet signal applikationsspecifikt integreret kredsløb (ASIC) til at levere måleoplysningerne gennem digital seriel
Måling af fugtighed og temperatur ved hjælp af HIH6130 og Raspberry Pi: 4 trin
Måling af luftfugtighed og temperatur ved hjælp af HIH6130 og Raspberry Pi: HIH6130 er en luftfugtigheds- og temperatursensor med digital udgang. Disse sensorer giver et nøjagtighedsniveau på ± 4% RF. Med brancheførende langsigtet stabilitet, ægte temperaturkompenseret digital I2C, brancheførende pålidelighed, energieffektivitet
Måling af temperatur og fugtighed ved hjælp af HDC1000 og Raspberry Pi: 4 trin
Måling af temperatur og fugtighed ved hjælp af HDC1000 og Raspberry Pi: HDC1000 er en digital fugtighedsføler med integreret temperatursensor, der giver fremragende målepræcision ved meget lav effekt. Enheden måler fugtighed baseret på en ny kapacitiv sensor. Fugtigheds- og temperatursensorerne er fac
Måling af fugtighed og temperatur ved hjælp af HTS221 og partikelfoton: 4 trin
Måling af luftfugtighed og temperatur ved hjælp af HTS221 og Particle Photon: HTS221 er en ultrakompakt kapacitiv digital sensor til relativ luftfugtighed og temperatur. Det inkluderer et følerelement og et blandet signal applikationsspecifikt integreret kredsløb (ASIC) til at levere måleoplysningerne gennem digital seriel