Connect and configure the DHT22 or DHT11 correctly

By | 17. November 2018

In this article I show you how to connect and configure the temperature and humidity sensor DHT22 or DHT11 to HoneyPi. But first I will talk about the differences between DHT22 and DHT11.

DHT22 vs. DHT11

The following data table shows that the DHT22 (white) is more accurate than the DHT11 (blue). The temperature range of the DHT22 is -40 to 125°C, with an accuracy of ± 0.5°C. The temperature range of the DHT11 is only from 0 to 50 °C with an accuracy of ± 2 °C. The temperature range of the DHT22 is from -40 to 125 °C, with an accuracy of ± 2 °C. This means that it does not go into the negative temperature range, which can be a disadvantage on cold winter days at the hives. The humidity range of the DHT22 measures the full range (0 to 100 %), while the DHT11 can only measure 20 to 80 % humidity.

We recommend to use the DHT22 for HoneyPi, because it can also measure negative temperature values. In addition, it is more accurate than the DHT11, which is why it costs a little more than the DHT11, but is still very cheap. Here you can buy the DHT22🛒.

CategoryDHT22DHT11
Colourwhiteblue
Temperature range-40 –125 °C0 – 50 °C
Temperature accuracy± 0,5 °C± 2 °C
Humidity range0 – 100 %20 – 80 %
Humidity accuracy± 2 – 5 %± 5 %
Dimensions15,1 mm x 25 mm x 7,7 mm15,5 mm x 12 mm x 5,5 mm
Operating voltage3 – 5 V3 – 5 V
Current2,5 mA2,5 mA

Structure of the DHT22/DHT11

The functions of the pins of the two sensors are identical. Pin 1 in the following figure supplies the sensor with current (3 – 5 V). Pin 2 transmits the measurement data. The third pin does not have to be connected. And the fourth pin provides grounding.

DHT11 und DHT22
DHT22 und DHT11

1 = VCC (3 – 5 V)

2 = Daten

3 = no connection

4 = Ground

Attaching components to the Raspberry Pi

The DHT22 or DHT11 is connected to the Raspberry Pi Zero W (or Raspberry Pi 3B/B+) as follows. I also connected a button 🛒 (square on the right side of the breadboard) to switch the maintenance mode on and off and to configure the sensor.

Neben dem Sensor selbst und ein paar Kabel, benötigt ihr einen Pull-Up-Widerstand mit 4,7 kΩ – 10 kΩ. Diesen könnt ihr hier kaufen 🛒. Leider kann man Widerstände nur in großen Mengen online kaufen. Falls ihr nur wenige Widerstände benötigt, könnt ihr diese natürlich auch im Elektrohandel kaufen oder als Bundle mit anderen Bauteilen 🛒.

Besides the sensor itself and a few cables, you need a pull-up resistor with 4.7 kΩ – 10 kΩ. You can buy it here 🛒. Unfortunately you can only buy resistors in large quantities online. If you only need a few resistors, you can also buy them in electrical stores or as a bundle with other components 🛒.

Attention: The DHT sensors do not support the 1-Wire interface. Multiple sensors cannot be connected to the same pin (such as the DS18B20). Each DHT sensor needs its own data pin.

DHT22 Steckplan
DHT22 plugging chart

The following figure shows how to solder one end of the resistor to pin 1 (VCC) of the sensor and the other end to pin 2 (data) together with the corresponding cables.

Widerstand löten
Soldering resistor (Source: here)

Configuring the Sensor in Maintenance Mode

After you have flashed the firmware onto the MicroSD card and powered the Raspberry Pi, wait about 90 seconds until the Raspberry Pi is powered up. Then you can press the connected button 🛒 to start the maintenance mode. You should now see the network HoneyPi among the available networks of your PC or Smartphone. The default password is: HoneyPi!

If you are connected to the HoneyPi network, you can go to the configuration page in your browser at http://192.168.4.1/ and click on “Configure”. If you haven’t done so yet, you will need to enter your Channel ID and Write API key under “ThingSpeak Settings”.

ThingSpeak-Daten eingeben
Enter ThingSpeak data

You can find this data in your ThingSpeak account under your channel in the “API Keys” tab. If you haven’t created a ThingSpeak account or channel yet, you can follow these instructions.

Channel-ID und Write-API-Key
Channel-ID and Write-API-Key

Under “Connected Sensors” click on “Add Sensor” and then select the DHT11/DHT22. Below you can select the ThingSpeak fields for temperature and humidity and enter the GPIO number (not pin number) to which you have connected the sensor’s data pin. Finally click on “Save” in the upper right corner.

Sensor konfigurieren
Configuring sensor
Raspberry Pi Pinbelegung
Raspberry Pi pin assignment

Now your DHT11 or DHT22 should be correctly connected and configured to your HoneyPi 🙂

Translated 11.08.2019 by JK

Print Friendly, PDF & Email

23 thoughts on “Connect and configure the DHT22 or DHT11 correctly

  1. Graham

    Dear any one :),
    I am having dificulty with the raspberry pi w, all this soldering,
    I would like to ask will this image file honey pi also work on rasberry pi 3 b and 3b + or is it only for raspberry pi w,
    As pi 3 b and 3b+ both have wifi built in

    thankyou in advance

    Reply
    1. Melissa Post author

      Hello Graham,

      the firmware image should also run on the Raspberry Pi 3B and 3B+ as it is based on the Raspbian operating system which also runs on the 3B/3B+.

      Kind regards
      Melissa

      Reply
      1. Graham

        Thankyou Melissa, for the prompt reply and infomation

        Kind Regards
        Graham

        Reply
  2. Oliver

    Hallo und erstmal großes Lob für dieses geniale Projekt!! Bin drauf gestoßen, weil ich was ähnliches für meinen Teich plane und mir direkt mal die neuste Version (0.1.1) geladen und auf meinen RasPi3 geladen.

    Hab auch alles verschaltet wie oben angegeben, allerdings schaff ich es nicht in den Wartungsmodus… Beim drücken auf den Schalter passiert nichts, die letzten Zeilen des RasPis sind folgende:
    sending commands to master dhcpcd process
    dhcpcd started for wlan0
    “ENABLE_NETWORK 0′ command timed out.
    OK

    Kann mir da jemand helfen?

    Viele Grüße
    Oliver

    Reply
    1. Javan

      Du weißt, dass du dich mit dem “HoneyPi” – Wlan verbinden musst und keinen Bildschirm Ausgang (HDMI) anschließen musst?

      Reply
      1. Oliver

        Zugegebenermaßen war das ein dummer Fehler von mir 🙂
        Allerdings hab ich nun das Problem, dass nur mein Macbook Air das WLan findet, Win-PC und Smartphone nicht.
        Nach Eingabe von “HoneyPi!” als Passwort erhalte ich die Meldung “Verbindungaufbau fehlgeschlagen”

        Reply
  3. Ernst

    Hallo, Ich habe ein Problem mit dem DHT22. Ich habe den Sensor wie oben beschrieben angeschlossen, allerdings an an GPIO9 und alles im Wartungsmodus eingestellt. Jetzt wollte ich im Wartungsmodus eine Messung durchführen und bekomme die Fehlermeldung ” Unhandled Exception while Measurement | TypeError(‘list indices must be integers or slices, not str’,)” Ich weiß nicht was ich da machen soll. Ich habe die neuste Firmware v0.1.1 und arbeite mit dem PI Zero. Hoffe ihr könnt mir da helfen

    Reply
    1. Javan

      Den Fehler kenne ich bisher noch nicht. Muss am Python Code liegen. Hats bei der alten Firmware zuvor noch geklappt?

      Reply
      1. Ernst

        Ich habe das ganze neu angefangen und direkt die neuste Firmware runtergeladen. Habe jetzt mal die v0.1.0 runtergeladen und auf den Pi aufgespielt. Alles eingestellt und auch mit meinem ThingSpeak Channel verbunden und mit meinem Wlan verbunden. Hab den jetzt schon wieder 1h am laufen aber noch kein einziges Messergebnis auf ThingSpeak. Wie kann ich den Angeschlossenen Sensor den testen?

        Reply
        1. Ernst

          Ich habe meinen Fehler endlich gefunden! Da ich am Anfang Probleme mit dem Verbinden hatte, habe ich auf die SD-Karte für den Raspberry die Datei ssh und wpa_supplicant.conf mit meinen Wlan einstellungen kopiert. Dadurch hatte ich zwar direkten Zugriff auf den Pi, konnte aber keine Messdaten abrufen! Hab dann alles wieder gelöscht und neu gemacht wie es hier beschrieben ist (ohne die beiden Datein) und jetzt klappt alles! Danke für die Hilfe!

          Reply
  4. Oliver

    Hallo Leute,

    ich finde euer Projekt echt genial und genau etwas für mich.

    Ein paar Fragen sind aber aufgetaucht. Kann ich den DHT22 bzw. DHT11 auch als Brutraumüberwachung einsetzten oder sind die Sensoren nur eine weitere Möglichkeit eines Aussentemperaturthermometers ?

    lg Oliver

    Reply
    1. Melissa Post author

      Hallo Oliver, du kannst die DHT-Sensoren sowohl innen als auch außen verwenden.

      Viele Grüße
      Melissa

      Reply
      1. Stephan

        meine Erfahrungen mit Bienen über einige Jahre haben gezeigt das die Damen bei engmaschigen Gittern (Wie das Gehäuse eines DHT) eine starke Neigung hegen die Löscher zuzukitten (Propolisgewinnung).

        Ich frage mich ob es in der Praxis durchführbar ist einen DHT längere Zeit im Bienenvolk unterzubringen.
        Man darf hierbei ja nicht vergessen das bei klassischer Zargenimkerei zwangsläufig bei jeder Durchsicht der Sensor oder die Verkabelung bewegt werden muss.

        Schwingungsverhalten bei Wind und Co sind auch zu berücksichtigen, habe das ganze schon mal bei einem anderen Bienenwaagenprojekt gehabt (https://www.euse.de/wp/blog/2017/04/bienenwaage-2-0-unter-den-bienen/).

        Vieleicht schließt du dich mal mit ihm kurz, er hat schon einige entsprechende Erfahrungen wenn gleich auch bei der Bienenkiste.

        Reply
        1. Javan

          In der Praxis ist es durchführbar den DHT längere Zeit im Bienenvolk (z.B. am Beutenboden, der ja auch aus einem Gitter besteht) unterzubringen. Für die Wabengasse empfiehlt sich der DS18b20. An Propolis ist noch kein Sensor gestorben. Viele Grüße

          Reply
    1. Dieter

      Ja, kann man. Musst nur unterschiedliche GPIOs verwenden. Nur beim DS18B20 können mehrere an einen Pin angeschlossen werden. Siehe weiter unten Kommentar von Javan.
      Gruss

      Reply
  5. Dieter, Dr. Erb

    Hallo Javan,
    Vielen Dank für deine Hilfe. Jetzt muss ich nur noch die Wägezelle zum Laufen bringen. Und dann kann ich loslegen. Der Waage Unterbau ist praktisch fertig. Euer System ist wirklich sehr intelligent aufgebaut. Sofern man die kleinen Kniffe kennt.
    Gruss Dieter

    Reply
  6. Dieter Erb

    Hallo Melissa,
    ich habe doch einige Probleme. Nach Deiner Anleitung alles eingerichtet, mit 2 DHT22. Es kam immer wieder einmal zu einem plötzlichen Abbruch der Datenaufzeichnung mit Werten auf der Nullinie. Mir fiel aber auch auf, dass die Sensoren identische Werte zeigten.?? Wegen der Abbrüche habe ich einen Sensor raus genommen. Alles nochmals neu eingerichtet. Jetzt zeichnet der Sensor wieder auf aber in Thingspeak werden immer noch 4 Datenfelder angezeigt. Mit ähnlichem Kurvenverlauf. Kanal 1= 3 und Kanal 2 =4. Im Wartungsmodus hatte ich den 2. Sensor aber gelöscht. Kannst du Helfen?
    Gruss Dieter.

    Reply
    1. Melissa Post author

      Hallo Dieter,

      wie hast Du die Sensoren angeschlossen? Der DHT22 verwendet nicht die 1-Wire-Schnittstelle, d.h. mehrere DHT22 können nicht an den gleichen Pin angeschlossen werden. Jeder Sensor benötigt seinen eigenen Datenpin.
      Werden in ThingSpeak auch alle 4 Fields weiterhin befüllt? Oder siehst Du dort einfach nur die alten Messdaten des Sensors, den Du wieder entfernt hast?
      Evtl. wurde der zweite Sensor auch nicht richtig im Wartungsmodus gelöscht. Du könntest den Raspberry Pi noch einmal neustarten und falls das nichts hilft, die Firmware neu flashen.

      Viele Grüße
      Melissa

      Reply
      1. Dieter Erb

        Hallo Melissa,
        vielen Dank für die schnelle Antwort. Ich glaube, dass du den Fehler erkannt hast. Ich habe beide DHT22 mit der Datenleitung seriell an den GPIO 4 gehängt. Und jetzt versuchsweise DHT 22 in Kombi mit dem DS18B20. In diesem Moment war dann der DHT22 weg und ich sehe nur noch den DS18B20.
        An welchen GPIO müsste ich denn den 2. DHT 22 hängen und muss ich dazu Änderungen im Programm vornehmen.
        Vielen Dank für Deine Mühe und Euer tolles Projekt
        Gruss Dieter

        Reply
        1. Javan

          Vielen Dank!
          Schließ alle DS18b20 an den GPIO 4 an. Dort können bis zu 100 DS18b20 angeschlossen werden.
          Ich habe den DHT22 am GPIO23 angeschlossen. Im Wartungsmodus muss man dann den GPIO “23” abspeichern. Weitere DHT22 kannst du an bisher unbesetzte GPIOs anschließen. Auf der Seite “Schaltplan und Sensoren” ist eine Übersicht der der GPIOs. Für jeden angeschlossenen DHT22 kannst du im Wartungsmodus den GPIO hinterlegen.

          Reply
  7. Melissa Post author

    Hallo Martin,

    ja, du kannst alle GPIO-Pins für die Sensoren verwenden. Diese müssen entsprechend beim jeweiligen Sensor im Wartungsmodus angegeben werden.

    Viele Grüße
    Melissa

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *