Humedad y temperatura

El aire que nos rodea, tan transparente que permite vernos entre nosotros, contiene agua. Esa humedad que contiene el aire es la que, cuando se condensa, genera el rocío, las nieblas o las nubes, llegando incluso, a precipitarse al suelo.

Los seres humanos somo capaces de percibir grandes cambios de humedad en nuestro ambiente. Así, cuando entramos a un recinto cerrado con piscina, o cuando entramos al baño después de que alguien se duchase con agua caliente. En cambio, no seríamos capaces de decir en este momento qué humedad relativa contiene el aire en el que estamos. Para ello necesitaríamos un higrómetro.

En este caso, el sensor de humedad que utilizo en este experimento es el DHT11 que también es sensor de temperatura, es decir, termómetro.

Este sensor es tan sensible que varía su lectura con el simple gesto de acercarlo a la boca de una botella con agua. Esto resulta muy útil para que los alumnos vean que el aire contiene humedad en cantidades muy diferentes sin que esto sea visible para nosotros. Aunque, en apariencia, una masa de aire cargada de humedad no se puede distinguir visualmente de una más de aire más seca, dicha cantidad de agua disuelta en el aire se puede medir.

La lista de los componentes utilizados electrónicos son:

  • placa Arduino Nano (valdría cualquier otra placa de Arduino)

  • pantalla LCD 16x2 I2C (valdría cualquier pantalla; en el caso de no tener pantalla, bastaría conectar la placa al ordenador y visualizarlo por el puerto de serie)

  • Adaptador I2C IIC Interfaz Serie para Pantalla LCD

  • sensor DHT11 (el sensor DHT22 es más preciso pero más caro)

  • MB102 Breadboard Adaptador de Fuente de alimentación Módulo de Fuente de alimentación 3.3V / 5V para Arduino

  • Batería recargable


También realicé otro proyecto parecido en el que se podían consultar los datos de temperatura y humedad a través del móvil.

Ver código del proyecto en Arduino

#include <Wire.h>

#include <DHT.h>

#include <DHT_U.h>

#include <LiquidCrystal_I2C.h>


#define PIN 13


DHT dht(PIN, DHT11);


LiquidCrystal_I2C lcd(0x27,16,2);


void setup() {

Serial.begin(9600);

dht.begin();

lcd.init();

lcd.backlight();

lcd.clear();

}


void loop() {

float t = dht.readTemperature();

int h = dht.readHumidity();


Serial.print("Temperatura: ");

Serial.print(t);

Serial.print("ºC - Humedad: ");

Serial.println(h);


lcd.setCursor(0,0);

lcd.print("Temp: ");

lcd.setCursor(6,0);

lcd.print(t);

lcd.setCursor(12,0);

lcd.print("C");

lcd.setCursor(0,1);

lcd.print("Humedad: ");

lcd.setCursor(9,1);

lcd.print(h);

lcd.setCursor(12,1);

lcd.print("%");


delay(10000);

}