Check the new version here

Popular channels

Verdadera inteligencia colectiva ,Electrónica con rey_zeox







Hoy les mostrare como hacer un sensor de humedad y temperatura con arduino




En esta ocasión utilizaremos un sensor muy popular el cual es el DHT11 el cual es parte de la familia DHTxx. Este sensor es económico, básico y lento pero es excelente para hacer prototipos y experimentos. Este sensor está hecho a base de otros 2 sesores, un sensor capacitivo de humedad y un termistor. Además de esto cuenta con un pequeño chip que hace las conversiones de señal análogo a digital generando una única señal digital con la temperatura y la humedad. De este modo la señal es fácil de leer usando un microcontrolador.











El Arduino Mega 2560 es una placa electronica basada en el microprocesador Atmega2560
Posee 54 pines configurables como entradas/salidas digitales (de los cuales 14 se puede utilizar como salidas PWM), 16 entradas analógicas, 4 UARTs (puerto serial), un oscilador de cristal de 16 MHz, una conexión USB para descargar el software de operación (No requiere ningún programador externo), un conector de alimentación, un conector ICSP , y un botón de reset.
Esta placa contiene todo lo necesario para comenzar a programar en forma inmediata con el entorno de desarrollo arduino. Es compatible con la mayoría de las placas shield diseñadas para el arduino Duemilanove o Diecimila






Otras cosas que necesitaremos serán : 1 resistencia de 10 k ohms , un cable de datos ,estaño y soldador











Pasemos al conexionado del DHT 11



El circuito es muy fácil de armar ya que el sensor cuenta con solo 4 terminales las cuales son:
  • Vcc (3 a 5V)
  • Señal de datos
  • No usado
  • Tierra (GND)
Se necesita conectar una resistencia de 10K entre la terminal de Vcc y la terminal de datos, esto actúa como una resistencia de pull-up en la linea de datos. En el siguiente diagrama se muestra la forma en que se debe de conectar el circuito.




Para hacerlo mas practico soldé y prepare todo en un solo encapsulado , en caso que necesiten información sobre esto lo haré aparte ya que no quería cargar demasiado el post con paso a paso , esta parte es solamente soldar , algo que no es para nada difícil por eso lo salteamos











Programación



Para leer y transformar los datos que entrega el sensor es necesario utilizar una librería, en este tutorial utilizaremos la librería creada por Adafruit (simplemente buscas en google y aparece , por tema de links y demás no pondré la descarga). Para instalar la librería en tu Arduino (IDE) debes bajar el archivo comprimido zip luego descomprimir, dentro del archivo zip encontrarás una carpeta, copia esta carpeta al directorio donde están las librerías de tu "ambiente de desarrollo Arduino" (IDE) que en este ejemplo donde estamos utilizando Windows 8 están en C: Program Files (x86)Arduinolibraries, el contenido de la carpeta lo copiamos dentro de C: Program Files (x86)ArduinolibrariesDHT y reiniciamos el IDE. Una vez terminado el circuito y con la librería cargada es hora de comenzar a trabajar con el sketch para Arduino.



Les dejo el código por si quieren copiarlo o usarlo en cualquiera de sus proyectos


#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("Rey_zeox para taringannPrueba 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 ";
}


El programa visto desde la interface de pc ( IDE)



Vamos a hacer variar un poco la humedad y temperatura para que se note que hay diferencia con un encendedor



Certificada papu














0
0
0
6
0No comments yet
      GIF
      New