Frambuesa Pi HTS221 de humedad relativa y temperatura Sensor Java Tutorial (3 / 4 paso)

Paso 3: código:

El código de python para HTS221 puede descargarse desde el repositorio de github-ControlEverythingCommunity

Aquí está el enlace para el mismo:

https://github.com/ControlEverythingCommunity/HTS2...

La hoja de datos de HTS221 se puede encontrar aquí:

http://www.St.com/Web/en/Resource/Technical/docume...

Hemos utilizado pi4j biblioteca de código java, los pasos para instalar pi4j en frambuesa pi se describe aquí:

http://pi4j.com/install.html

También puede copiar el código desde aquí, se da como sigue:

Distribuido con una licencia de libre albedrío.

Se usa cualquier forma desea, beneficio o libre, siempre cabe en las licencias de sus obras anexas.

HTS221

Este código está diseñado para trabajar con el módulo de Mini de I2C HTS221_I2CS de ControlEverything.com.

https://www.controleverything.com/content/Humidit...

Import com.pi4j.io.i2c.I2CBus;

Import com.pi4j.io.i2c.I2CDevice;

Import com.pi4j.io.i2c.I2CFactory;

importación java.io.IOException;

clase HTS221 {público estático principal vacío (cadena args[]) produce excepción

{

Crear I2CBus

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

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

Dispositivo de I2CDevice = bus.getDevice(0x5F);

Registro seleccione Configuración promedio

Las muestras promedio temperatura = 16, muestras promedio humedad = 32

Device.Write (0 x 10, (byte) 0x1B);

Seleccione el control register1

Energía en bloque actualización de datos, tarifa de datos o/p = 1 Hz

Device.Write (0 x 20, (byte) 0x85);

Thread.Sleep(500);

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

Valores de calibración de humedad

Byte [] val = new byte [2];

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

Val [0] = (byte)device.read(0x30);

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

Val [1] = (byte)device.read(0x31);

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

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

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

Val [0] = (byte)device.read(0x36);

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

Val [1] = (byte)device.read(0x37);

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

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

Val [0] = (byte)device.read(0x3A);

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

Val [1] = (byte)device.read(0x3B);

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

Valores de calibración de temperatura

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

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

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

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

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

int crudo = ((byte)device.read(0x35) & 0x0F);

Convertir los valores de calibración de temperatura a 10 bits

T0 = ((raw & 0x03) * 256) + T0;

T1 = ((raw & 0x0C) * 64) + T1;

Lee 1 byte de datos de la dirección 0x3C(60)

Val [0] = (byte)device.read(0x3C);

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

Val [1] = (byte)device.read(0x3D);

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

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

Val [0] = (byte)device.read(0x3E);

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

Val [1] = (byte)device.read(0x3F);

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

Lee 4 bytes de datos

msb de Hum, hum lsb, temp msb, lsb temp

datos de Byte [] = new byte [4]; Device.Read (0x28 | 0 x 80, datos, 0, 4);

Convertir los datos

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

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

if(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);

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

fTemp doble = (cTemp * 1.8) + 32;

Datos de salida a 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 grados Fahrenheit: %.2f F %n", fTemp);

}

}

Artículos Relacionados

Arduino Nano - HTS221 de humedad relativa y temperatura Sensor Tutorial

Arduino Nano - HTS221 de humedad relativa y temperatura Sensor Tutorial

HTS221 es un sensor digital capacitivo compactado ultra para humedad relativa y temperatura. Incluye un elemento de detección y una señal mixta aplicación específica circuit(ASIC) integrado para proporcionar la información de la medida a través de in
Frambuesa Pi - HIH6130 I2C humedad y temperatura Sensor Java Tutorial

Frambuesa Pi - HIH6130 I2C humedad y temperatura Sensor Java Tutorial

HIH6130 es una humedad y temperatura con salida digital. Estos sensores proporcionan un nivel de precisión de ±4% hr. Con la estabilidad a largo plazo líder en la industria, verdadero-compensación de temperatura digital I2C, confiabilidad líder en la
Frambuesa Pi - A20 SI7006 humedad y temperatura Sensor Java Tutorial

Frambuesa Pi - A20 SI7006 humedad y temperatura Sensor Java Tutorial

SI7006-A20 es una humedad y temperatura que puede funcionar con protocolo de comunicación I2C. Tiene un CI CMOS monolítica integración de humedad y elementos de sensor de temperatura, un conversor de analógico a digital etc.. Con calibración y elemen
Frambuesa Pi - SHT30 de humedad y temperatura Sensor Java Tutorial

Frambuesa Pi - SHT30 de humedad y temperatura Sensor Java Tutorial

Sensor de temperatura y humedad Digital SHT30 ofrece un rendimiento superior y una huella de ahorro de espacio. Proporciona señales calibradas, lineal en formato digital, I2C. Fabricación de este sensor se basa en tecnología CMOSens, que atribuye a l
Frambuesa Pi - TMP100 temperatura Sensor Java Tutorial

Frambuesa Pi - TMP100 temperatura Sensor Java Tutorial

TMP100 High-Accuracy, módulo Digital Sensor de temperatura I2C MINI de baja potencia. El TMP100 es ideal para medición de temperatura extendido. Este dispositivo ofrece una precisión de ±1 ° C sin necesidad de calibración o componente externo de seña
Frambuesa Pi - MPL3115A2 altímetro de precisión Sensor Java Tutorial

Frambuesa Pi - MPL3115A2 altímetro de precisión Sensor Java Tutorial

El MPL3115A2 emplea un sensor de presión MEMS con una interfaz I2C para proporcionar los datos exactos de la presión/altitud y la temperatura. Las salidas del sensor son digitalizadas por un ADC de 24 bits de alta resolución. Procesamiento interno el
Frambuesa Pi - HIH6130 I2C humedad y temperatura Sensor Python Tutorial

Frambuesa Pi - HIH6130 I2C humedad y temperatura Sensor Python Tutorial

HIH6130 es una humedad y temperatura con salida digital. Estos sensores proporcionan un nivel de precisión de ±4% hr. Con la estabilidad a largo plazo líder en la industria, verdadero-compensación de temperatura digital I2C, confiabilidad líder en la
Frambuesa Pi SHT25 humedad y temperatura Sensor Python Tutorial

Frambuesa Pi SHT25 humedad y temperatura Sensor Python Tutorial

SHT25 Sensor de temperatura y humedad de I2C ±1.8%RH ±0. 2 ° C I2C Mini módulo. SHT25 sensor de humedad y de temperatura de alta precisión se ha convertido en un estándar de la industria en términos de factor de forma y de inteligencia, proporcionand
Frambuesa Pi - SHT30 de humedad y temperatura Sensor Python Tutorial

Frambuesa Pi - SHT30 de humedad y temperatura Sensor Python Tutorial

Sensor de temperatura y humedad Digital SHT30 ofrece un rendimiento superior y una huella de ahorro de espacio. Proporciona señales calibradas, lineal en formato digital, I2C. Fabricación de este sensor se basa en tecnología CMOSens, que atribuye a l
Frambuesa Pi - A20 SI7006 humedad y temperatura Sensor Python Tutorial

Frambuesa Pi - A20 SI7006 humedad y temperatura Sensor Python Tutorial

SI7006-A20 es una humedad y temperatura que puede funcionar con protocolo de comunicación I2C. Tiene un CI CMOS monolítica integración de humedad y elementos de sensor de temperatura, un conversor de analógico a digital etc.. Con calibración y elemen
Frambuesa Pi - TMP100 temperatura Sensor Python Tutorial

Frambuesa Pi - TMP100 temperatura Sensor Python Tutorial

TMP100 High-Accuracy, módulo Digital Sensor de temperatura I2C MINI de baja potencia. El TMP100 es ideal para medición de temperatura extendido. Este dispositivo ofrece una precisión de ±1 ° C sin necesidad de calibración o componente externo de seña
Frambuesa Pi - MPL3115A2 altímetro de precisión Sensor Python Tutorial

Frambuesa Pi - MPL3115A2 altímetro de precisión Sensor Python Tutorial

El MPL3115A2 emplea un sensor de presión MEMS con una interfaz I2C para proporcionar los datos exactos de la presión/altitud y la temperatura. Las salidas del sensor son digitalizadas por un ADC de 24 bits de alta resolución. Procesamiento interno el
Frambuesa Pi - TMP007 termopar infrarrojos Sensor Java Tutorial

Frambuesa Pi - TMP007 termopar infrarrojos Sensor Java Tutorial

TMP007 es un sensor de infrarrojos termopar que mide la temperatura de un objeto sin estar en contacto con ella. La energía infrarroja emitida por el objeto en el campo de sensor es absorbida por el termopar integrada en el sensor. El voltaje de la t
Frambuesa Pi - TMD26721 Detector de proximidad infrarrojo de Digital Java Tutorial

Frambuesa Pi - TMD26721 Detector de proximidad infrarrojo de Digital Java Tutorial

TMD26721 es un detector de proximidad infrarrojo de digital que proporciona un sistema de detección de proximidad completa y lógica interfaz de digital en un módulo único de 8 pines para montaje en superficie. La detección de proximidad incluye mejor