meta data de esta página
  •  

1. Temperatura y Humedad con Sensor DHT 11

Materiales

  • Sensor DHT11
  • Resistencia de 10K
  • Protoboard
  • Cables de conexión para protoboard
  • Cable usb para conexión con Arduino
  • Arduino. En mi caso he usado un arduino nano

Conexiones

  • Se conecta el arduino nano en el centro de la protoboard.
  • Sensor DHT11
    • Pin 1: +5V en Arduino
    • Pin 2: Digital 2 en Arduino
    • Pin 3: No se utiliza
    • Pin 4: Gnd en Arduino
  • Se utiliza una resistencia pull up de 10K entre el Pin 2 del sensor y +5V de Arduino.

Programación

Antes que nada debemos cargar la siguiente librería creada por Adafruit para el sensor de temperatura (https://github.com/adafruit/DHT-sensor-library).

Nos descargamos el fichero zip de la librería y ejecutamos el programa Arduino IDE. Vamos al menú Sketch → Importar Libreria → Add Library y seleccionamos el fichero con la extensión zip que nos hemos descargado.

Copiamos el siguiente programa creado en la página Internet de las Cosas <sxh c; gutter:true > Internet de las Cosas www.internetdelascosas.cl Sketch de prueba para sensores DHT humedad / temperatura Escrito por @joniuz basado en el sketch de Ladyada

Libreria para Sensores DHT #include “DHT.h” #define DHTPIN 2 Pin del Arduino al cual esta conectado el pin 2 del sensor

Descomentar segun el tipo de sensor DHT usado #define DHTTYPE DHT11 DHT 11 #define DHTTYPE DHT22 DHT 22 (AM2302) #define DHTTYPE DHT21 DHT 21 (AM2301)

Diagrama Pin 1 Sensor a +5V de Arduino Pin 2 Sensor a HDTPIN (en este sketch es el pin 2) Pin 4 Sensor a GROUND de Arduino Resistencia de 10K desde Pin 2 de sensor a Pin 1 de Sensor o +5V Inicializa el sensor DHT dht(DHTPIN, DHTTYPE);

Configura Arduino void setup() { Serial.begin(9600); Serial.println(“InternetdelasCosas.cl\n\nPrueba de sensor DHTxx!”); dht.begin(); } void loop() { Espera dos segundos para realizar la primera medición.

delay(2000);
// Lee los datos entregados por el sensor, cada lectura demora 250 milisegundos
// El sensor muestrea la temperatura cada 2 segundos}

// Obtiene la Humedad
float h = dht.readHumidity();
// Obtiene la Temperatura en Celsius
float t = dht.readTemperature();

// Control de errores, valida que se obtuvieron valores para los datos medidos
if (isnan(h) || isnan(t)) {
  Serial.println("Falla al leer el sensor DHT!");
  return;
}
Serial.print("Humedad: "); 
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperatura: "); 
Serial.print(t);
Serial.println(" *C ");

} </sxh>

Una vez verificado y cargado en nuestro arduino podemos ver en la salida como van apareciendo cada dos segundos los valores de temperatura y humedad.

no necesita alimentación externa ya que se puede alimentar del propio cable USB de conexión al ordenador

Referencias