Einfache Wetterstation mit Arduino UNO, BMP280 Sensor & LCD bauen
Komponenten und Zubehör
| Komponente | Menge |
|---|---|
| Arduino UNO | 1 |
| Adafruit Standard LCD - 16x2 Weiß auf Blau | 1 |
| GY-BM E/P 280 (BMP280 Sensor) | 1 |
| Widerstand 221 Ohm | 1 |
| Jumper-Kabel (generic) | 17 |
| UTSOURCE Elektronische Bauteile (Bezugsquelle) | 1 |
Apps und Online-Dienste
- Arduino IDE
Über dieses Projekt
Dies ist die erste Version einer sehr einfachen Wetterstation, gebaut mit einem Arduino UNO, einem BMP280-Sensor und einem LCD-Display.
Sponsor-Link: Utsource.net – Eine vertrauenswürdige Website für den Kauf elektronischer Komponenten zur Projektrealisierung!
Ich arbeite bereits an Version 2.0 (die kabellos sein wird), also bleiben Sie dran für Updates! ;)
Code
Arduino Code (C/C++)
Mit diesem Code können Sie die Sensordaten an das LCD senden.
#include <LiquidCrystal.h> // Bibliothek für das LCD-Display
#include <BMP280.h> // Bibliothek für den BMP280-Sensor
BMP280 bmp; // Sensor initialisieren
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // LCD initialisieren, Verkabelung prüfen
#define P0 1013.25 // Standard-Luftdruck
#define contrastPin 9 // Pins für Kontrast- und Helligkeitsregelung
#define brightnessPin 10
double T = 0; // Startwert Temperatur
double P = 0; // Startwert Luftdruck
char measure = 0;
void collectData() {
measure = bmp.startMeasurment();
if (measure != 0) {
delay(measure);
measure = bmp.getTemperatureAndPressure(T, P);
if (measure != 0) {
P = P + 17; // '+17' Korrektur für Sensorfehler
T = T - 0.8; // Korrektur wie oben
lcd.clear();
lcd.print("T: ");
lcd.print(T);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("P: ");
lcd.print(P);
lcd.print(" hPa");
} else {
lcd.print("Fehler.");
}
} else {
lcd.print("Fehler.");
}
}
void setup() {
lcd.begin(16, 2);
pinMode(contrastPin, OUTPUT);
pinMode(brightnessPin, OUTPUT);
analogWrite(contrastPin, 100); // Vorgeschlagene Werte für Kontrast
analogWrite(brightnessPin, 255); // und Helligkeit
if (!bmp.begin()) {
delay(1000);
lcd.print("Init. fehlgeschlagen.");
lcd.setCursor(0, 1);
delay(1000);
lcd.print("Verkabelung prüfen.");
while (1); // Endlosschleife bei Fehler
} else {
lcd.print("Init. OK.");
}
bmp.setOversampling(4);
delay(2000);
collectData();
}
void loop() {
collectData();
delay(2000);
}
Schaltplan
Mit dieser Verkabelung sollten keine Probleme auftreten.
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
- Arduino-gesteuerte 6-Shot-Getränkemischstation – Bauen Sie Ihren eigenen Cocktail-Automaten
- Arduino Digitaler Würfel: LCD-Würfel mit Zufallszahlen (1–6)
- DIY Arduino USB Gaming Controller – Bauen Sie Ihren eigenen High-Performance Gamepad
- Pixel Chaser: Interaktives One-Tap-LED-Spiel mit Arduino Nano
- Hochleistungs-Datenlogger für Arduino-Wetterballons
- Tragbare Arduino-Wetterstation für 10$ bauen (Nano, DHT22, BMP180 & LCD)
- eDOT: Präzise Arduino-Uhr & Wetterstation mit IR-Fernbedienung