Help needed with DHT11 temperature and humidity sensor

Posted on
  • Hello,
    I am trying to get DHT11(temperature and humidity) sensor working with Espruino on ESP32. I get the below output, which as per the documentation means no data is being received.

    {"err":true,"checksumError":false,"raw":­"","temp":-1,"rh":-1}
    

    Code

    var dht = require("DHT11").connect(D17);
    
    function onInit() {
        setInterval(function () {
            dht.read(function (a) {
                console.log(JSON.stringify(a));
            });
        }, 3000);
    }
    
    onInit();
    

    Interestingly, with the same wiring DHT11 works fine using "Arduino core for ESP32". Not sure what I am doing wrong in the Espruino.

    This is the board that I am using https://wiki.wemos.cc/products:lolin32:l­olin32
    Pin out - https://arduino-projekte.info/wp-content­/uploads/2017/07/lolin32_pinout.png

    Thanks in advance.

  • Which firmware for ESP32 are you using? I know some older ones had trouble with setWatch, which this module uses.

  • Thanks for the reply. Much appreciated.

    I am using 1v95 firmware. I have also downloaded the latest "espruino_1v95_esp32.bin" from http://www.espruino.com/binaries/travis/­master/
    but no success.

  • @Wilberforce do you have any thoughts on this one? I'm sure DHT11 has been working in the past?

  • Yes - I'm sure someone on here recently used this device with the esp32....

    The settimeout bug you mentioned rebooted the device, so it's not related to this.

  • http://forum.espruino.com/comments/13155­158/

    Perhaps the difference is due to pull ups on the pins?

    Try an external resistor?

  • Hello,
    I originally had a 10k pull-up resistor between the Data and Vcc pins. I have now tried 1K resistor but that has not helped either.

    Interestingly, I have observed that I either get No data or a "Guru Meditation Error of type IllegalInstruction occurred on core 0. Exception was unhandled." based on which pin I choose.

    e.g.

        pin 15 - {"temp":-1,"rh":-1}
        pin 22 - Guru Meditation Error of type IllegalInstruction occurred on core  0
        pin 16 - Guru Meditation Error of type IllegalInstruction occurred on core  0
    

    I think this person is facing the same issue. http://forum.espruino.com/conversations/­316936/

    Thanks a lot.

  • Where did you get D17 from?

    A quick google here:

    https://github.com/search?utf8=%E2%9C%93­&q=higrow&type=

    The mongoose project uses D22. It could be the same - no way of knowing without trying ...

    You might need to trace from the dht11 to see what pin it is connected to.

  • I believe I have confused you, sorry. I am using an external DHT11(not integrated with ESP32), but I get the same error as the other person(with integrated DHT11) if I connect DHT11 to Pin 22.

  • Looking at the wiring here: http://randomnerdtutorials.com/esp32-dht­11-dht22-temperature-humidity-web-server­-arduino-ide/

    There are wiring to io16. so you would use D16.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Help needed with DHT11 temperature and humidity sensor

Posted by Avatar for Chaapu @Chaapu

Actions