Πίνακας περιεχομένων:

Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες: 3 βήματα (με εικόνες)
Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες: 3 βήματα (με εικόνες)

Βίντεο: Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες: 3 βήματα (με εικόνες)

Βίντεο: Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες: 3 βήματα (με εικόνες)
Βίντεο: Μετεωρολογικός σταθμός Arduino Nano, BME280 και SSD1306 OLED 2024, Νοέμβριος
Anonim
Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες
Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες
Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες
Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες
Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες
Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες
Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες
Μετεωρολογικός σταθμός με Arduino, BME280 & Display για να δείτε την τάση τις τελευταίες 1-2 ημέρες

Γειά σου!

Εδώ έχουν ήδη εισαχθεί με οδηγίες μετεωρολογικοί σταθμοί. Δείχνουν την τρέχουσα πίεση του αέρα, τη θερμοκρασία και την υγρασία. Αυτό που τους έλειπε μέχρι τώρα ήταν μια παρουσίαση του μαθήματος μέσα στις τελευταίες 1-2 ημέρες. Αυτή η διαδικασία θα είχε το πλεονέκτημα ότι δεν μπορείτε μόνο να διαβάσετε γραφικά τις τρέχουσες τιμές αλλά και με μια ματιά, να δείτε πώς έχουν αλλάξει τις τελευταίες 1-2 ημέρες. Ως αποτέλεσμα, κάποιος αναγνωρίζει, για παράδειγμα, μια πιθανή αλλαγή του καιρού, καθώς η πίεση του αέρα αλλάζει πολύ. Ωστόσο, κάποιος αναγνωρίζει επίσης τις γενικές σχέσεις μεταξύ των μετρημένων ποσοτήτων.

Για παράδειγμα, η υγρασία μειώνεται όταν η θερμοκρασία του αέρα αυξάνεται. Αυτό συμβαίνει επειδή ο ζεστός αέρας μπορεί να απορροφήσει περισσότερη υγρασία από τον κρύο αέρα. Εάν η σχετική υγρασία είναι περίπου 60% στους 20 ° C, τότε στους 25 ° C ο αέρας θα μπορούσε να απορροφήσει περισσότερη υγρασία σε απόλυτους όρους. Επομένως, η σχετική υγρασία δεν είναι πλέον 60%, αλλά για παράδειγμα, μόνο 50% έκπτωση.

Επίσης, μπορείτε να δείτε όμορφα τι ώρα της ημέρας αναμένονται οι υψηλότερες ή χαμηλότερες θερμοκρασίες. Or ότι η υγρασία ανεβαίνει κατακόρυφα όταν βρέχει. Ιδανικό για χόμπι μετεωρολόγο. Θα ήμουν πολύ χαρούμενος αν μπορούσατε να δημοσιεύσετε τις εμπειρίες σας στα σχόλια.

Βήμα 1: Μέρη

Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά
Ανταλλακτικά

Για αυτόν τον μετεωρολογικό σταθμό χρειάζεστε μόνο 5 μέρη:

* Arduino mega: ebay arduino mega

* Αισθητήρας καιρού BME280: ebay BME280

* Οθόνη 320x480 pixel για την οθόνη Arduino Mega: ebay 320x480

* + 9V τροφοδοσία: τροφοδοτικό ebay

* Ηλεκτρικό καλώδιο

Το συνολικό κόστος είναι μικρότερο από 25 $.

Βήμα 2: Ο κώδικας Arduino

Ο κώδικας Arduino
Ο κώδικας Arduino
Ο κώδικας Arduino
Ο κώδικας Arduino
Ο κώδικας Arduino
Ο κώδικας Arduino

Το κύκλωμα είναι πολύ απλό. Απλά πρέπει να συνδέσετε τον αισθητήρα στο arduino mega με αυτόν τον τρόπο:

Vin +5V

GND GND

SDA pin 20

SCL pin 21

Η οθόνη είναι συνδεδεμένη μόνο στη λωρίδα σύνδεσης στο arduino mega.

Ακολουθούν οι σύνδεσμοι για τις βιβλιοθήκες arduino που θα χρειαστείτε:

Βιβλιοθήκη BME280:

κοινή βιβλιοθήκη αισθητήρων:

Η καρδιά αυτού του μετεωρολογικού σταθμού είναι, όπως είπα, η γραφική αναπαράσταση των καιρικών δεδομένων. Προς το παρόν, οι τιμές ενημερώνονται κάθε 6 λεπτά και τα γραφήματα μετατοπίζονται 1 pixel προς τα αριστερά. Με αυτόν τον τρόπο, μπορούν να καταγραφούν οι τελευταίες 1,5 ημέρες. Φυσικά αυτό μπορεί να αλλάξει ανά πάσα στιγμή. Μόνο τότε πρέπει να αλλάξει η τιμή 360000 ms (= 6 λεπτά) και φυσικά ο χρονικός άξονας σε ώρες. Εδώ είναι οι γραμμές που πρέπει να αλλάξετε:

time_neu = millis ();

εάν (time_neu <time_alt) // για να αποφευχθούν προβλήματα μετά την υπερχείλιση millis

{

time_next = 0 + 360000;

}

εάν (time_neu> time_next && time_next> = 360000) // νέα μέτρηση μετά από 6 λεπτά

{

Αποφάσισα να διατηρήσω αμετάβλητες τις κλίμακες θερμοκρασίας, πίεσης αέρα και υγρασίας, καθώς σας επιτρέπει να εκτιμάτε γρήγορα, με την πάροδο του χρόνου, εάν η πίεση του αέρα είναι υψηλή, μεσαία ή χαμηλή, με βάση τη θέση των σημερινών ενδείξεων. Αν θα προσαρμόζα την κλίμακα ξανά και ξανά, δεν θα το αναγνώριζα με την πρώτη ματιά. Ο άξονας του χρόνου βρίσκεται στη θέση y = 290 εικονοστοιχεία. Τα σημάδια στους άξονες y απέχουν μεταξύ τους 45 pixel. Εάν θέλετε να εμφανίσετε την πίεση αέρα από 940 mbar έως 1000 mbar σε βήματα 10 mbar, προχωρήστε ως εξής:

Αρχικά, ρυθμίστε τη γενική εξίσωση y = k * x + d. Τώρα χρησιμοποιείτε αυτά τα 2 ζεύγη τιμών (x = 940, y = 290) και (x = 950, y = 245). Αυτό δίνει 2 εξισώσεις με τα δύο άγνωστα k και d: 290 = k * 940 + d και 245 = k * 950 + d. Αφαιρώντας και τις δύο εξισώσεις, παίρνουμε: 290 - 245 = k * 940 - k * 950 + d - d. Το άγνωστο d εξαφανίζεται με αυτόν τον τρόπο και παίρνουμε για k = - 45/10 = -4.5. Αυτή η τιμή για το k τοποθετείται σε μία από τις δύο αρχικές εξισώσεις: 290 = -4,5 * 940 + d. Με αυτόν τον τρόπο αποκτά κανείς την τιμή για το d, συγκεκριμένα d = 4520.

Αν θέλετε την πίεση του αέρα, για παράδειγμα αντιπροσωπεύουν μόνο 955 mbar έως 985 mbar, βάζετε τα ζεύγη τιμών (955, 290) και (960, 245) στην ευθύγραμμη εξίσωση. Στη συνέχεια, λαμβάνουμε για k = -9 και d = 8885. Ομοίως, υπολογίζουμε τις ευθείες εξισώσεις για τη θερμοκρασία και την υγρασία του αέρα. Αυτές οι 3 εξισώσεις εμφανίζονται εδώ στο πρόγραμμα:

για (i = 0; i <= 348; i ++)

{

αν (υγρασία ! = -66)

{

myGLCD.setColor (255, 0, 0);

//myGLCD.drawPixel(81 + i, -4,5 * θερμοκρασία + 200);

myGLCD.drawLine (81 + i, -4,5 * θερμοκρασία + 200,81 + i + 1, -4,5 * θερμοκρασία [i + 1] + 200);

myGLCD.setColor (0, 255, 0);

//myGLCD.drawPixel(81 + i, -4,5 * υγρασία + 380);

myGLCD.drawLine (81 + i, -4,5 * υγρασία + 380,81 + i + 1, -4,5 * υγρασία [i + 1] + 380);

myGLCD.setColor (0, 0, 255);

//myGLCD.drawPixel(81 + i, -4,5 * πίεση + 4520);

myGLCD.drawLine (81 + i, -9,0 * πίεση + 8885, 81 + i + 1, -9,0 * πίεση [i + 1] + 8885);

}

}

Βήμα 3: Τα αποτελέσματα

Image
Image
Τα αποτελέσματα
Τα αποτελέσματα
Τα αποτελέσματα
Τα αποτελέσματα

Μία λέξη στο βίντεο: Για να γίνει ορατή η επέκταση του γραφήματος, μείωσα τα βήματα χρόνου σε 1 δευτερόλεπτο. Επομένως η οθόνη αναβοσβήνει έντονα. Στην πραγματικότητα, τα χρονικά βήματα είναι 6 λεπτά. Επομένως, δεν μπορείτε να δείτε να τρεμοπαίζει…

Θα ήμουν ευτυχής αν ο ένας ή ο άλλος μετεωρολόγος χόμπι προσπαθήσει να μουτζουρώσει τον μετεωρολογικό σταθμό. Μια σύγκριση με τους επίσημους σταθμούς μέτρησης (π.χ. Πανεπιστήμιο του Γκρατς/Αυστρία) δείχνει τη χρηστικότητα των καμπυλών μέτρησης.

Επιπλέον, θα ήμουν ευτυχής αν μπορούσατε να με ψηφίσετε στο διαγωνισμό αισθητήρων και στα άλλα μου διδάγματα στον διαγωνισμό επιστήμης στην τάξη:

  • https://www.instructables.com/id/DIY-LED-photomete…
  • www.instructables.com/id/DIY-Wind-Tunnel-a…
  • www.instructables.com/id/Simple-Autorange-…

Ευχαριστώ πολύ για αυτό.

Εάν ενδιαφέρεστε για περισσότερα έργα φυσικής, εδώ είναι το κανάλι μου στο youtube:

περισσότερα έργα φυσικής:

Υπό αυτή την έννοια, η Εύρηκα…

Συνιστάται: