DHT11 and Atmega 8MHz

  • Hello everybody,

    I have trouble with DHT11 on Atmega328 3.3V 8MHz. I use the Humidity sketch and I have a lot of reading error.

    When I try the exemple sketch included in Arduino IDE, everything is ok, no error during 5 hours.

    With the humidity sketch, I have an error every 5 or 7 readings. Maybe an error in the library with timing communication with DHT11??

    Anybody can help me??

    Thank you in advance.

  • How often do you read from the DHT11, might not be an issue. But think you need to wait 1-2 sec pr. poll. (Depending on DHT11/22)

  • The sleeping time is 30 seconds.

  • @Thibthib02 Modify the arduino ide example sketch to work with mysensors and try it .

  • The example sketch is too complicated to modify to work with mysensors. Nobody here use the Humidity sketch with arduino @ 8MHz?

  • Admin

  • Did you try what they suggest here:
    This is for the DHT22, but maybe it relates to the DHT11? They also use a different library I think, but you could integrate that easily, I suppose.

  • I use this one => Adafruit

    #include <DHT.h>
    #define HYGRO_PIN 4         // Pin DHT11
    float hygrometrie_mem; 
    float hygro_temp_mem;  
    // hygrometrie
    MyMessage msg_hygro(HYGROMETRIE_CHILD, V_HUM);
     float hygro_temp = dht.readTemperature();
     float hygrometrie = dht.readHumidity();
     // isnan => Is Not A Number
     if (isnan(hygro_temp) || isnan(hygrometrie))
        Serial.println("Echec lecture du DHT");
     else if (hygro_temp != hygro_temp_mem) 
       hygro_temp_mem = hygro_temp;
      Serial.print("Temperature hygro : ");
      if (hygrometrie != hygrometrie_mem) 
        hygrometrie_mem = hygrometrie;
        gw.send(msg_hygro.set(hygrometrie, 1));
        Serial.print("Hygrometrie : ");

  • Hi,

    no problem at all. The humidity scetch is running fine with a pure atmega328p-pu and a DHT11.

    I have build it on a breadboard for you to see if it is working:


    As you see, the sensor starts and sends temperature and humidity value:

    sensor started, id 99
    send: 99-99-0-0 s=255,c=0,t=17,pt=0,l=5,st=ok:1.4.1
    send: 99-99-0-0 s=255,c=3,t=6,pt=1,l=1,st=ok:0
    read: 0-0-99 s=255,c=3,t=6,pt=0,l=2:M
    send: 99-99-0-0 s=255,c=3,t=11,pt=0,l=8,st=ok:Humidity
    send: 99-99-0-0 s=255,c=3,t=12,pt=0,l=3,st=ok:1.0
    send: 99-99-0-0 s=0,c=0,t=7,pt=0,l=5,st=ok:1.4.1
    read: 99-1-0 s=0,c=0,t=7,pt=0,l=5:1.4.1
    send: 99-99-0-0 s=1,c=0,t=6,pt=0,l=5,st=ok:1.4.1
    read: 99-1-0 s=1,c=0,t=6,pt=0,l=5:1.4.1
    send: 99-99-0-0 s=255,c=3,t=0,pt=1,l=1,st=ok:62
    read: 99-1-0 s=255,c=3,t=0,pt=1,l=1:62

    Normally I am using a DHT22 on my selfmade board.


  • Maybe a bad DHT11. I will more investigate tomorrow. Thank you guys.

  • @Andreas-Maurer Nice looking board!!

Log in to reply

Looks like your connection to MySensors Forum was lost, please wait while we try to reconnect.