Projekt "Temperatur- und Feuchtemessung mit Anzeige"

In diesem Projekt bauen wir eine Messstation mit einem Arduino Uno und einem Sensor, um die Raumluft-Temperatur und -Feuchte zu messen und die Werte auf einem LC-Display anzuzeigen. Du lernst dabei unter anderem wie man den bekannten DHT22 Temperatur- und Feuchte-Sensor richtig anschließt, wie man ein LC-Display mit dem Arduino nutzt und – ganz wichtig – wie man vorgefertigte Bibliotheken für den Programmiercode des Arduinos einbindet.

Ergänzend zum schriftlichen Tutorial auf dieser Seite findest du im mittleren Teil und ganz unten auch noch Teil 1 und 2 des zugehörigen Youtube-Videos.

Was benötigst du für das Projekt?

  1. 1 x Arduino Uno mit Steckbrett + Laptop und USB Typ B Kabel für die Programmierung
  2. 1 x DHT22 Sensor
  3. 1 x 10 kOhm Widerstand
  4.  1 x 220 Ohm Widerstand
  5. 1 x LC-Display
  6. 1 x Potentiometer
  7. Jumper Kabel

Die gelisteten Bauelemente (bis auf den Sensor) und noch viele mehr sind beispielsweise in einem Arduino Starter Kit enthalten. Das originale Starter Kit von Arduino ist hier zu finden: https://amzn.to/2RJqRRh. Eine günstigere Alternative von Elegoo gibt es hier: https://amzn.to/2FEF6lG. Den DHT22 Sensor findest du hier: https://amzn.to/2wLoPtY

Die Schaltung Teil 1 (DHT22 Sensor)

Die Schaltung für den DHT22 Sensor ist sehr einfach aufgebaut. Verbinde zunächst den linken Pin des Sensors (Versorgung, siehe Bild rechts) mit dem 5 V Output-Pin des Arduinos.

Der zweiten Pin (von links) des Sensors, der die Temperatur- und Feuchte-Daten ausgibt, wird mit Pin 13 des Arduinos verbunden. Zwischen den Versorgungspin sowie den Datenpin schalten wir dann noch einen 10 kOhm Widerstand.

Abschließend verbinden noch wir den rechten Pin des Sensors, den Ground-Pin, mit dem Ground-Pin des Arduinos (GND = Masse).

Das war bereits der Hardware Aufbau für den Sensor. Das Ganze kann mit einem Steckbrett realisiert werden oder auf eine Lochrasterplatine gelötet werden. Im Video gleich unter diesem Text könnt ihr euch das Ganze auch noch einmal ausführlich anschauen ; ).

Die Schaltung Teil 2 (Anschluss LC-Display)

Nachdem ihr den Sensor angeschlossen habt, kommt nun Teil 2 des Projekts: Der Hardware-Aufbau für das Display.

Vorab: Versichert euch , dass euer Display die gleiche Pin-Belegung hat wie das von mir verwendete Display. Die in diesem Projekt benutzten Pins habe ich im Bild rechts beschriftet. Damit kannst du dein Display vergleichen, die Pin-Belegung ist in der Regel auf der Rückseite der Leiterplatte des Displays aufgedruckt.

Die beschriebenen Schritte für den Anschluss des Displays findest du auch nochmal in der folgenden Grafik. Die vielen Verbindungen sehen auf den ersten Blick vielleicht etwas abschreckend aus, aber lass dich davon nicht aus der Ruhe bringen und gehe einfach Schritt für Schritt beim Verbinden von Display und Arduino vor ;).

  1. Für den Anschluss des LC-Displays verbinden wir zunächst Pin 1 des Displays mit GND („Ground“ = Masse) des Arduinos und Pin 2, die Versorgung des Displays, mit dem 5 V Output Pin des Arduinos.
  2. Weiter geht es mit Pin 3 des Displays (VEE, für Kontrasteinstellung). Den schließt ihr an den variablen Anschluss eine Potentiometers an. Die zwei anderen Anschlüsse des Poentiometers schließt ihr an 5 V und GND des Arduinos an. Damit könnt ihr über das Poti den Kontrast des Displays einstellen. Alternativ könnt Pin 3 des Displays auch entweder direkt mit GND des Arduinos verbinden oder über einen niederohmigen Widerstand (z.B. 47 Ohm) an GND anschließen, dann könnt ihr den Kontrast allerdings nicht ändern.
  3. Pin 4 (Register Select) geht an Digitalpin 12 des Arduinos, Pin 5 (Lese- / Schreibpin) an GND (wir wollen nur schreiben) und Pin 6 (Enable) geht an Digitalpin 11 des Arduinos.
  4. Die Pins 11, 12, 13 und 14 des Displays (die Datenpins) gehen in dieser Reihenfolge an die Digitalpins 5, 4, 3 und 2 des Arduinos.
  5. Abschließend verbinden wir noch die beiden LED Pins des Displays. Pin 15 (LED +) geht über einen 220 Ohm Widerstand (R2 im Bild rechts) an 5 V des Arduinos. Pin 16 des Displays (LED -) geht an GND des Arduinos.

Damit haben wir den Hardwaraufbau abgeschlossen und können mit dem Sketch weitermachen!

Der Sketch für die Messstation

Gleich vorneweg: Den vollständigen Sketch (also das Programm) zu diesem Projekt findet ihr zum Download unten. Ich werde an dieser Stelle nur das Grundprinzip des Sketches und die logischen Hauptschritte erläutern. Der Sketch basiert auf den beiden Bibliotheken „DHT tester“ (s. Video Teil 1 zu diesem Projekt) und „LiquidCrystal“.

  1. Zunächst werden über den Befehl #include „DHT.h“ und #include <LiquidCrystal.h> die beiden Bibliotheken eingebunden und initialisiert.
  2. Anschließend wird in der einmalig ausgeführten Funktion void setup () der serielle Monitor eingestellt, falls der DHT22 Sensor am Laptop ausgelesen werden soll und es werden Zeilen und Spalten für das LCD festgelegt.
  3. In der Hauptschleife void loop () werden zunächst die Feuchte- und Temperatur-Werte in die float Variablen h und k geschrieben.
  4. Der nächste Hauptschritt ist die Ausgabe der Werte über den seriellen Monitor an einen Laptop (sofern ihr einen angeschlossen habt, da ihr auch das Display zur Anzeige der Werte habt, ist das eigentlich nicht nötig).
  5.  Im letzten Schritt wird dann die jeweils aktuelle Anzeige am Display konfiguriert.
Abschließend müsst ihr den Arduino nur noch an den Laptop per USB-Kabel anschließen und den Sketch hochladen!
Eine ausführlichere Beschreibung zum Sketch bekommt ihr im Video Teil 2 zum Projekt ganz unten. Den Sketch könnt ihr hier herunterladen:

Du hast Lust auf weitere Arduino Projekte? Dann schau dir doch den Beitrag zur Lüftersteuerung an! Dort lernst du unter anderem was Pulsweitenmodulation ist und wofür eine Freilaufdiode eingesetzt wird.

Mit den mit ➣ markierten Links kannst du mich unterstützen 🙂 Es handelt sich hierbei um Affiliate-Links. Das heißt ich bekomme eine kleine Aufwandsentschädigung für die Vermittlung. Für dich entstehen natürlich keine zusätzlichen Kosten!