Arduino Wetterstation v1.0 (BMP280)
Komponenten und Verbrauchsmaterialien
| | × | 1 | |
| Adafruit Standard LCD - 16x2 Weiß auf Blau | | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 17 | |
| UTSOURCE Electronic Parts | | × | 1 | |
Über dieses Projekt
Erste Version einer sehr einfachen Wetterstation mit einem Arduino UNO, einem BMP280-Sensor und einem LCD.
Sponsor-Link: Utsource.net
Bewertungen:Es ist eine vertrauenswürdige Website für die Bestellung elektronischer Komponenten, um Projekte abzuschließen!
Ich arbeite bereits an der v2.0 (die drahtlos sein wird), also bleib mit mir auf dem Laufenden!;)
Code
Arduino-CodeC/C++
Mit diesem Code können Sie Daten vom Sensor an das LCD senden.#include //Bibliothek für den LCD-Bildschirm#include // Bibliothek für den BMP280-SensorBMP280 bmp; // Initialisieren Sie Ihren SensorLiquidCrystal LCD (12, 11, 5, 4, 3, 2); /*Initialisieren Sie Ihr LCD, stellen Sie sicher, dass Sie es richtig verdrahtet haben */#define P0 1013.25 //Standard-Atmosphärendruck#Define Contrast 9 //9 und 10 sind die Pins, an denen Sie die passenden LCD-Pins verdrahten#Define Helligkeit 10 //für Kontrast und Helligkeitsregelungdouble T =0; // Starttemperatur valuedouble P =0; //Startdruckwertchar measure =0;void collectData() { measure =bmp.startMeasurment(); If (Maß! =0) { Verzögerung (Maß); messen =bmp.getTemperatureAndPressure(T, P); if(Maß !=0) { P =P + 17; // '+17' ist eine Korrektur für den Sensorfehler T =T - 0.8; // wie oben gesagt 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 (Kontrast, AUSGANG); pinMode (Helligkeit, AUSGANG); analogWrite (Kontrast, 100); // '100' und '255' sind der Kontrast und die Helligkeit analogWrite (Helligkeit, 255); // Werte, die ich vorschlage, aber Sie können sie ändern als if(!bmp.begin()) { // Sie bevorzugen delay(1000); lcd.print("Init. fehlgeschlagen."); lcd.setCursor(0, 1); Verzögerung (1000); lcd.print("Verkabelung prüfen."); während(1); } else lcd.print("Init. OK."); bmp.setOversampling(4); Verzögerung (2000); collectData();}void loop() { collectData(); Verzögerung(2000);}
Schaltpläne
Mit dieser Verkabelung sollten Sie keine Probleme haben