Inhaltsverzeichnis:
Video: Wetterstation mit Arduino, BME280 & Display, um den Trend innerhalb der letzten 1-2 Tage zu sehen - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Hallo!
Hier auf instructables wurden bereits Wetterstationen eingeführt. Sie zeigen den aktuellen Luftdruck, Temperatur und Luftfeuchtigkeit an. Was ihnen bisher gefehlt hat, war eine Präsentation des Kurses innerhalb der letzten 1-2 Tage. Dieser Vorgang hätte den Vorteil, dass Sie nicht nur die aktuellen Werte grafisch ablesen, sondern auch auf einen Blick sehen können, wie sich diese in den letzten 1-2 Tagen verändert haben. Dadurch erkennt man beispielsweise einen möglichen Wetterwechsel, da sich der Luftdruck stark ändert. Man erkennt aber auch allgemeine Zusammenhänge zwischen den Messgrößen.
Beispielsweise sinkt die Luftfeuchtigkeit, wenn die Lufttemperatur steigt. Denn warme Luft kann mehr Feuchtigkeit aufnehmen als kalte Luft. Beträgt die relative Luftfeuchtigkeit bei 20 °C etwa 60 %, dann könnte die Luft bei 25 °C absolut mehr Feuchtigkeit aufnehmen. Daher beträgt die relative Luftfeuchtigkeit nicht mehr 60 %, sondern beispielsweise nur noch 50 %.
Auch kann man gut erkennen, zu welcher Tageszeit die höchsten oder niedrigsten Temperaturen zu erwarten sind. Oder dass die Luftfeuchtigkeit bei Regen stark ansteigt. Ideal für den Hobbymeteorologen. Ich würde mich sehr freuen, wenn du deine Erfahrungen in den Kommentaren posten könntest.
Schritt 1: Teile
Für diese Wetterstation benötigen Sie nur 5 Teile:
* Arduino-Mega: eBay-Arduino-Mega
* Wettersensor BME280: ebay BME280
* 320x480 Pixel Display für den Arduino Mega: ebay 320x480 Display
* + 9V Netzteil: ebay Netzteil
* Elektrischen Draht
Die Gesamtkosten betragen nur weniger als 25 US-Dollar.
Schritt 2: Der Arduino-Code
Die Schaltung ist sehr einfach. Sie müssen nur den Sensor auf diese Weise mit dem arduino mega verbinden:
Vin +5V
GND GND
SDA-Pin 20
SCL-Pin 21
Das Display wird beim arduino mega nur in die Steckerleiste gesteckt.
Hier sind die Links für die Arduino-Bibliotheken, die Sie benötigen:
BME280-Bibliothek:
gemeinsame Sensorbibliothek:
Das Herzstück dieser Wetterstation ist, wie gesagt, die grafische Darstellung der Wetterdaten. Momentan werden die Werte alle 6 Minuten aktualisiert und die Grafiken um 1 Pixel nach links verschoben. Auf diese Weise können die letzten 1,5 Tage aufgezeichnet werden. Dies kann natürlich jederzeit geändert werden. Erst dann muss der Wert 360000 ms (= 6 Minuten) und natürlich die Zeitachse in Stunden geändert werden. Hier sind die Zeilen, die Sie ändern müssen:
time_neu = millis();
if(time_neu < time_alt) // um Probleme nach dem Millis-Überlauf zu vermeiden
{
time_next = 0 + 360000;
}
if(time_neu > time_next && time_next >= 360000) // neue Messung nach 6 Minuten
{
Ich habe mich entschieden, die Temperatur-, Luftdruck- und Luftfeuchtigkeitsskalen unverändert zu lassen, da Sie anhand der aktuellen Messwerte im Laufe der Zeit schnell beurteilen können, ob der Luftdruck hoch, mittel oder niedrig ist. Würde ich die Skala immer wieder verstellen, würde ich dies auf den ersten Blick nicht erkennen. Die Zeitachse befindet sich an der Position y = 290 Pixel. Die Markierungen auf den y-Achsen sind 45 Pixel auseinander. Wenn Sie den Luftdruck von 940 mbar bis 1000 mbar in 10 mbar-Schritten anzeigen möchten, gehen Sie wie folgt vor:
Stellen Sie zunächst die allgemeine Gleichung y = k * x + d auf. Jetzt verwenden Sie diese 2 Wertepaare (x = 940, y = 290) und (x = 950, y = 245). Dies ergibt 2 Gleichungen mit den beiden Unbekannten k und d: 290 = k * 940 + d und 245 = k * 950 + d. Durch Subtrahieren beider Gleichungen erhalten wir: 290 - 245 = k * 940 - k * 950 + d - d. Die Unbekannte d verschwindet auf diese Weise und wir erhalten für k = -45/10 = -4,5. Dieser Wert für k wird in eine der beiden Ausgangsgleichungen eingesetzt: 290 = -4,5 * 940 + d. Auf diese Weise erhält man den Wert für d, nämlich d = 4520.
Will man den Luftdruck zB nur 955 mbar bis 985 mbar darstellen, setzt man die Wertepaare (955, 290) und (960, 245) in die Geradengleichung ein. Dann erhält man für k = -9 und d = 8885. Analog berechnet man die Geradengleichungen für die Temperatur und die Luftfeuchtigkeit. Diese 3 Gleichungen erscheinen hier im Programm:
für (i = 0; i <= 348; i ++)
{
if (Luftfeuchtigkeit ! = -66)
{
myGLCD.setColor (255, 0, 0);
// myGLCD.drawPixel (81 + i, -4,5 * Temperatur + 200);
myGLCD.drawLine (81 + i, -4,5 * Temperatur + 200,81 + i + 1, -4,5 * Temperatur [i + 1] + 200);
myGLCD.setColor (0, 255, 0);
// myGLCD.drawPixel (81 + i, -4,5 * Luftfeuchtigkeit + 380);
myGLCD.drawLine (81 + i, -4,5 * Feuchtigkeit + 380,81 + i + 1, -4,5 * Feuchtigkeit [i + 1] + 380);
myGLCD.setColor (0, 0, 255);
// myGLCD.drawPixel (81 + i, -4,5 * Druck + 4520);
myGLCD.drawLine (81 + i, -9,0 * Druck + 8885, 81 + i + 1, -9,0 * Druck [i + 1] + 8885);
}
}
Schritt 3: Die Ergebnisse
Ein Wort zum Video: Um die Expansion des Graphen sichtbar zu machen, habe ich die Zeitschritte auf 1 Sekunde reduziert. Daher flackert das Display stark. In Wirklichkeit sind die Zeitschritte 6 Minuten. Sie sehen also kein Flackern…
Ich würde mich freuen, wenn der ein oder andere Hobby-Meteorologe versucht, meine Wetterstation zu basteln. Ein Vergleich mit offiziellen Messstationen (z. B. Universität Graz/Österreich) zeigt die Verwendbarkeit der Messkurven.
Außerdem würde ich mich freuen, wenn Sie für mich im Sensorwettbewerb und für meine anderen Lehrmaterialien im Klassenzimmerwissenschaftswettbewerb stimmen könnten:
- https://www.instructables.com/id/DIY-LED-photomete…
- www.instructables.com/id/DIY-Wind-Tunnel-a…
- www.instructables.com/id/Simple-Autorange-…
Vielen Dank dafür.
Bei Interesse an weiteren Physikprojekten hier mein Youtube-Kanal:
weitere Physikprojekte:
In diesem Sinne, Eureka …
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
So erstellen Sie einen Smart Pot mit NodeMCU, der von der App gesteuert wird – wikiHow
So erstellen Sie einen Smart Pot mit NodeMCU, der von einer App gesteuert wird: In dieser Anleitung bauen wir einen Smart Pot, der von einem ESP32 und einer Anwendung für Smartphones (iOS und Android) gesteuert wird. Wir verwenden NodeMCU (ESP32) für die Konnektivität und die Blynk-Bibliothek für das Cloud-IoT und die Anwendung auf dem Smartphone. Endlich haben wir
CalClock: Sehen Sie einfach Ihren Zeitplan - 4 Schritte (mit Bildern)
CalClock: Sehen Sie sich einfach Ihren Zeitplan an: Der schlimmste Konzentrationsverlust besteht darin, unterbrochen zu werden, nur um zu erfahren, dass keine Unterbrechung erforderlich ist. Ich finde, das passiert oft in Bezug auf meinen Zeitplan. Ich werde an einem Problem arbeiten und habe den ahnenden Gedanken, ‘Gibt es s
So verstecken Sie Dateien, die andere nicht sehen oder lesen sollen.: 7 Schritte
So verstecken Sie Dateien, die andere nicht sehen und oder lesen möchten.: Dieses Instructable zeigt Ihnen, wie Sie das Format einer Datei ändern, um sie nutzlos zu machen, es sei denn, Sie wissen, welcher Dateityp es ursprünglich war. Zum Beispiel ein mpeg (Filmdatei) in ein txt/doc (Text/Dokument) ändern, damit Sie es nicht abspielen können, geschweige denn die Informationen sehen