top of page

Arduino + sensor de temperatura y humedad DHT-11

Hoy vamos a probar como hacer una pequeña estación con Arduino capaz de mostrarnos por Serial la temperatura y humedad del ambiente.
Para ello vamos a utilizar el sensor de temperatura y humedad DHT-11 (datasheet).



El sensor DHT-11 es un sensor de temperatura y humedad de salida digital.

El sensor inluye un componente resistivo para medir la humedad y una NTC para medir la temperatura.

Los elementos de medida se conectan a un microcontralador de 8 bits para enviar los datos.

A la hora de implementar el sensor con Arduino, es necesario bajar una librería propia. (Librería).

La conexión con Arduino es muy sencilla. 



  1. Patilla izquierda a +5Voltios.
  2. Patilla 2 al puerto digital que queramos y con una resistencia de 10k a +5Volts.
  3. Patilla 3 a tierra (Ground). 
  4. Patilla derecha a tierra (Ground).

Ya una vez conectado el sensor pasaremos a crear el código en el IDE.

/* Programa para leer temperatura y humedad del ambiente */



/* Librerías */
#include "DHT.h"

/* Definición de variables */
#define DHTPIN 2     // pin digital donde conectamos el sensor

//#define DHTTYPE DHT22   // DHT 22
#define DHTTYPE DHT11     // DHT 11  Usamos el sensor más económico y con menos precisión

//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Conectamos el pin 1 (el izquierdo) a la salida de +5V
// Conectamos el pin 2 del sensor al pin que hayamos denominado DHTPIN
// Conectamos el pin 4 (el de la derecha) a GROUND
// Conectamos una resistencia de 10K del pin 2 (data) al pin 1 (power) del sensor

DHT dht(DHTPIN, DHTTYPE);

/* Configuración del sistema */
void setup() {
  pinMode(2, INPUT);
            //Declaramos el pin 2 como entrada
 
Serial.begin(9600);             // Iniciamos la comunicación serie
 
Serial.println("DHTxx test!");

 
dht.begin();                         // Iniciamos el sensor
}

/* Bucle infinito */
void loop() {
 
// Leer la temperatura o humedad tarda alrededor de 250mS
  // Las lecturas del sensor pueden llegar con 2 segundos de retardo (es un sensor muy barato)

 
float h = dht.readHumidity();
  float t = dht.readTemperature();

  // Comprobamos si lo que devuelve el sensor es válido, si son NaN (not a number) entonces hay algo mal!
 
if (isnan(t) || isnan(h)) {
    Serial.println("Failed to read from DHT");
  } else {
    Serial.print("Humedad: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperatura: ");
    Serial.print(t);
    Serial.println(" *C");
  }
}

Exprimiendo neuronas

Copyright 2023 My Site Name. No Animals were harmed in the making. Click me to edit me.

bottom of page