Tabla de contenido:

Tutorial Java del sensor de temperatura y humedad relativa HTS221 de Raspberry Pi: 4 pasos
Tutorial Java del sensor de temperatura y humedad relativa HTS221 de Raspberry Pi: 4 pasos

Video: Tutorial Java del sensor de temperatura y humedad relativa HTS221 de Raspberry Pi: 4 pasos

Video: Tutorial Java del sensor de temperatura y humedad relativa HTS221 de Raspberry Pi: 4 pasos
Video: Arduino Nano HYT939 I2C 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. Aquí está la demostración con un código java usando Raspberry Pi.

Paso 1: ¡¡Lo que necesitas …

Que necesitas..!!
Que necesitas..!!

1. Raspberry Pi

2. HTS221

3. Cable I²C

4. Escudo I²C para Raspberry Pi

5. Cable Ethernet

Paso 2: Conexiones:

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

Tome un protector I2C para raspberry pi y empújelo suavemente sobre los pines gpio de raspberry pi.

Luego, conecte un extremo del cable I2C al sensor HTS221 y el otro extremo al blindaje I2C.

También conecte el cable Ethernet al pi o puede usar un módulo WiFi.

Las conexiones se muestran en la imagen de arriba.

Paso 3: Código:

Código
Código

El código python para HTS221 se puede descargar desde nuestro repositorio de github-Dcube Store

Aquí está el enlace para el mismo:

github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java

Hemos utilizado la biblioteca pi4j para el código java, los pasos para instalar pi4j en raspberry pi se describen aquí:

pi4j.com/install.html

También puede copiar el código desde aquí, se proporciona de la siguiente manera:

// Distribuido con licencia de libre albedrío.

// Úselo de la forma que desee, lucrativa o gratuita, siempre que encaje en las licencias de sus obras asociadas.

// HTS221

// Este código está diseñado para funcionar con el mini módulo HTS221_I2CS I2C.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

public class HTS221 {public static void main (String args ) arroja una excepción

{

// Crear I2CBus

Bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Obtener dispositivo I2C, la dirección HTS221 I2C es 0x5F (95)

Dispositivo I2CDevice = bus.getDevice (0x5F);

// Seleccionar registro de configuración promedio

// Muestras promedio de temperatura = 16, muestras promedio de humedad = 32

device.write (0x10, (byte) 0x1B);

// Seleccionar registro de control1

// Encendido, actualización de datos del bloque, velocidad de datos o / p = 1 Hz

device.write (0x20, (byte) 0x85);

Hilo.sueño (500);

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

// Valores de calibración de humedad

byte val = nuevo byte [2];

// Leer 1 byte de datos de la dirección 0x30 (48)

val [0] = (byte) dispositivo.read (0x30);

// Leer 1 byte de datos de la dirección 0x31 (49)

val [1] = (byte) dispositivo.read (0x31);

int H0 = (val [0] y 0xFF) / 2;

int H1 = (val [1] & 0xFF) / 2;

// Leer 1 byte de datos de la dirección 0x36 (54)

val [0] = (byte) dispositivo.read (0x36);

// Leer 1 byte de datos de la dirección 0x37 (55)

val [1] = (byte) dispositivo.read (0x37);

int H2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// Leer 1 byte de datos de la dirección 0x3A (58)

val [0] = (byte) dispositivo.read (0x3A);

// Leer 1 byte de datos de la dirección 0x3B (59)

val [1] = (byte) dispositivo.read (0x3B);

int H3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// Valores de calibración de temperatura

// Leer 1 byte de datos de la dirección 0x32 (50)

int T0 = ((byte) dispositivo.read (0x32) & 0xFF);

// Leer 1 byte de datos de la dirección 0x33 (51)

int T1 = ((byte) dispositivo.read (0x33) & 0xFF);

// Leer 1 byte de datos de la dirección 0x35 (53)

int raw = ((byte) device.read (0x35) & 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 1 byte de datos de la dirección 0x3C (60)

val [0] = (byte) dispositivo.read (0x3C);

// Leer 1 byte de datos de la dirección 0x3D (61)

val [1] = (byte) dispositivo.read (0x3D);

int T2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// Leer 1 byte de datos de la dirección 0x3E (62)

val [0] = (byte) dispositivo.read (0x3E);

// Leer 1 byte de datos de la dirección 0x3F (63)

val [1] = (byte) dispositivo.read (0x3F);

int T3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// Leer 4 bytes de datos

// tararear msb, tararear lsb, temp msb, temp lsb

byte datos = nuevo byte [4]; device.read (0x28 | 0x80, datos, 0, 4);

// Convertir los datos

int hum = ((datos [1] y 0xFF) * 256) + (datos [0] y 0xFF);

int temp = ((datos [3] y 0xFF) * 256) + (datos [2] y 0xFF);

si (temp> 32767)

{

temp - = 65536;

}

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

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

fTemp doble = (cTemp * 1.8) + 32;

// Salida de datos a la pantalla

System.out.printf ("Humedad relativa:%.2f %% RH% n", humedad);

System.out.printf ("Temperatura en grados Celsius:%.2f C% n", cTemp);

System.out.printf ("Temperatura en Fahrenheit:%.2f F% n", fTemp);

}

}

Paso 4: 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: