#include <DHT11.h>
#include <SoftwareSerial.h>
#define ID_TEMP 'T'
#define ID_HUM 'H'
#define ID_HUM_TIERRA 'L'
#define ID_ERR 'E'
int pinSensorAire = 4;
int pinSensorTierra = A0;
int humedad_Aire_Anterior = 0;
int humedad_Tierra_Anterior = 0;
int temp_Aire_Anterior = 0;
DHT11 dht11(pinSensorAire);
SoftwareSerial serie(5, 6); //RX, TX
void setup()
{
//Serial.begin(9600); for test
serie.begin(9600);
}
void loop()
{
int hum_tierra = analogRead(pinSensorTierra);
enviarDato(ID_HUM_TIERRA, hum_tierra); // ejemplo "L32"
int err;
float temp, humi;
if ((err = dht11.read(humi, temp)) == 0){
enviarDato(ID_TEMP, temp); // ejemplo "T37"
enviarDato(ID_HUM, humi); // ejemplo "H32"
humedad_Aire_Anterior = humi;
temp_Aire_Anterior = temp;
}else{
enviarDato(ID_ERR, err); // ejemplo "E1"
}
delay(DHT11_RETRY_DELAY); //delay for reread
temp_Aire_Anterior = hum_tierra;
}
void enviarDato(char identificador, int dato){
//Serial.print(identificador); for test
//Serial.println(dato); for test
serie.print(identificador);
serie.println(dato);
}