Tabla de contenido:

Medición de humedad y temperatura con HTS221 y Raspberry Pi: 4 pasos
Medición de humedad y temperatura con HTS221 y Raspberry Pi: 4 pasos

Video: Medición de humedad y temperatura con HTS221 y Raspberry Pi: 4 pasos

Video: Medición de humedad y temperatura con HTS221 y Raspberry Pi: 4 pasos
Video: Arduino Nano - HTS221 Relative Humidity and Temperature Sensor Tutorial 2024, Noviembre
Anonim
Image
Image

HTS221 es un sensor digital capacitivo ultracompacto para humedad relativa y temperatura. Incluye un elemento sensor y un circuito integrado específico de aplicación de señal mixta (ASIC) para proporcionar la información de medición a través de interfaces seriales digitales. Integrado con tantas características, este es uno de los sensores más apropiados para mediciones críticas de humedad y temperatura.

En este tutorial se demuestra la interfaz del módulo sensor HTS221 con raspberry pi y también se ha ilustrado su programación usando lenguaje Python. Para leer los valores de humedad y temperatura, hemos utilizado raspberry pi con un adaptador I2C. Este adaptador I2C hace que la conexión al módulo sensor sea fácil y más confiable.

Paso 1: Hardware necesario:

Hardware requerido
Hardware requerido
Hardware requerido
Hardware requerido
Hardware requerido
Hardware requerido

Los materiales que necesitamos para lograr nuestro objetivo incluyen los siguientes componentes de hardware:

1. HTS221

2. Raspberry Pi

3. Cable I2C

4. Escudo I2C para raspberry pi

5. Cable Ethernet

Paso 2: Conexión de hardware:

Conexión de hardware
Conexión de hardware
Conexión de hardware
Conexión de hardware

La sección de conexión de hardware básicamente explica las conexiones de cableado necesarias entre el sensor y la Raspberry Pi. Asegurar las conexiones correctas es la necesidad básica al trabajar en cualquier sistema para obtener la salida deseada. Entonces, las conexiones requeridas son las siguientes:

El HTS221 funcionará sobre I2C. Aquí está el diagrama de cableado de ejemplo, que demuestra cómo cablear cada interfaz del sensor.

Fuera de la caja, la placa está configurada para una interfaz I2C, por lo que recomendamos usar esta conexión si, por lo demás, es agnóstico.

¡Todo lo que necesitas son cuatro cables! Solo se requieren cuatro conexiones Vcc, Gnd, SCL y pines SDA y estos se conectan con la ayuda del cable I2C.

Estas conexiones se muestran en las imágenes de arriba.

Paso 3: Código para la medición de temperatura y humedad:

Código para medición de temperatura y humedad
Código para medición de temperatura y humedad

La ventaja de usar raspberry pi es que le brinda la flexibilidad del lenguaje de programación en el que desea programar la placa para conectar el sensor con ella. Aprovechando esta ventaja de esta placa, estamos demostrando aquí su programación en Python. El código Python para HTS221 se puede descargar de nuestra comunidad de github que es Control Everything Community.

Además de para la facilidad de los usuarios, aquí también explicamos el código:

Como primer paso de la codificación, debe descargar la biblioteca smbus en el caso de Python, porque esta biblioteca admite las funciones utilizadas en el código. Entonces, para descargar la biblioteca puede visitar el siguiente enlace:

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

También puede copiar el código Python de trabajo para este sensor desde aquí:

importar smbus

tiempo de importación

# Obtener bus I2C

bus = smbus. SMBus (1)

# Dirección HTS221, 0x5F (95)

# Seleccione el registro de configuración promedio, 0x10 (16)

# 0x1B (27) Muestras promedio de temperatura = 256, Muestras promedio de humedad = 512

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

# Dirección HTS221, 0x5F (95)

# Seleccionar registro de control 1, 0x20 (32)

# 0x85 (133) Encendido, actualización continua, velocidad de salida de datos = 1 Hz

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

tiempo. de sueño (0.5)

# Dirección HTS221, 0x5F (95)

# Leer valores de calibración de la memoria no volátil del dispositivo

# Valores de calibración de humedad

# Leer datos de 0x30 (48), 1 byte

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

H0 = val / 2

# Leer datos de 0x31 (49), 1 byte

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

H1 = val / 2

# Leer datos de 0x36 (54), 2 bytes

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

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

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

# Leer datos de 0x3A (58), 2 bytes

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

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

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

# Valores de calibración de temperatura

# Leer datos de 0x32 (50), 1 byte

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

T0 = (T0 y 0xFF)

# Leer datos de 0x32 (51), 1 byte

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

T1 = (T1 y 0xFF)

# Leer datos de 0x35 (53), 1 byte

raw = bus.read_byte_data (0x5F, 0x35)

crudo = (crudo y 0x0F)

# Convierta los valores de calibración de temperatura a 10 bits

T0 = ((sin procesar y 0x03) * 256) + T0

T1 = ((sin procesar y 0x0C) * 64) + T1

# Leer datos de 0x3C (60), 2 bytes

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

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

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

# Leer datos de 0x3E (62), 2 bytes

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

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

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

# Leer datos de 0x28 (40) con el registro de comando 0x80 (128), 4 bytes

# humedad msb, humedad lsb, temp msb, temp lsb

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

# Convierte los datos

humedad = (datos [1] * 256) + datos [0]

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

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

si la temperatura> 32767:

temp - = 65536

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

fTemp = (cTemp * 1.8) + 32

# Salida de datos a la pantalla

imprimir "Humedad relativa:%.2f %%"% de humedad

imprimir "Temperatura en grados Celsius:%.2f C"% cTemp

imprimir "Temperatura en Fahrenheit:%.2f F"% fTemp

La parte del código que se menciona a continuación incluye las bibliotecas necesarias para la correcta ejecución de los códigos de Python.

importar smbus

tiempo de importación

El código se puede ejecutar escribiendo el comando mencionado a continuación en el símbolo del sistema.

$> python HTS221.py

La salida del sensor también se muestra en la imagen de arriba para referencia del usuario.

Paso 4: Aplicaciones:

Aplicaciones
Aplicaciones

El HTS221 se puede emplear en varios productos de consumo como humidificadores de aire y refrigeradores, etc. Este sensor también encuentra su aplicación en un ámbito más amplio, como la automatización del hogar inteligente, la automatización industrial, los equipos respiratorios, el seguimiento de bienes y activos.

Recomendado: