Mostrando las entradas con la etiqueta humedad. Mostrar todas las entradas
Mostrando las entradas con la etiqueta humedad. Mostrar todas las entradas

domingo, 9 de julio de 2017

Sensor de humedad HIH-4000

Hoy les traigo el sensor de humedad HIH-4000, cuenta con una resolución de 31.483 mV por cada porcentaje de humedad relativa. Sus aplicaciones van desde la meteorología hasta (según la hoja de datos) equipamientos médicos.
Si se mira de frente (con la parte expuesta hacia nosotros) tenemos a la izquierda masa, en el centro la tensión de salida y a la derecha vcc. Se alimenta con 5V y entre el pin que va a masa y el de salida deberíamos agregarle una resistencia de 80Kohms.

El sensor recuadrado en rojo es la parte expuesta, y de
izquierda a derecha tenemos: GND, Salida, VCC
Este sensor tiene una respuesta bastante lineal, por lo que podemos tomar desde 0% hasta el 100% de humedad el incremento de la tensión que mencioné más arriba, pero para una humedad relativa de 0% tenemos 0,826V
A continuación les dejo un breve programa capaz de manejar los datos.

void setup()
{
  Serial.begin(9600);
}

void loop() 
{
  int humedad = 0, vout = 0;
  vout = analogRead(a0);
  humedad = ((vout - 0.826)/0.0315);
  Serial.println(humedad);  
}

Como el sensor se alimenta con 5V y tiene una tensión de salida que varía entre 0V y casi 4V es difícil implementarlo de forma directa (es decir sin ningún circuito adicional) con el microcontrolador ESP8266, recordemos que este micro se alimenta con 3,3V y es capaz de "leer" tensiones analógicas de hasta 1V. Con esto en mente, si alimentamos nuestro ESP8266 con 5V que luego regulamos, podríamos tomar esa tensión sin regular para alimentar el sensor de humedad, y si al pin de salida le agregamos un divisor resistivo con una atenuación de 1 a 4 podríamos usarlo sin ningún problema en ese microcontrolador. De más está decir que este sensor es de muchísima mejor calidad que la familia DHT.

sábado, 25 de julio de 2015

Sensor DHT 11, 22 y 21

Bueno, acá les dejo la librería del DHT, como se puede notar dunciona para las versiones 11, 21 y 22.

El módulo de la imágen es el "DHT 11" y si se mira de frente los pines son el gnd (se puede alimentar desde 3,3v hasta 5v), datos y positivo. No es una herramienta de precisión, porque tiene errores (teóricos) del 5% en humedad y 2ºC en temperatura.

Tiene un rango que va desde los 0ºC hasta los 50ºC.

En el ejemplo adjunto a la librería se puede ver cual es la programación que conlleva (muy sencilla), pero se la puede simplificar más aun.

Acá les dejo un sencillo programa para obtener los datos de temperatura y humedad




#include "DHT.h"
#define DHTPIN 22
#define DHTTYPE DHT11                                      
DHT dht(DHTPIN, DHTTYPE);

void setup () {

  Serial.begin(9800);
  dht.begin();

}

void loop () {

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

  Serial.print("temperatura: ");
  Serial.print(t);
  Serial.print("    humedad: ");
  Serial.println(h);
  delay(100);

}

El echo de declarar las variables como int, no influye casi, dado que no tiene la resolución necesaria para mostrar fracciones de grado.

Descargas:

DHT:
https://mega.co.nz/#!K0hi2YaC!Spubjr7ApxeBBqBSpDXeofYLQ9JDDn4AfqzeWCas4lA