Seguidores que han visitado nuestro blog

Entradas populares

martes, 28 de junio de 2022

DHT11.SENSOR DE TEMP Y HUMEDAD

El sensor de temperatura y humedad DHT11 presenta un complejo de sensores de temperatura y humedad con una salida de señal digital calibrada. Al utilizar la técnica exclusiva de adquisición de señal digital y la tecnología de detección de temperatura y humedad, garantiza una alta fiabilidad y una excelente estabilidad a largo plazo. Este sensor incluye un componente de medición de humedad de tipo resistivo y un componente de medición de temperatura NTC, y se conecta a un microcontrolador de 8 bits de alto rendimiento, que ofrece excelente calidad, respuesta rápida, capacidad antiinterferente y rentabilidad..[1]

El voltaje de alimentación debe estar entre 3.3V y 5V DC. Cuando se suministra energía al sensor, no le envíe ninguna instrucción dentro de un segundo para pasar el estado inestable. Se puede agregar un condensador de 100nF entre VDD y GND para el filtrado de ondas.

Cada sensor de este modelo tiene compensación de temperatura y está calibrado en una cámara de calibración precisa y el coeficiente de calibración se guarda en el tipo de programa en la memoria OTP, cuando el sensor está detectando, citará el coeficiente de la memoria.

El tamaño pequeño, el bajo consumo y la larga distancia de transmisión (20 m) permiten que DHT11 sea adecuado en todo tipo de aplicaciones difíciles.










//Paso 1
#include "DHT.h"

//Paso 2
#define DHTPIN 2
#define DHTTYPE DHT11

//Paso 3
DHT dht(DHTPIN, DHTTYPE);

void setup() {
    //Paso 4
    Serial.begin(9600);
    Serial.println("DHTxx test!");
    dht.begin();
}

void loop() {  
    delay(2000);
    
    //Paso 5
    float h = dht.readHumidity();
    
    //Paso 6
    float t = dht.readTemperature();
    
    //Paso 7
    float f = dht.readTemperature(true);

    //Paso 8
    if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
    }

    //Paso 9
    float hif = dht.computeHeatIndex(f, h);
    float hic = dht.computeHeatIndex(t, h, false);

    //Paso 10
    Serial.print("Humidity: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(t);
    Serial.print(" *C ");
    Serial.print(f);
    Serial.print(" *F\t");
    Serial.print("Heat index: ");
    Serial.print(hic);
    Serial.print(" *C ");
    Serial.print(hif);
    Serial.println(" *F");
}

Funcionamiento

A continuación explicamos los pasos del código anterior.

  1. Cargamos la librería del DHT11, esta tiene que estar guardada en el equipo.
  2. Con la variables DHTPIN definimos el pin de datos que va a hacer el dos y la variable DHTTYPE definimos el tipo de sensor a usar que es el DHT11.
  3. Obtenemos la instancia del objeto de la clase DHT, donde le pasamos como parámetros la declaración del pin y del tipo de sensor a usar.
  4. Inicializamos el puerto serial y el modulo DHT con begin.
  5. Con readHumidity() obtenemos la humedad y la almacenamos en una variable de tipo flotante.
  6. Con readTemperature() obtenemos la temperatura en grados celsius y la almacenamos en una variable de tipo flotante.
  7. Con readTemperature(true) obtenemos la temperatura en grados fahrenheit y la almacenamos en una variable de tipo flotante.
  8. Validamos si obtubimos resultados en las lecturas anteriores, si da error o no tenemos datos mostramos un error por consola.
  9. Con computeHeatIndex() obtenemos la sensación térmica del ambiente, esta se calcula con la temperatura y humedad, nos puede devolver los valores en grados celsius o fahrenheit.

pila

pila
ESTRUCTURA

Archivo del blog