Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Announcements
  3. 💬 Air Humidity Sensor - DHT

💬 Air Humidity Sensor - DHT

Scheduled Pinned Locked Moved Announcements
149 Posts 48 Posters 47.8k Views 38 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Maschler
    wrote on last edited by
    #141

    @bgunnarb
    You are right. I had to define a sensor id and now it works perfectly :) Thank you very much!

    1 Reply Last reply
    0
    • R Offline
      R Offline
      roachgf85
      wrote on last edited by
      #142

      Note: Double check your DHT11 module! The pinouts of the PCB of my DHT11 module differed from those in this article. My leftmost pin was Data out, the middle pin was VCC and the right was GND.

      1 Reply Last reply
      0
      • cneroneC Offline
        cneroneC Offline
        cnerone
        wrote on last edited by
        #143

        Hi all,
        I recoded this sketch and I posted on GitHub (1 year ago, and I updated it today). It runs good from 1 year with no issues.
        I don't know why it's still not merged in master branch. I forgot to do some action??
        Can anyone help me? please.
        Meanwhile you can download and use it; this is its link:
        https://github.com/cnerone/MySensorsArduinoExamples/blob/master/examples/DhtTemperatureAndHumiditySensor/DhtTemperatureAndHumiditySensor.ino

        mfalkviddM 1 Reply Last reply
        1
        • cneroneC cnerone

          Hi all,
          I recoded this sketch and I posted on GitHub (1 year ago, and I updated it today). It runs good from 1 year with no issues.
          I don't know why it's still not merged in master branch. I forgot to do some action??
          Can anyone help me? please.
          Meanwhile you can download and use it; this is its link:
          https://github.com/cnerone/MySensorsArduinoExamples/blob/master/examples/DhtTemperatureAndHumiditySensor/DhtTemperatureAndHumiditySensor.ino

          mfalkviddM Offline
          mfalkviddM Offline
          mfalkvidd
          Mod
          wrote on last edited by
          #144

          @cnerone no you did 't forget anything. It is just that the external examples don't get much attention and are a bit truoublesome (due to the need of handling third party libraries).

          1 Reply Last reply
          0
          • R Offline
            R Offline
            rmalbers
            wrote on last edited by
            #145

            I used the code that cnerone has in his comment below with a nano and DHT22 and it worked great. For my nano I did have to use the 'old' bootloader for the program to download into the nano correctly with the arduino IDE. The code in the example here wouldn't compile for me, I think because someone changed the DHT library but for some reason kept the name the same so I ran into some kind of conflicts with variables. I wish when people modified libraries they would give them new/different names because the IDE does not have a good way of handling multiple libraries with the same name. BTW: That is not a MySensors issue, it's the IDE.

            1 Reply Last reply
            0
            • R Offline
              R Offline
              rmalbers
              wrote on last edited by
              #146

              Also, I could not get a clean compile/download to a arduino mini 3.3v with 168 processor. From what I could find there is not enough memory to handle the newest mysensor libraries, at least that's what some people are saying in forums. I didn't spend much time on it and moved on to other arduinos.

              1 Reply Last reply
              0
              • C Offline
                C Offline
                catchra
                wrote on last edited by
                #147

                For any one that needs it this is how I got the DHT22 to work.
                This is my poor attempt at trying to get the DHT22 to work as the original code
                https://github.com/cnerone/MySensorsArduinoExamples/blob/master/examples/DhtTemperatureAndHumiditySensor/DhtTemperatureAndHumiditySensor.ino
                will not compile for me.

                // Enable debug prints
                #define MY_DEBUG
                
                // Enable and select radio type attached 
                #define MY_RADIO_RF24
                //#define MY_RADIO_RFM69
                //#define MY_RS485
                
                #define MY_RF24_CE_PIN 9
                #define MY_RF24_CS_PIN 10
                
                #include <SPI.h>
                #include <MySensors.h>  
                #include <DHT.h>
                
                // Set this to the pin you connected the DHT's data pin to
                #define DHTPIN 2     // what digital pin we're connected to
                #define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
                
                #define CHILD_ID_HUM 0
                #define CHILD_ID_TEMP 1
                
                MyMessage msgHum(CHILD_ID_HUM, V_HUM);
                MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
                DHT dht(DHTPIN, DHTTYPE);
                
                void presentation()  
                { 
                  // Send the sketch version information to the gateway
                  sendSketchInfo("TemperatureAndHumidity", "1.1");
                  
                  // Register all sensors to gw (they will be created as child devices)
                  present(CHILD_ID_HUM, S_HUM);
                  present(CHILD_ID_TEMP, S_TEMP);
                  
                }
                
                void setup()
                {
                  dht.begin(); // set data pin of DHT sensor
                
                }
                
                void loop()      
                {  
                 delay(2000);
                 // Reading temperature or humidity takes about 250 milliseconds!
                  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
                  float h = dht.readHumidity();
                  // Read temperature as Celsius (the default)
                  float t = dht.readTemperature();
                  // Read temperature as Fahrenheit (isFahrenheit = true)
                  float f = dht.readTemperature(true);
                
                  // Check if any reads failed and exit early (to try again).
                  if (isnan(h) || isnan(t) || isnan(f)) {
                    return;
                  }
                
                  // Compute heat index in Fahrenheit (the default)
                  float hif = dht.computeHeatIndex(f, h);
                  // Compute heat index in Celsius (isFahreheit = false)
                  float hic = dht.computeHeatIndex(t, h, false);
                  
                
                    send(msgTemp.set(f, 1));
                    send(msgHum.set(h, 1));
                
                  }
                
                skywatchS 1 Reply Last reply
                1
                • C catchra

                  For any one that needs it this is how I got the DHT22 to work.
                  This is my poor attempt at trying to get the DHT22 to work as the original code
                  https://github.com/cnerone/MySensorsArduinoExamples/blob/master/examples/DhtTemperatureAndHumiditySensor/DhtTemperatureAndHumiditySensor.ino
                  will not compile for me.

                  // Enable debug prints
                  #define MY_DEBUG
                  
                  // Enable and select radio type attached 
                  #define MY_RADIO_RF24
                  //#define MY_RADIO_RFM69
                  //#define MY_RS485
                  
                  #define MY_RF24_CE_PIN 9
                  #define MY_RF24_CS_PIN 10
                  
                  #include <SPI.h>
                  #include <MySensors.h>  
                  #include <DHT.h>
                  
                  // Set this to the pin you connected the DHT's data pin to
                  #define DHTPIN 2     // what digital pin we're connected to
                  #define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
                  
                  #define CHILD_ID_HUM 0
                  #define CHILD_ID_TEMP 1
                  
                  MyMessage msgHum(CHILD_ID_HUM, V_HUM);
                  MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
                  DHT dht(DHTPIN, DHTTYPE);
                  
                  void presentation()  
                  { 
                    // Send the sketch version information to the gateway
                    sendSketchInfo("TemperatureAndHumidity", "1.1");
                    
                    // Register all sensors to gw (they will be created as child devices)
                    present(CHILD_ID_HUM, S_HUM);
                    present(CHILD_ID_TEMP, S_TEMP);
                    
                  }
                  
                  void setup()
                  {
                    dht.begin(); // set data pin of DHT sensor
                  
                  }
                  
                  void loop()      
                  {  
                   delay(2000);
                   // Reading temperature or humidity takes about 250 milliseconds!
                    // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
                    float h = dht.readHumidity();
                    // Read temperature as Celsius (the default)
                    float t = dht.readTemperature();
                    // Read temperature as Fahrenheit (isFahrenheit = true)
                    float f = dht.readTemperature(true);
                  
                    // Check if any reads failed and exit early (to try again).
                    if (isnan(h) || isnan(t) || isnan(f)) {
                      return;
                    }
                  
                    // Compute heat index in Fahrenheit (the default)
                    float hif = dht.computeHeatIndex(f, h);
                    // Compute heat index in Celsius (isFahreheit = false)
                    float hic = dht.computeHeatIndex(t, h, false);
                    
                  
                      send(msgTemp.set(f, 1));
                      send(msgHum.set(h, 1));
                  
                    }
                  
                  skywatchS Offline
                  skywatchS Offline
                  skywatch
                  wrote on last edited by
                  #148

                  @catchra This bit might be important.....
                  "This example uses a modified version of the external DHT library, which is included in the MySensors external examples. Please install it and restart the Arduino IDE before trying to compile."

                  Did you do this already?

                  C 1 Reply Last reply
                  0
                  • skywatchS skywatch

                    @catchra This bit might be important.....
                    "This example uses a modified version of the external DHT library, which is included in the MySensors external examples. Please install it and restart the Arduino IDE before trying to compile."

                    Did you do this already?

                    C Offline
                    C Offline
                    catchra
                    wrote on last edited by
                    #149

                    @skywatch
                    ya i did try that 1st but it did not work so I tried to get it to work with the updated lib and so far it has been working well

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    9

                    Online

                    11.7k

                    Users

                    11.2k

                    Topics

                    113.0k

                    Posts


                    Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • MySensors
                    • OpenHardware.io
                    • Categories
                    • Recent
                    • Tags
                    • Popular