Оглавление:
- Шаг 1: Требуемое оборудование:
- Шаг 2: Подключение оборудования:
- Шаг 3: Код для измерения влажности и температуры:
- Шаг 4: Приложения:
Видео: Измерение влажности и температуры с помощью HTS221 и Raspberry Pi: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
HTS221 - это сверхкомпактный емкостной цифровой датчик относительной влажности и температуры. Он включает в себя чувствительный элемент и специализированную интегральную схему (ASIC) со смешанными сигналами для предоставления информации об измерениях через цифровые последовательные интерфейсы. Благодаря наличию такого количества функций, этот датчик является одним из наиболее подходящих для критических измерений влажности и температуры.
В этом руководстве демонстрируется взаимодействие модуля датчика HTS221 с raspberry pi, а также показано его программирование с использованием языка Python. Для считывания значений влажности и температуры мы использовали raspberry pi с адаптером I2C. Этот адаптер I2C делает подключение к модулю датчика простым и надежным.
Шаг 1: Требуемое оборудование:
Материалы, которые нам нужны для достижения нашей цели, включают следующие компоненты оборудования:
1. HTS221
2. Raspberry Pi
3. Кабель I2C
4. I2C Shield для raspberry pi
5. Кабель Ethernet.
Шаг 2: Подключение оборудования:
В разделе «Подключение оборудования» в основном объясняются проводные соединения, необходимые между датчиком и Raspberry Pi. Обеспечение правильных соединений является основной необходимостью при работе с любой системой для достижения желаемого результата. Итак, необходимые подключения следующие:
HTS221 будет работать по I2C. Вот пример схемы подключения, демонстрирующий, как подключить каждый интерфейс датчика.
Изначально плата настроена для интерфейса I2C, поэтому мы рекомендуем использовать это подключение, если вы не сторонник этого.
Все, что вам нужно, это четыре провода! Требуются только четыре соединения, выводы Vcc, Gnd, SCL и SDA, которые подключаются с помощью кабеля I2C.
Эти соединения показаны на рисунках выше.
Шаг 3: Код для измерения влажности и температуры:
Преимущество использования raspberry pi заключается в том, что он обеспечивает гибкость языка программирования, на котором вы хотите запрограммировать плату, чтобы связать с ней датчик. Используя это преимущество этой платы, мы демонстрируем ее программирование на питоне. Код 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 Гц
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 = ((значение1 & 0xFF) * 256) + (значение0 & 0xFF)
# Считать данные обратно из 0x3A (58), 2 байта
val0 = bus.read_byte_data (0x5F, 0x3A)
val1 = bus.read_byte_data (0x5F, 0x3B)
H3 = ((значение1 & 0xFF) * 256) + (значение0 & 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 байт
raw = bus.read_byte_data (0x5F, 0x35)
raw = (raw & 0x0F)
# Преобразовать значения калибровки температуры в 10-битные
T0 = ((raw & 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 = ((значение1 & 0xFF) * 256) + (значение0 & 0xFF)
# Считать данные обратно из 0x3E (62), 2 байта
val0 = bus.read_byte_data (0x5F, 0x3E)
val1 = bus.read_byte_data (0x5F, 0x3F)
T3 = ((значение1 & 0xFF) * 256) + (значение0 & 0xFF)
# Считать данные обратно из 0x28 (40) с помощью регистра команд 0x80 (128), 4 байта
# влажность msb, влажность lsb, temp msb, temp lsb
data = 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]
если темп> 32767:
темп - = 65536
cTemp = ((T1 - T0) / 8.0) * (темп - T2) / (T3 - T2) + (T0 / 8.0)
fTemp = (cTemp * 1,8) + 32
# Выводить данные на экран
print "Относительная влажность:%.2f %%"% влажности
print "Температура в градусах Цельсия:%.2f C"% cTemp
print "Температура в градусах Фаренгейта:%.2f F"% fTemp
Часть кода, упомянутая ниже, включает библиотеки, необходимые для правильного выполнения кодов Python.
импортировать smbus
время импорта
Код можно выполнить, набрав в командной строке указанную ниже команду.
$> Python HTS221.py
Выходной сигнал датчика также показан на рисунке выше для справки пользователя.
Шаг 4: Приложения:
HTS221 может использоваться в различных потребительских товарах, таких как увлажнители воздуха, холодильники и т. Д. Этот датчик также находит свое применение в более широкой сфере, включая автоматизацию умного дома, промышленную автоматизацию, респираторное оборудование, отслеживание активов и товаров.
Рекомендуемые:
Измерение температуры и влажности с помощью DHT11 / DHT22 и Arduino: 4 шага
Измерение температуры и влажности с помощью DHT11 / DHT22 и Arduino: в этом руководстве по Arduino мы узнаем, как использовать датчик DHT11 или DHT22 для измерения температуры и влажности с помощью платы Arduino
Измерение влажности и температуры с помощью 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 и частиц Photon: 4 шага
Измерение влажности и температуры с использованием HTS221 и Particle Photon: HTS221 - это сверхкомпактный емкостной цифровой датчик относительной влажности и температуры. Он включает в себя чувствительный элемент и специализированную интегральную схему (ASIC) со смешанными сигналами для передачи информации об измерениях через цифровой последовательный