Съдържание:
- Стъпка 1: Изисква се хардуер:
- Стъпка 2: Свързване на хардуера:
- Стъпка 3: Код за измерване на влажност и температура:
- Стъпка 4: Приложения:
Видео: Измерване на влажност и температура с помощта на HTS221 и Raspberry Pi: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
HTS221 е ултра компактен капацитивен цифров сензор за относителна влажност и температура. Той включва сензорен елемент и специфична интегрална схема (ASIC) за прилагане на смесен сигнал за предоставяне на измервателната информация чрез цифрови серийни интерфейси. Интегриран с толкова много функции, това е един от най -подходящите сензори за измерване на критична влажност и температура.
В този урок е демонстрирано взаимодействието на сензорния модул HTS221 с малинов pi и е илюстрирано и неговото програмиране с помощта на език python. За да прочетете стойностите на влажност и температура, използвахме малинов pi с I2C адаптер, който прави връзката към сензорния модул лесна и по -надеждна.
Стъпка 1: Изисква се хардуер:
Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:
1. HTS221
2. Малина Пи
3. I2C кабел
4. I2C щит за малиново пи
5. Ethernet кабел
Стъпка 2: Свързване на хардуера:
Разделът за свързване на хардуер основно обяснява необходимите кабелни връзки между сензора и малиновото пи. Осигуряването на правилни връзки е основната необходимост, докато работите върху всяка система за желания изход. И така, необходимите връзки са както следва:
HTS221 ще работи през I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.
Извън кутията, дъската е конфигурирана за I2C интерфейс, като такава препоръчваме да използвате тази връзка, ако иначе не сте агностици.
Всичко, от което се нуждаете, са четири проводника! Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.
Тези връзки са показани на снимките по -горе.
Стъпка 3: Код за измерване на влажност и температура:
Предимството на използването на малинов pi е, че ви осигурява гъвкавостта на езика за програмиране, на който искате да програмирате платката, за да свържете интерфейса на сензора с нея. Използвайки това предимство на тази дъска, ние демонстрираме тук нейното програмиране в python. Кодът на python за HTS221 може да бъде изтеглен от нашата github общност, която е Control Everything Community.
Освен за улеснение на потребителите, ние обясняваме кода и тук:
Като първа стъпка от кодирането трябва да изтеглите библиотеката smbus в случай на python, защото тази библиотека поддържа функциите, използвани в кода. Така че, за да изтеглите библиотеката, можете да посетите следната връзка:
pypi.python.org/pypi/smbus-cffi/0.5.1
Можете също да копирате работния код на python за този сензор от тук също:
внос smbus
време за импортиране
# Вземете I2C автобус
шина = smbus. SMBus (1)
# HTS221 адрес, 0x5F (95)
# Изберете регистър за средна конфигурация, 0x10 (16)
# 0x1B (27) Проби със средна температура = 256, Проби със средна влажност = 512
bus.write_byte_data (0x5F, 0x10, 0x1B)
# HTS221 адрес, 0x5F (95)
# Изберете контролен регистър1, 0x20 (32)
# 0x85 (133) Включване на захранването, непрекъснато актуализиране, скорост на изход на данни = 1 Hz
bus.write_byte_data (0x5F, 0x20, 0x85)
time.sleep (0.5)
# HTS221 адрес, 0x5F (95)
# Прочетете стойностите за калибриране от енергонезависимата памет на устройството
# Стойности за калибриране на влажност
# Прочетете данните обратно от 0x30 (48), 1 байт
val = bus.read_byte_data (0x5F, 0x30)
H0 = val / 2
# Прочетете данните обратно от 0x31 (49), 1 байт
val = bus.read_byte_data (0x5F, 0x31)
H1 = val /2
# Прочетете данните обратно от 0x36 (54), 2 байта
val0 = bus.read_byte_data (0x5F, 0x36)
val1 = bus.read_byte_data (0x5F, 0x37)
H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Прочетете данните обратно от 0x3A (58), 2 байта
val0 = bus.read_byte_data (0x5F, 0x3A)
val1 = bus.read_byte_data (0x5F, 0x3B)
H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Температурни стойности за калибриране
# Прочетете данните обратно от 0x32 (50), 1 байт
T0 = bus.read_byte_data (0x5F, 0x32)
T0 = (T0 & 0xFF)
# Прочетете данните обратно от 0x32 (51), 1 байт
T1 = bus.read_byte_data (0x5F, 0x33)
T1 = (T1 & 0xFF)
# Прочетете данните обратно от 0x35 (53), 1 байт
необработен = bus.read_byte_data (0x5F, 0x35)
необработен = (необработен & 0x0F)
# Конвертирайте температурните стойности за калибриране в 10-бита
T0 = ((необработен & 0x03) * 256) + T0
T1 = ((необработен & 0x0C) * 64) + T1
# Прочетете данните обратно от 0x3C (60), 2 байта
val0 = bus.read_byte_data (0x5F, 0x3C)
val1 = bus.read_byte_data (0x5F, 0x3D)
T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Прочетете данните обратно от 0x3E (62), 2 байта
val0 = bus.read_byte_data (0x5F, 0x3E)
val1 = bus.read_byte_data (0x5F, 0x3F)
T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Прочетете данните обратно от 0x28 (40) с команден регистър 0x80 (128), 4 байта
# влажност msb, влажност lsb, temp msb, temp lsb
данни = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)
# Конвертирайте данните
влажност = (данни [1] * 256) + данни [0]
влажност = ((1.0 * H1) - (1.0 * H0)) * (1.0 * влажност - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)
temp = (данни [3] * 256) + данни [2]
ако temp> 32767:
temp -= 65536
cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)
fTemp = (cTemp * 1.8) + 32
# Извеждане на данни на екрана
отпечатайте "Относителна влажност: %.2f %%" %влажност
печат "Температура в Целзий: %.2f C" %cТемп
отпечатайте "Температура по Фаренхайт: %.2f F" %fTemp
Частта от кода, спомената по -долу, включва библиотеките, необходими за правилното изпълнение на кодовете на python.
внос smbus
време за импортиране
Кодът може да бъде изпълнен чрез въвеждане на посочената по -долу команда в командния ред.
$> python HTS221.py
Изходът на сензора също е показан на горната снимка за справка на потребителя.
Стъпка 4: Приложения:
HTS221 може да се използва в различни потребителски продукти като овлажнители на въздух и хладилници и др. Този сензор намира своето приложение и в по -широка област, включително автоматизация на интелигентен дом, промишлена автоматизация, дихателно оборудване, проследяване на активи и стоки.
Препоръчано:
Измерване на влажност и температура с помощта на HIH6130 и Arduino Nano: 4 стъпки
Измерване на влажност и температура с помощта на HIH6130 и Arduino Nano: HIH6130 е сензор за влажност и температура с цифров изход. Тези сензори осигуряват ниво на точност ± 4% относителна влажност. С водеща в индустрията дългосрочна стабилност, истинска температурно компенсирана цифрова I2C, водеща в индустрията надеждност, енергийна ефективност
Измерване на влажност и температура с помощта на HTS221 и Arduino Nano: 4 стъпки
Измерване на влажност и температура с помощта на HTS221 и Arduino Nano: HTS221 е ултра компактен капацитивен цифров сензор за относителна влажност и температура. Той включва сензорен елемент и специфична интегрална схема за приложение със смесен сигнал (ASIC) за предоставяне на измервателната информация чрез цифров сериен
Измерване на влажност и температура с помощта на HIH6130 и Raspberry Pi: 4 стъпки
Измерване на влажност и температура с помощта на HIH6130 и Raspberry Pi: HIH6130 е сензор за влажност и температура с цифров изход. Тези сензори осигуряват ниво на точност ± 4% относителна влажност. С водеща в индустрията дългосрочна стабилност, истинска температурно компенсирана цифрова I2C, водеща в индустрията надеждност, енергийна ефективност
Измерване на температура и влажност с помощта на HDC1000 и Raspberry Pi: 4 стъпки
Измерване на температура и влажност с помощта на HDC1000 и Raspberry Pi: HDC1000 е цифров сензор за влажност с вграден температурен сензор, който осигурява отлична точност на измерване при много ниска мощност. Устройството измерва влажността въз основа на нов капацитивен сензор. Сензорите за влажност и температура са факс
Измерване на влажност и температура с помощта на HTS221 и частичен фотон: 4 стъпки
Измерване на влажност и температура с помощта на HTS221 и частичен фотон: HTS221 е ултра компактен капацитивен цифров сензор за относителна влажност и температура. Той включва сензорен елемент и специфична интегрална схема за приложение със смесен сигнал (ASIC) за предоставяне на измервателната информация чрез цифров сериен