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. Hardware
  3. DHT 11 can report decimals?

DHT 11 can report decimals?

Scheduled Pinned Locked Moved Hardware
3 Posts 3 Posters 8.1k Views 3 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
    moskovskiy82
    wrote on last edited by
    #1

    I'm running several sketches. DHT22 reports just fine values like xx.xx
    But DHT11 reports 0 decimals. So it is always like xx.00
    Is that standart for dht11?

    TheoLT 1 Reply Last reply
    0
    • mfalkviddM Offline
      mfalkviddM Offline
      mfalkvidd
      Mod
      wrote on last edited by mfalkvidd
      #2

      According to the data sheet, the accuracy of DHT11 is ±2℃. So reporting with decimals doesn't make sense. If the sensor is reporting 22 degrees the temperature might be anywhere between 20 and 24.

      The accuracy of the DHT22 (again, from datasheet) is ±0.2C. So for the DHT22 it makes sense to report one decimal, but be aware that if the sensor reports 22.4 degrees the real temperature can be anywhere between 22.2 and 22.6.

      See also http://forum.mysensors.org/topic/2686/improve-ds18b20-resolution

      1 Reply Last reply
      3
      • M moskovskiy82

        I'm running several sketches. DHT22 reports just fine values like xx.xx
        But DHT11 reports 0 decimals. So it is always like xx.00
        Is that standart for dht11?

        TheoLT Offline
        TheoLT Offline
        TheoL
        Contest Winner
        wrote on last edited by
        #3

        @moskovskiy82 if it's allways reporting x.0 than you store the result of the reading in a double of long. If you want to get rid of the decimals. You only have to cast the value to an int. This will truncate the value.

        long x = 2.3;

        Serial.println( (int)x );

        will result in 2

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


        12

        Online

        11.7k

        Users

        11.2k

        Topics

        113.1k

        Posts


        Copyright 2025 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