Was du am Ende hast: Ein kleines Geraet, das die aktuelle
Temperatur, Luftfeuchtigkeit und den Luftdruck auf einem
kleinen Display anzeigt — neu gemessen alle paar Sekunden. Daraus
kannst du sogar das Wetter vorhersagen (faellt der Druck, kommt
Regen).
Was du brauchst
- Arduino Uno + USB-Kabel
- BMP280 Sensor (Druck und Temperatur, I2C)
- DHT22 Sensor (Temperatur und Luftfeuchtigkeit, 1-Wire)
- OLED-Display SSD1306 0.96 Zoll (I2C, 128 x 64 Pixel)
- Breadboard + ca. 10 Jumperkabel
- 10 kOhm-Widerstand als Pull-Up fuer DHT22 (manche Module haben
ihn schon eingebaut — siehe Bauteile)
So funktioniert es
Drei Sensoren, zwei verschiedene Schnittstellen:
- I2C (eine Datenleitung SDA + Takt SCL): Daran haengen sowohl der
BMP280 (Adresse 0x76) als auch das OLED (Adresse 0x3C) —
beide gleichzeitig auf denselben zwei Kabeln. Das ist der Vorteil
von I2C: viele Geraete teilen sich einen Bus. - 1-Wire (proprietaer): Der DHT22 braucht eine eigene
Datenleitung, weil er ein eigenes Protokoll spricht.
Der Sketch fragt alle drei Sensoren der Reihe nach ab und schreibt die
Werte ins Display.
Schritt fuer Schritt
1. Bibliotheken installieren
In der Arduino-IDE: Werkzeuge -> Bibliotheken verwalten. Such nach
und installiere folgende vier:
- Adafruit BMP280 Library (von Adafruit)
- DHT sensor library (von Adafruit)
- Adafruit SSD1306 (von Adafruit)
- Adafruit GFX Library (wird automatisch nachgefragt)
2. Schaltung aufbauen
Auf dem Breadboard verteilen, alle drei Sensoren parallel mit 5V und
GND versorgen. Dann:
| Bauteil | Pin am Bauteil | Pin am Arduino |
|---|---|---|
| BMP280 | VCC | 5V |
| BMP280 | GND | GND |
| BMP280 | SDA | A4 |
| BMP280 | SCL | A5 |
| OLED | VCC | 5V |
| OLED | GND | GND |
| OLED | SDA | A4 (gleicher Bus!) |
| OLED | SCL | A5 (gleicher Bus!) |
| DHT22 | VCC (1) | 5V |
| DHT22 | DATA (2) | D2 |
| DHT22 | GND (4) | GND |
Wichtig: Zwischen DATA und VCC am DHT22 einen 10-kOhm-Widerstand
einbauen (Pull-Up) — sonst kommen keine Werte. Manche DHT22-Module
haben den schon drauf.
3. Sketch hochladen
Den Sketch unten kopieren, hochladen, Seriellen Monitor auf 9600
Baud oeffnen. Das OLED sollte nach ein paar Sekunden Werte zeigen.
4. Pruefen und kalibrieren
- Vergleiche Temperatur mit dem Schul-Thermometer im Raum. Liegen
beide Sensoren (BMP280 + DHT22) zusammen? Sind die Werte plausibel? - Halt den Daumen auf den DHT22 (nicht zu fest druecken!) — die
Feuchte sollte langsam steigen. - Geh mit dem ganzen Aufbau ein paar Stockwerke nach oben oder
unten: der Luftdruck aendert sich (rund 1 hPa pro 8 Meter
Hoehenunterschied).
5. Erweiterungen
- Hoehenmeter anzeigen: aus der Druckdifferenz zur Meereshoehe
laesst sich die Hoehe ueber Normal-Null berechnen. - Trend-Anzeige: speicher die letzten 10 Druckwerte; wenn der Druck
faellt -> Regen-Symbol, wenn er steigt -> Sonne. - Min/Max merken: zeig zusaetzlich die hoechste und niedrigste
Temperatur seit dem Einschalten. - Datenlogger: jede Minute eine Zeile in den Seriellen Monitor
schreiben, dann am PC mitschneiden und ein Diagramm draus machen.