SENSOR DE TEMPERATURA CON ARDUINO

En esta ocasión vamos a realizar el código para un sensor de temperatura con Arduino usando un sensor DHT 11. en este post aremos el código de modo que la temperatura y la humedad se muestre en el monitor serie de Arduino, en otro post mas adelante lo aremos con un display LCD.


Descripción del DHT11


El DHT11 es un sensor de temperatura y humedad digital de bajo costo. Utiliza un sensor capacitivo de humedad y un termistor para medir el aire circundante, y muestra los datos mediante una señal digital en el pin de datos (no hay pines de entrada analógica). Es bastante simple de usar, pero requiere sincronización cuidadosa para tomar datos. El único inconveniente de este sensor es que sólo se puede obtener nuevos datos una vez cada 2 segundos, así que las lecturas que se pueden realizar serán mínimo cada 2 segundos.
En comparación con el DHT22, este sensor es menos preciso, menos exacto y funciona en un rango más pequeño de temperatura / humedad, pero su empaque es más pequeño y menos caro.


Características

  • Alimentación: 3Vdc ≤ Vcc ≤ 5Vdc

  • Rango de medición de temperatura: 0 a 50 °C

  • Precisión de medición de temperatura: ±2.0 °C .

  • Resolución Temperatura: 0.1°C

  • Rango de medición de humedad: 20% a 90% RH.

  • Precisión de medición de humedad: 4% RH.

  • Resolución Humedad: 1% RH

  • Tiempo de censado: 1 seg.
Para poder usar este sensor con Arduino aremos uso de una librería de adadfruid la cual podremos descargar directamente del gestor de librerías del IDE de Arduino.

código


#include <DHT.h>
#include <DHT_U.h>
 #define DHTPIN 2
 #define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
const int ledverde = 5;
const int ledambar = 6;
const int ledrojo = 7;
void setup() {
  Serial.begin(9600);
pinMode (ledrojo, OUTPUT);
pinMode (ledambar, OUTPUT);
pinMode (ledverde, OUTPUT);

  dht.begin();
}

void loop() {
  
  delay(200);

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

  
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Error");
    return;
  }

  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);

  Serial.print("Humedad: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperatura: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.println(" ");
  Serial.println(" ");
  ///////////////////////////
  if (t<=23){
    digitalWrite (ledverde, HIGH); 
 t= dht.readTemperature();
    delay(2000);
  }
  else
  digitalWrite (ledverde,LOW);
  /////////////////////////////
  if (t==26){
    digitalWrite (ledambar, HIGH); 
 t= dht.readTemperature();
    delay(2000); 
    
  }
    
   else
  digitalWrite (ledambar,LOW); 
  //////////////////////////////////////////////////////////////

  if (t>=31){
    digitalWrite (ledrojo, HIGH); 
 t= dht.readTemperature();
    delay(2000); 
    
  }
   else
  digitalWrite (ledrojo,LOW); 

  }


Comentarios

prieva

loading...

Entradas populares

CONTACTANOS

Nombre

Correo electrónico *

Mensaje *