dht11Para testear todo vamos a hacer un sketch básico donde leamos varios dht11. Hemos conectado 3 a los pines 2, 3 y 4. El esquema de conexionado no puede ser más sencillo: sólo tenemos que seguir las indicaciones de la imagen.

 

Este el código para probar todo


#include <dht11.h>

dht11 DHT11;

#define nSensores 3
int puertos[nSensores];
float fHumedades[nSensores];
float fTemperaturas[nSensores];

void setup()
{
  Serial.begin(115200);
  puertos={2,3,4};
}

void getdata(int iIndice)
{
  int chk = DHT11.read(puertos[iIndice]);

  Serial.print("Sensor ");
  Serial.print(iIndice);
  Serial.print(" ");
  switch (chk)
  {
    case 0:
      fHumedades[iIndice]=(float)DHT11.humidity;
      Serial.print(fHumedades[iIndice], 2);
      Serial.print(" % ");
      fTemperaturas[iIndice]=(float)DHT11.temperature;
      Serial.print(fTemperaturas[iIndice], 2);
      Serial.println(" o C");
        break;
    case -1: Serial.println(" Checksum error"); break;
    case -2: Serial.println(" Time out error"); break;
    default: Serial.println(" Unknown error"); break;
  }

}

void loop()
{
  for(int i=0;i<nSensores;i++)
    getdata(i);

  //delay(200);
}


Los datos que se leen cada 2 décimas de segundo se envían por el puerto serie. Con el monitor de puerto serie veremos los valores. Podemos apreciar en la siguiente imagen que la precisión de los sensores no es menor de los 2º que dice el fabricante. Próximamente espero realizar un estudio con los 10 sensores que tengo para ver la dispersion de sus medidas.

En el próximo capítulo veremos como acceder a los datos del sensor desde internet.

Javacasm

DHT11 en arduino ethernet 3: leyendo el sensor
Etiquetado en:                

2 thoughts on “DHT11 en arduino ethernet 3: leyendo el sensor

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *