Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
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. Aquí está su demostración con fotones de partículas.
Paso 1: ¡¡Lo que necesitas …
1. Fotón de partículas
2. HDC1000
3. Cable I²C
4. Escudo I²C para fotones de partículas
Paso 2: Conexión:
Tome un escudo I2C para fotones de partículas y empújelo suavemente sobre los pines del fotón de partículas.
Luego, conecte un extremo del cable I2C al sensor HDC1000 y el otro extremo al blindaje I2C.
Las conexiones se muestran en la imagen de arriba.
Paso 3: Código:
El código de partículas para HDC1000 se puede descargar de nuestro repositorio de GitHub: Dcube Store.
Aquí está el enlace para el mismo:
github.com/DcubeTechVentures/HDC1000…
La hoja de datos de HDC1000 se puede encontrar aquí:
www.ti.com.cn/cn/lit/ds/symlink/hdc1000.pdf
Hemos utilizado dos bibliotecas para código de partículas, que son application.hy spark_wiring_i2c.h. Se requiere la biblioteca Spark_wiring_i2c para facilitar la comunicación I2C con el sensor.
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.
// HDC1000
// Este código está diseñado para funcionar con el Mini Módulo HDC1000_I2CS I2C disponible en Dcube Store.
#incluir
#incluir
// La dirección HDC1000 I2C es 0x40 (64)
#define Addr 0x40
float 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));
Particle.publish ("Temperatura en grados Celsius:", String (cTemp));
Particle.publish ("Temperatura en Fahrenheit:", String (fTemp));
retraso (1000);
}
Paso 4: 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.