Arduino Nano - HTS221 de humedad relativa y temperatura Sensor Tutorial (3 / 4 paso)

Paso 3: código:

El código de arduino 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í:

https://S3.amazonaws.com/controleverything.Media/c...

Incluimos la biblioteca Wire.h para facilitar la comunicación I2c del sensor con la placa Arduino.

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...

#include < Wire.h >

HTS221 I2C dirección es 0x5F

#define Addr 0x5F

void setup()

{

Inicializar la comunicación I2C como maestro

Wire.Begin();

Inicializar la comunicación serial, juego velocidad en baudios = 9600

Serial.Begin(9600);

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Registro seleccione Configuración promedio

Wire.Write(0x10);

Las muestras promedio temperatura = 256, muestras promedio humedad = 512

Wire.Write(0x1b);

Detener la transmisión I2C

Wire.endTransmission();

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Seleccione el control register1

Wire.Write(0x20);

Encendido, actualización continua, velocidad de salida de datos = 1 Hz

Wire.Write(0x85);

Detener la transmisión I2C

Wire.endTransmission();

Delay(300);

}

void loop()

{

unsigned int datos [2];

unsigned int val [4];

unsigned int H0, H1, H2, H3, T0, T1, T2, T3, crudo;

Valores de humedad calliberation

para (int i = 0; i < 2; i ++)

{

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Enviar registro de datos

Wire.Write ((48 + i));

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 1 byte de datos

Wire.requestFrom (Addr, 1);

Lee 1 byte de datos

if(Wire.Available() == 1)

{

datos [i] = Wire.read();

}

}

Convertir datos de humedad

H0 = datos [0] / 2;

H1 = datos [1] / 2;

para (int i = 0; i < 2; i ++)

{

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Enviar registro de datos

Wire.Write ((54 + i));

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 1 byte de datos

Wire.requestFrom(Addr,1);

Lee 1 byte de datos

if(Wire.Available() == 1)

{

datos [i] = Wire.read();

}

}

Convertir datos de humedad

H2 = (datos [1] * 256.0) + datos [0];

para (int i = 0; i < 2; i ++)

{

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Enviar registro de datos

Wire.Write ((58 + i));

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 1 byte de datos

Wire.requestFrom(Addr,1);

Lee 1 byte de datos

if(Wire.Available() == 1)

{

datos [i] = Wire.read();

}

}

Convertir datos de humedad

H3 = (datos [1] * 256.0) + datos [0];

Valores de temperatura calliberation

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Enviar registro de datos

Wire.Write(0x32);

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 1 byte de datos

Wire.requestFrom(Addr,1);

Lee 1 byte de datos

if(Wire.Available() == 1)

{

T0 = Wire.read();

}

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Enviar registro de datos

Wire.Write(0x33);

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 1 byte de datos

Wire.requestFrom(Addr,1);

Lee 1 byte de datos

if(Wire.Available() == 1)

{

T1 = Wire.read();

}

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Enviar registro de datos

Wire.Write(0x35);

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 1 byte de datos

Wire.requestFrom (Addr, 1);

Lee 1 byte de datos

if(Wire.Available() == 1)

{

materia prima = Wire.read();

}

materia prima = raw & 0x0F;

Convertir los valores de calliberation de temperatura a 10 bits

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

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

para (int i = 0; i < 2; i ++)

{

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Enviar registro de datos

Wire.Write ((60 +));

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 1 byte de datos

Wire.requestFrom(Addr,1);

Lee 1 byte de datos

if(Wire.Available() == 1)

{

datos [i] = Wire.read();

}

}

Convertir los datos

T2 = (datos [1] * 256.0) + datos [0];

para (int i = 0; i < 2; i ++)

{

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Enviar registro de datos

Wire.Write ((62 +));

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 1 byte de datos

Wire.requestFrom(Addr,1);

Lee 1 byte de datos

if(Wire.Available() == 1)

{

datos [i] = Wire.read();

}

}

Convertir los datos

T3 = (datos [1] * 256.0) + datos [0];

Iniciar transmisión I2C

Wire.beginTransmission(Addr);

Enviar registro de datos

Wire.Write(0x28 | 0x80);

Detener la transmisión I2C

Wire.endTransmission();

Solicitud de 4 bytes de datos

Wire.requestFrom(Addr,4);

Lee 4 bytes de datos

humedad msb, lsb de humedad, temp msb, lsb temp

if(Wire.Available() == 4)

{

Val [0] = Wire.read();

Val [1] = Wire.read();

Val [2] = Wire.read();

Val [3] = Wire.read();

}

Convertir los datos

flotador de humedad = (val [1] * 256.0) + val [0];

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

int temp = (val [3] * 256) + val [2];

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

flotador fTemp = (cTemp * 1.8) + 32;

Salida de datos monitor serial

Serial.Print ("humedad relativa:");

Serial.Print(Humidity);

Serial.println ("% RH");

Serial.Print ("temperatura en grados Celsius:");

Serial.Print(cTemp); Serial.println ("C");

Serial.Print ("temperatura en grados Fahrenheit:");

Serial.Print(fTemp);

Serial.println ("F");

Delay(500);

}

Artículos Relacionados

Frambuesa Pi HTS221 de humedad relativa y temperatura Sensor Java Tutorial

Frambuesa Pi HTS221 de humedad relativa y temperatura Sensor Java 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
Arduino Nano - MPL3115A2 altímetro de precisión Sensor Tutorial

Arduino Nano - MPL3115A2 altímetro de precisión Sensor 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
Arduino AMS5812_0050-D-B presión y temperatura Sensor Tutorial

Arduino AMS5812_0050-D-B presión y temperatura Sensor Tutorial

AMS5812 Sensor de presión amplificados con analógicas y salidas digitales es un sensor de alta precisión con una salida de voltaje analógico y digital I2C interfaz. Combina un piezorresistivo elemento de detección con un elemento para su operación de
Arduino Nano - A20 SI7006 humedad y temperatura Sensor Tutorial

Arduino Nano - A20 SI7006 humedad y temperatura Sensor 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
Arduino Nano - HDC1000 temperatura Sensor Tutorial

Arduino Nano - HDC1000 temperatura Sensor Tutorial

El HDC1000 es un sensor de humedad digital con sensor de temperatura integrado que proporciona una medición excelente precisión a muy baja potencia. El aparato mide humedad basado en un nuevo sensor capacitivo. Los sensores de humedad y temperatura s
Arduino Nano: Presión barométrica y temperatura BMP180 con Visuino

Arduino Nano: Presión barométrica y temperatura BMP180 con Visuino

BMP180 son sensores de temperatura y Arduino presión barométrica combinados muy populares. Puede utilizarse para estaciones meteorológicas, así como para medir la altitud.En este Instructable, voy a mostrarles, lo fácil que es programar el Arduino pa
Arduino Nano - STS21 temperatura Sensor Tutorial

Arduino Nano - STS21 temperatura Sensor Tutorial

Sensor de temperatura Digital STS21 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 la rendimie
Partícula fotón - HDC1000 temperatura Sensor Tutorial

Partícula fotón - HDC1000 temperatura Sensor Tutorial

El HDC1000 es un sensor de humedad digital con sensor de temperatura integrado que proporciona una medición excelente precisión a muy baja potencia. El aparato mide humedad basado en un nuevo sensor capacitivo. Los sensores de humedad y temperatura s
Partícula fotón - STS21 temperatura Sensor Tutorial

Partícula fotón - STS21 temperatura Sensor Tutorial

Sensor de temperatura Digital STS21 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 la rendimie
Arduino Nano con DHT11, RTC DS1307 y LCD 16 x 2

Arduino Nano con DHT11, RTC DS1307 y LCD 16 x 2

Hola. Este es mi primer Instructable, así que espero que va a estar bien.Este es mi proyecto de Arduino Nano con LCD I2C Junta, RTC DS1307 y sensor DHT11.Para este proyecto usé Arduino Nano, RTC DS1307 reloj tablero, tablero del sensor DHT11, 16 x 2
Arduino Nano - Tutorial de Sensor de temperatura y la humedad SHT30

Arduino Nano - Tutorial de Sensor de temperatura y la humedad SHT30

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
Arduino Nano: Temperatura y humedad DHT11/DHT21/DHT22 Sensor módulo Visuino

Arduino Nano: Temperatura y humedad DHT11/DHT21/DHT22 Sensor módulo Visuino

DTH11 / DTH21 / DTH22 y AM2301son sensores de temperatura y humedad Arduino combinados muy populares.En este Instructable, voy a mostrarles, lo fácil que es programar el Arduino para utilizarlos, con Visuino - un ambiente de desarrollo gráfico fácil
Arduino Nano TM1637 4 dígitos pantalla DHT11 temperatura Sensor de humedad

Arduino Nano TM1637 4 dígitos pantalla DHT11 temperatura Sensor de humedad

Arduino Nano TM1637 4 dígitos pantalla sensor de humedad temperatura DHT11Video de YouTubeDocumentos
Arduino Nano 5110 pantalla LCD temperatura DHT11 Sensor de humedad

Arduino Nano 5110 pantalla LCD temperatura DHT11 Sensor de humedad

Arduino Nano 5110 LCD pantalla DHT11 temperatura sensor de humedadVideo de YouTubeDocumentos