Tragbare Arduino-Wetterstation für 10$ bauen (Nano, DHT22, BMP180 & LCD)
Komponenten und Zubehör
| Bauteil | Menge |
|---|---|
| Arduino Nano R3 | 1 |
| DHT22 Temperatursensor | 1 |
| BMP180 Drucksensor | 1 |
| LCD 16x2 (I2C, Weiß auf Blau) | 1 |
Benötigte Werkzeuge
- Lötkolben
- Zange
- Drähte
Apps und Online-Dienste
- Arduino IDE
Über dieses Projekt

Kürzlich hatte meine Hochschule eine kleine Wissenschaftsausstellung. Meine Lehrerin bat mich, ein Projekt vorzustellen, um junge Schüler an Elektronik heranzuführen – ich hatte nur zwei Tage Zeit.
Da die klimatischen Bedingungen hier stark schwanken (kürzlich 34–40 °C), entschied ich mich für eine Wetterstation.
Was macht eine Wetterstation?
Eine Wetterstation erfasst Umweltdaten mithilfe verschiedener Sensoren:
- Wind
- Luftfeuchtigkeit
- Regen
- Temperatur
- Luftdruck
- Höhe
Ziel: Eine tragbare Wetterstation mit folgenden Funktionen bauen:
- Temperatur
- Luftfeuchtigkeit
- Luftdruck
- Höhe
Schritt 1: Einkaufsliste

Ich begann mit einem Uno, wechselte dann aber zur kompakteren Nano-Lösung (ein Micro wäre noch kleiner gewesen).
Budget & Teile:
- DHT22 Temperatur- & Feuchtesensor → ~3,00 $
- BMP180 Drucksensor (BMP280 ist günstiger, aber lokal teurer) → ~2,00 $
- Arduino Nano → ~1,89 $
- LCD-Display mit I2C-Treiber → ~3,00 $
- Lochrasterplatine, Stiftleisten, Lötzinn
Schritt 2: Temperatur & Luftfeuchtigkeit – DHT22

Beliebte Sensoren: DHT22, DHT11, SHT1x. Der DHT22 (AM2302) liefert kalibrierte Digitalsignale, hat hohe Zuverlässigkeit und Stabilität. Jeder Sensor ist temperaturkompensiert und in einer Kalibrierkammer justiert.
Vergleich:
| Sensor | Vorteile | Nachteile |
|---|---|---|
| DHT11 | Kein Löten nötig, günstigst, stabile Ausgabe schnell, Reichweite >20m | Keine Auflösung, Fehler: ±2°C / ±5% RH, Messbereich 0–50°C |
| DHT22 | Kein Löten, kleines Upgrade zum DHT11, glatte Kurve, kleinster Fehler, großer Bereich, >20m | Empfindlicher, langsame Temp.-Nachführung, Bibliothek nötig |
| SHT1x | Kein Löten, schnelle Reaktion, niedriger Verbrauch, Auto-Sleep, Langzeitstabilität | Zwei digitale Schnittstellen, Feuchtefehler, gleicher Bereich wie DHT11 |
Anschluss DHT22:
- VCC → 5V oder 3,3V
- GND → GND
- Data → Pin 2 am Arduino
Schritt 3: Barometer & Drucksensor – BMP180

Der BMP180 ist ein barometrischer Drucksensor mit I2C-Schnittstelle. Er misst den absoluten Luftdruck, der sich mit Wetter und Höhe ändert.
Wichtig: Mein Modul hatte einen 3,3V-Regler (662k), den ich versehentlich zerstörte – ich überbrückte ihn direkt. Damit ist nur 3,3V zulässig, höhere Spannungen zerstören den Chip. Andere Module haben evtl. keinen Regler – prüfen Sie dies!
Anschluss (I2C-Bus an Nano/Uno):
- SDA → A4
- SCL → A5
- VCC → 3,3V
- GND → GND
Druck, Höhe & Wettervorhersage
Atmosphärischer Druck variiert mit Wetter und Höhe. Druckabfall → feuchtes Wetter/Sturm; Druckanstieg → klares Wetter.
Zur Höhenberechnung nutzt man die Barometrische Höhenformel:
Höhe = 44330 * [1 - (P/P0)^(1/5.255)]
Mit Meeresspiegel-Druck (1013,25 hPa) als Basis P0 erhält man die Höhe über NN.
Wichtige Hinweise für BMP180:
- Luftzugang: Nicht in dichtes Gehäuse einbauen – kleine Belüftung nötig.
- Kein starker Luftstrom: Wind verursacht Druckschwankungen – abschirmen.
- Kühl halten: Schnelle Temperaturänderungen und Wärmequellen vermeiden.
- Trocken halten: Empfindlich gegen Feuchtigkeit – nicht untertauchen.
- Lichtschutz: Silizium chip ist lichtempfindlich – Öffnung abdecken.
Schritt 4: Schaltung aufbauen

Zuerst Stiftleisten für Nano zuschneiden, feilen, löten. Dann DHT22-Anschluss mit 10k Pull-Down-Widerstand (Data → GND). BMP180 an I2C-Bus (A4/A5) mit 3,3V. Zuletzt I2C-LCD am selben Bus.
(Ein vierter Steckplatz war für ein späteres RTC-Modul vorgesehen.)
Schritt 5: Programmierung

Benötigte Bibliotheken vorab installieren:
- BMP180: SparkFun BMP180 Library
- DHT22: Adafruit DHT Library
- Anleitung Bibliotheken installieren: Arduino Guide
Getestet mit Arduino IDE 1.6.5 – sollte auch mit neueren Versionen funktionieren.
Complete Code:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <SFE_BMP180.h>
SFE_BMP180 pressure;
#define ALTITUDE 20.56 // Eigene Höhe in Metern anpassen!
#define I2C_ADDR 0x27 // I2C-Adresse des LCD (oft 0x27 oder 0x3F)
#define DHTPIN 2 // DHT22 Data-Pin
#define DHTTYPE DHT22 // DHT22 (AM2302)
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(I2C_ADDR, 16, 2); // 16x2 Display
float tempBMP, tempDHT;
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.print("Wetterstation");
delay(5000);
dht.begin();
pressure.begin();
}
void loop() {
char status;
double T, P, p0, a;
// BMP180: Temperatur messen
status = pressure.startTemperature();
if (status != 0) {
delay(status);
status = pressure.getTemperature(T);
if (status != 0) {
tempBMP = T;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("BMP Temp: ");
lcd.print(T, 1);
lcd.print(" C");
delay(3000);
// BMP180: Druck messen
status = pressure.startPressure(3); // Oversampling 3 (höchste Auflösung)
if (status != 0) {
delay(status);
status = pressure.getPressure(P, T);
if (status != 0) {
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Druck: ");
lcd.print(P, 1);
lcd.print(" hPa");
delay(3000);
p0 = pressure.sealevel(P, ALTITUDE);
a = pressure.altitude(P, p0);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Hoehe: ");
lcd.print(a, 0);
lcd.print(" m");
delay(3000);
}
}
}
}
// DHT22: Feuchte & Temperatur
float h = dht.readHumidity();
float t = dht.readTemperature();
tempDHT = t;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Feuchte: ");
lcd.print(h, 1);
lcd.print(" %");
delay(3000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("DHT Temp: ");
lcd.print(t, 1);
lcd.print(" C");
delay(3000);
// Mittlere Temperatur aus beiden Sensoren
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Mittel Temp: ");
lcd.print((tempBMP + tempDHT) / 2, 1);
lcd.print(" C");
delay(3000);
}
Schaltplan

Herstellungsprozess
- Outdoor-Wetterstation mit Raspberry Pi 2 & ADS-WS1 bauen
- Raspberry Pi Wetterstation bauen, die tägliche Wetterdaten per E-Mail sendet
- Fortgeschrittene Wetterstation v2.0: Echtzeit Temperatur, Druck, Feuchte & Höhe Monitoring
- Modellbahn DCC-Zentrale selbst bauen mit Arduino – Kostenlose App inklusive
- Arduino-gesteuerte 6-Shot-Getränkemischstation – Bauen Sie Ihren eigenen Cocktail-Automaten
- Arduino Digitaler Würfel: LCD-Würfel mit Zufallszahlen (1–6)
- Tragbares kapazitives Touch-Piano mit Arduino & MPR121 – Bauanleitung
- DIY Arduino USB Gaming Controller – Bauen Sie Ihren eigenen High-Performance Gamepad
- Tragbarer Entfernungsmesser – Arduino Nano DIY-Kit mit HC-SR04, 18650-Akku und 3D-gedrucktem Gehäuse
- Pixel Chaser: Interaktives One-Tap-LED-Spiel mit Arduino Nano