Tabla de contenido:

Medición de temperatura y humedad con HDC1000 y fotón de partículas: 4 pasos
Medición de temperatura y humedad con HDC1000 y fotón de partículas: 4 pasos

Video: Medición de temperatura y humedad con HDC1000 y fotón de partículas: 4 pasos

Video: Medición de temperatura y humedad con HDC1000 y fotón de partículas: 4 pasos
Video: Sensando Temperatura y Humedad. Arduino + lm35 + sht21 2024, Mes de julio
Anonim
Image
Image

El HDC1000 es un sensor de humedad digital con sensor de temperatura integrado que proporciona una excelente precisión de medición a muy baja potencia. El dispositivo mide la humedad basándose en un sensor capacitivo novedoso. Los sensores de humedad y temperatura vienen calibrados de fábrica. Es funcional dentro del rango de temperatura total de -40 ° C a + 125 ° C.

En este tutorial se ha ilustrado la interfaz del módulo sensor HDC1000 con fotones de partículas. Para leer los valores de temperatura y humedad, hemos utilizado partículas 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. HDC1000

2. Fotón de partículas

3. Cable I2C

4. Escudo I2C para fotones de partículas

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 el fotón de partículas. 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 HDC1000 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

Comencemos ahora con el código de partículas.

Mientras usamos el módulo sensor con la partícula, incluimos application.hy la biblioteca spark_wiring_i2c.h. La biblioteca "application.h" y spark_wiring_i2c.h contiene las funciones que facilitan la comunicación i2c entre el sensor y la partícula.

El código de partículas completo se proporciona a continuación para comodidad del usuario:

#incluir

#incluir

// La dirección HDC1000 I2C es 0x40 (64)

#define Addr 0x40

doble cTemp = 0.0, fTemp = 0.0, humedad = 0.0;

int temp = 0, hum = 0;

configuración vacía ()

{

// Establecer variable

Particle.variable ("dispositivo i2c", "HDC1000");

Particle.variable ("humedad", humedad);

Particle.variable ("cTemp", cTemp);

// Inicializar la comunicación I2C

Wire.begin ();

// Inicializar la comunicación en serie, configurar la velocidad en baudios = 9600

Serial.begin (9600);

// Iniciar transmisión I2C

Wire.beginTransmission (Addr);

// Seleccionar registro de configuración

Wire.write (0x02);

// Temperatura, humedad habilitada, resolución = 14 bits, calentador encendido

Wire.write (0x30);

// Detener la transmisión I2C

Wire.endTransmission ();

retraso (300);

}

bucle vacío ()

{

datos int sin firmar [2];

// Iniciar transmisión I2C

Wire.beginTransmission (Addr);

// Enviar comando de medición de temperatura

Wire.write (0x00);

// Detener la transmisión I2C

Wire.endTransmission ();

retraso (500);

// Solicita 2 bytes de datos

Wire.requestFrom (Dirección, 2);

// Leer 2 bytes de datos

// temp msb, temp lsb

if (Cable disponible () == 2)

{

datos [0] = Wire.read ();

datos [1] = Wire.read ();

}

// Convertir los datos

temp = ((datos [0] * 256) + datos [1]);

cTemp = (temp / 65536.0) * 165.0 - 40;

fTemp = cTemp * 1.8 + 32;

// Iniciar transmisión I2C

Wire.beginTransmission (Addr);

// Enviar comando de medición de humedad

Wire.write (0x01);

// Detener la transmisión I2C

Wire.endTransmission ();

retraso (500);

// Solicita 2 bytes de datos

Wire.requestFrom (Dirección, 2);

// Leer 2 bytes de datos

// temp msb, temp lsb

if (Cable disponible () == 2)

{

datos [0] = Wire.read ();

datos [1] = Wire.read ();

}

// Convertir los datos

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

humedad = (hum / 65536.0) * 100.0;

// Salida de datos al tablero

Particle.publish ("Humedad relativa:", String (humedad));

retraso (1000);

Particle.publish ("Temperatura en grados Celsius:", String (cTemp));

retraso (1000);

Particle.publish ("Temperatura en Fahrenheit:", String (fTemp));

retraso (1000);

}

La función Particle.variable () crea las variables para almacenar la salida del sensor y la función Particle.publish () muestra la salida en el tablero del sitio.

La salida del sensor se muestra en la imagen de arriba para su referencia.

Paso 4: Aplicaciones:

Aplicaciones
Aplicaciones

HDC1000 se puede emplear en calefacción, ventilación y aire acondicionado (HVAC), termostatos inteligentes y monitores de habitaciones. Este sensor también encuentra su aplicación en impresoras, medidores portátiles, dispositivos médicos, envío de carga y desempañado de parabrisas de automóviles.

Recomendado: