Eine Arduino-Wetterstation bauen

Heute möchte Wlanowski euch zeigen, wie man mit einem Arduino so etwas wie eine kleine Arduino-Wetterstation bauen kann, die euch Temperatur und Luftfeuchtigkeit auf einem LCD-Display anzeigt. Wenn ihr möchtet, könnt ihr selbstverständlich den Aufbau mit anderen weiteren Sensoren erweitern um genauere Werte anzeigen zu können. Man kann mit einem RTC-Modul die aktuelle Uhrzeit anzeigen, oder mit Regensensoren oder Luftdrucksensoren weitere Wetterdaten aufnehmen. Ich zeige euch hier also nur die Basic-Variante.

Vorrausetzungen

Wie bereits eingangs erwähnt, kann man die Wetterstation beliebig erweitern oder modifizieren. Deshalb ist es nicht unbedingt notwendig jeden in der Liste erscheinenden Gegenstand zu benutzen. Die hier aufgezählten Varianten sind einfach die Teile die ich vorrätig habe. Sie sollen keine Kaufempfehlung sein.

Man benötigt:

  • einen PC mit der Arduino IDE zum Programmieren
  • ein Arduino-Board. Ich verwende den Arduino UNO R3
  • ein passendes USB-Kabel
  • ein Laborsteckbrett
  • Jumperkabel und Steckbrücken
  • ein DHT 11 Temperatur und Luftfeuchtigkeitssensor (Alternative: DHT 22 ist genauer aber etwas teurer)
  • ein Potentiometer/Regelbarer Widerstand (50 kOhm)
  • ein Widerstand (320 Ohm)
  • ein LCD-Display (HD44780 kompatibel)

 

Alle benötigten Gegenstände
Alle benötigten Gegenstände zum Erstellen einer Arduino-Wetterstation

And now: step by step

Schritt 1: Das Verdrahten

Der Arduino ist sehr vielseitig, weshalb es unzählige Varianten gibt, mit den oben genannten Gegenständen eine Wetterstation zu errichten. Ich stelle euch hier meine Variante als Skizzen vor. Das Schema und der Schaltplan wurden mit der kostenlosen Software fritzing (Homepage) erstellt. Eine sehr interessante Software, die man sich mal anschauen sollte.   Hinweise:

  • Das LCD-Display ist genauso aufgebaut wie es in den Beispielsketch „Hello World“ beschrieben ist. Klickt auf in der Arduino-IDE auf Datei, Beispiele, LiquidCrystal, HelloWorld. Ich empfehle euch, beim Aufbau mit dem LCD-Display zu beginnen und danach mit dem HelloWorld-Sketch das Display zu testen und den Potentiometer so zu stellen, dass die Zeichen klar und deutlich zu sehen sind. Danach könnt ihr euren DHT-Sensor anschließen.
  • Im Steckbrettbild sieht man, dass der Sensor vier Ausgänge hat, im Schaltplan jedoch drei. Je nachdem wie euer Sensor ausgeführt ist, hat auch euer Sensor entweder drei oder vier Ausgänge. Ich selbst habe einen Sensor der selbst auf einer kleinen Platine aufgelötet ist, sodass dieser nur drei Ausgänge hat. Das gute: Auf der Platine sind bereits Pullup-Widerstände verarbeit, sodass man keine weiteren Widerstände benutzen muss. Habt ihr eine andere Ausführung, müsst ihr Pullup-Widerstände einbauen. Ich habe die Widerstände jedoch im Steckbrettbild und im Schaltplan vernachlässigt.
Schaltplan zur Arduino-Wetterstation
Schaltplan zur Arduino-Wetterstation
Steckbrettbild zur Arduino-Wetterstation
Steckbrettbild zur Arduino-Wetterstation

Schritt 2: Das Programmieren des Arduino

Damit der Arduino mit den Daten des DHT-Sensors klar kommt, braucht man eine Library. Ich stelle euch die Version der DHT-Library die ich benutze am ende dieses Beitrages zur Verfügung zu Verfügung. Ist die Library installiert, muss der Arduino nur noch über die Arduino-IDE programmiert werden. Ich stelle ihn euch hier zur Verfügung:

Zögert nicht, meinen Sketch noch etwas zu erweitern und zu verbessern, etwa mit weiteren oder anderen Sensoren.

Die fertige Arduino-Wetterstation
Die fertige Arduino-Wetterstation

Sketch zum Download

Link zur Library

https://github.com/adafruit/DHT-sensor-library

5 Kommentare:

  1. Hallo,
    Super Beitrag, hat mir sehr geholfen hab ihn ein wenig verändert und es klappt fast alles nur habe ich das Problem wenn ich meine Lichtsensor mit dem Normalen Serial.read befehl abfragen möchte wird mir eine Fehlermeldung mit dem Inhalt das keine passende Funktion vorhanden ist wissen sie vielleicht wie man trotzdem den Lichtsensor abfragen kann?

    LG Luca

    1. Hallo Luca,

      danke für deine Nachricht und entschuldige die späte Antwort.

      Wie funktioniert dein Lichtsensor. Wird dieser wirklich über die Serielle Schnittstelle (RX/TX) abgerufen? Oder benutzt du ein separates Arudino-Board, was deinem Hauptboard die Daten sendet?

      Den Fehler, dass keine passende Funktion vorhanden ist, bekomme ich bei der Programmierung in Visual Studio oft. Das liegt meist an Syntaxfehlern, die ich ab und zu einbaue um mich selbst zu ärgern, aber manchmal auch, wenn ich vergesse bestimmte Libraries einzubinden. Kannst du mir mal deinen Aufbau erklären und das Sketch zeigen?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.