Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Recientemente hemos trabajado en varios proyectos que requerían monitoreo de temperatura y humedad y luego nos dimos cuenta de que estos dos parámetros realmente juegan un papel fundamental para tener una estimación de la eficiencia de trabajo de un sistema. Tanto a nivel industrial como en sistemas personales, un nivel de temperatura óptimo es el requisito para el adecuado funcionamiento del sistema.
Esta es la razón, en este tutorial vamos a explicar el funcionamiento del sensor de humedad y temperatura SHT25 con Arduino Nano.
Paso 1: Descripción general de SHT25:
En primer lugar, comencemos con la comprensión básica del sensor y el protocolo en el que funciona.
SHT25 I2C Sensor de temperatura y humedad ± 1.8% RH ± 0.2 ° C Mini módulo I2C. Es un sensor de humedad y temperatura de alta precisión que se ha convertido en un estándar de la industria en términos de factor de forma e inteligencia, proporcionando señales de sensor calibradas y linealizadas en formato digital I2C. Integrado con un circuito analógico y digital especializado, este sensor es uno de los dispositivos más eficientes para medir la temperatura y la humedad.
El protocolo de comunicación sobre el que trabaja el sensor es I2C. I2C significa circuito interintegrado. Es un protocolo de comunicación en el que la comunicación se realiza a través de líneas SDA (datos en serie) y SCL (reloj en serie). Permite conectar varios dispositivos al mismo tiempo. Es uno de los protocolos de comunicación más simples y eficientes.
Paso 2: ¡¡Lo que necesitas …
Los materiales que necesitamos para lograr nuestro objetivo incluyen los siguientes componentes de hardware:
1. Sensor de temperatura y humedad SHT25
2. Arduino Nano
3. Cable I2C
4. Escudo I2C para Arduino nano
Paso 3: 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 arduino nano. 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 SHT25 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 4: Código de monitoreo de temperatura y humedad:
Comencemos ahora con el código Arduino.
Mientras usamos el módulo de sensor con Arduino, incluimos la biblioteca Wire.h. La biblioteca "Wire" contiene las funciones que facilitan la comunicación i2c entre el sensor y la placa Arduino.
El código completo de Arduino se proporciona a continuación para la conveniencia del usuario:
#incluir
// La dirección SHT25 I2C es 0x40 (64)
#define Addr 0x40
configuración vacía ()
{
// Inicializar la comunicación I2C como MASTER
Wire.begin ();
// Inicializar la comunicación en serie, configurar la velocidad en baudios = 9600
Serial.begin (9600);
retraso (300);
}
bucle vacío ()
{
datos int sin firmar [2];
// Iniciar transmisión I2C
Wire.beginTransmission (Addr);
// Enviar comando de medición de humedad, maestro NO HOLD
Wire.write (0xF5);
// Detener la transmisión I2C
Wire.endTransmission ();
retraso (500);
// Solicita 2 bytes de datos
Wire.requestFrom (Dirección, 2);
// Leer 2 bytes de datos
// humedad msb, humedad lsb
si (Cable disponible () == 2)
{
datos [0] = Wire.read ();
datos [1] = Wire.read ();
// Convertir los datos
humedad de flotación = (((datos [0] * 256,0 + datos [1]) * 125,0) / 65536,0) - 6;
// Salida de datos a Serial Monitor
Serial.print ("Humedad relativa:");
Serial.print (humedad);
Serial.println ("% RH");
}
// Iniciar transmisión I2C
Wire.beginTransmission (Addr);
// Enviar comando de medición de temperatura, maestro NO HOLD
Wire.write (0xF3);
// 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
si (Cable disponible () == 2)
{
datos [0] = Wire.read ();
datos [1] = Wire.read ();
// Convertir los datos
float cTemp = (((datos [0] * 256.0 + datos [1]) * 175.72) / 65536.0) - 46.85;
float fTemp = (cTemp * 1.8) + 32;
// Salida de datos a Serial Monitor
Serial.print ("Temperatura en grados Celsius:");
Serial.print (cTemp); Serial.println ("C");
Serial.print ("Temperatura en Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
}
retraso (300);
}
Todo lo que necesita hacer es grabar el código en Arduino y verificar sus lecturas en el puerto serie. La salida se muestra en la imagen de arriba.
Paso 5: Aplicaciones:
El sensor de temperatura y humedad relativa SHT25 tiene varias aplicaciones industriales como monitoreo de temperatura, protección térmica periférica de computadora. También hemos empleado este sensor en aplicaciones de estaciones meteorológicas, así como en sistemas de monitoreo de invernaderos.