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

Offline Weather Station Arduino: 18 βήματα (με εικόνες)
Offline Weather Station Arduino: 18 βήματα (με εικόνες)

Βίντεο: Offline Weather Station Arduino: 18 βήματα (με εικόνες)

Βίντεο: Offline Weather Station Arduino: 18 βήματα (με εικόνες)
Βίντεο: CS50 2015 – 10-я неделя 2024, Νοέμβριος
Anonim
Μετεωρολογικός σταθμός εκτός σύνδεσης Arduino
Μετεωρολογικός σταθμός εκτός σύνδεσης Arduino
Μετεωρολογικός σταθμός εκτός σύνδεσης Arduino
Μετεωρολογικός σταθμός εκτός σύνδεσης Arduino
Μετεωρολογικός σταθμός εκτός σύνδεσης Arduino
Μετεωρολογικός σταθμός εκτός σύνδεσης Arduino
Μετεωρολογικός σταθμός εκτός σύνδεσης Arduino
Μετεωρολογικός σταθμός εκτός σύνδεσης Arduino

Περίληψη

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

Μου ήρθε λοιπόν μια ιδέα:

- Δημιουργία θερμόμετρου με δυνατότητα αλλαγής της τιμής θερμοκρασίας.

- Που μπορεί να είναι με οπίσθιο φωτισμό και χρώματα.- Για να συνδυάσετε όλα τα υλικά που έχουν τα κανονικά θερμόμετρα: (RTC, Μπαταρία, Min Max t, κ.λπ.)- Και να έχετε πρόσθετες λειτουργίες όπως Εποχές και Διακοπές

Έτσι ξεκίνησα το έργο πριν από 1 χρόνο. Το κομμάτι του λογισμικού μου πήρε αρκετούς μήνες για να το ολοκληρώσω. Έχω δημιουργήσει διάφορες εκδόσεις του λογισμικού και τις τελευταίες 2 εβδομάδες ολοκληρώνω το έργο.

Πληροφορίες λογισμικού συσκευής

Κωδικός Arduino και βιβλιοθήκες:

Ο κώδικας μεταφορτώνεται επίσης στο βήμα κώδικα.

https://github.com/stlevkov/KT2_144

https://github.com/stlevkov/Arduino-Libraries

Χαρακτηριστικά συσκευής

  • Σελίδα εκκίνησης - εμφανίζει την ημερομηνία και την ώρα της τελευταίας μεταφόρτωσης υλικολογισμικού.
  • Αρχική σελίδα - εμφανίζει ώρα, ημερομηνία, εικονίδιο μπαταρίας, εικονίδιο θερμοκρασίας, τιμή θερμοκρασίας, τιμή υγρασίας, Tmax, Tmin, εποχές, διακοπές, ενδεικτική λυχνία USB όταν είναι συνδεδεμένη.
  • Σελίδα μενού - με μενού Temp, Clock, Battery, About, Back
  • Temp Page - επιτρέπει τη βαθμονόμηση του αισθητήρα DHT
  • Σελίδα ρολογιού - επιτρέπει την επεξεργασία της ώρας και της ημερομηνίας
  • Σελίδα μπαταρίας - εμφανίζει πληροφορίες μπαταρίας, % ποσοστό, τάση mV, κατάσταση φόρτισης
  • Σχετικά με τη σελίδα - εμφάνιση πληροφοριών για τον συγγραφέα
  • Λειτουργία επιστροφής για έξοδο από το μενού
  • Διαφανή πάνελ
  • RTC μεγάλη διάρκεια ζωής
  • Μπαταρία λιθίου - έως ~ 9 ώρες (450mAh)
  • Ένδειξη χαμηλής μπαταρίας - εμφανίζει το κόκκινο εικονίδιο ~ υπόλοιπο 5 λεπτά.
  • Διαφορετικά χρώματα για - Χαμηλή, Μεσαία, Υψηλή θερμοκρασία
  • Μηνύματα διακοπών και εποχών
  • Προγραμματιζόμενη πρίζα - στην πίσω πλευρά
  • Διεπαφή χρήστη - με χρήση περιστροφικού κωδικοποιητή

Η πίσω πλευρά με τον πίνακα δεν θα καλυφθεί, επειδή θέλω από το μωρό μου να βλέπει και να αγγίζει τον πίνακα, ενώ η συσκευή δεν είναι ενεργοποιημένη. Μπορείτε να δημιουργήσετε κάποιο είδος καλύμματος για την πίσω πλευρά του πίνακα.

Βήμα 1: Σχεδιάστε τη συσκευή, σχεδιάστε την αρχική ιδέα

Σχεδιάστε τη συσκευή, σχεδιάστε την αρχική ιδέα
Σχεδιάστε τη συσκευή, σχεδιάστε την αρχική ιδέα
Σχεδιάστε τη συσκευή, σχεδιάστε την αρχική ιδέα
Σχεδιάστε τη συσκευή, σχεδιάστε την αρχική ιδέα
Σχεδιάστε τη συσκευή, σχεδιάστε την αρχική ιδέα
Σχεδιάστε τη συσκευή, σχεδιάστε την αρχική ιδέα

Αποφασίστε τι θα έχετε - πόσες σελίδες, μενού, πώς θα αλλάξετε τα μενού και τις σελίδες.

Εάν έχετε άλλες ιδέες, μπορείτε να το αλλάξετε με τον κώδικα arduino.

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

Η ιδέα είναι να έχετε διαφανείς τοίχους στην κορυφή και στο κάτω μέρος, επίσης μπορείτε να δημιουργήσετε πιο ωραίο κουτί.

Έτσι, τα κύρια μέρη του κουτιού είναι:

  1. Μπροστά - με την οθόνη και τον περιστροφικό κωδικοποιητή
  2. Δεξιά - με τη μονάδα RTC
  3. Αριστερά - με τη μονάδα DHT
  4. Πίσω - με την αντίθετη πλευρά του πίνακα
  5. Επάνω - Διαφανές με την μπαταρία 3.7V και τον διακόπτη ON/OFF
  6. Κάτω - Διαφανές

Βήμα 2: Επιλέξτε τα σωστά εξαρτήματα

  1. TP4056 Micro USB Charger 5V 1A 18650 Battery Charging Battery Board - Ebay
  2. 1.44 "128x128 SPI Full Color 65K TFT LCD Module Display ST7735 - Ebay
  3. KY -040 Rotary Encoder Module για Arduino - Ebay
  4. Tηφιακός αισθητήρας θερμοκρασίας και υγρασίας DHT22 AM2302 - Ebay
  5. Tiny RTC I2C Modules 24C32 Memory DS1307 Ρολόι πραγματικού χρόνου RTC Module Board - Ebay
  6. Pro Micro Controller Board ATmega328P 16MHz Arduino Pro Mini Module - Ebay

  7. 3.7V 450mAh επαναφορτιζόμενη μπαταρία Lipo - Ebay
  8. 6 Pins 2 Positions DPDT On/On Mini Slide Switch - Ebay
  9. CR2032 CR 2032 3V Button Cell Coat Battery - Ebay
  10. 10x22cm Συγκόλληση Prototype Copper PCB Board One Side Universal - Ebay
  11. Ανδρικό & Γυναικείο 40pin 2.54mm Header Socket Single Row Strip - Ebay

Βήμα 3: Προετοιμάστε το διάγραμμα καλωδίωσης

Προετοιμάστε το διάγραμμα καλωδίωσης
Προετοιμάστε το διάγραμμα καλωδίωσης

Το διάγραμμα δείχνει τη συνδεσιμότητα των παρόμοιων αισθητήρων, ενώ η οθόνη είναι σχεδόν η ίδια.

Για σωστή χρήση καρφιτσών, ανατρέξτε στον κώδικα Arduino στο βήμα Code.

Κατεβάστε το καταπληκτικό αρχείο για περισσότερες λεπτομέρειες σχετικά με το pinout. Τοποθετήστε το δείκτη του ποντικιού στα σημεία από το διάγραμμα για να δείτε τις ακριβείς ακίδες των ενοτήτων.

Βήμα 4: Πρόσθετες πληροφορίες πριν από την έναρξη - Κατανάλωση ενέργειας

Πρόσθετες πληροφορίες πριν από την έναρξη - Κατανάλωση ενέργειας
Πρόσθετες πληροφορίες πριν από την έναρξη - Κατανάλωση ενέργειας

Το έργο χρησιμοποιεί μπαταρία 450mAh, αλλά μπορείτε να χρησιμοποιήσετε μεγαλύτερη. Απλώς ρίξτε μια ματιά στην κατανάλωση ενέργειας για να επιλέξετε και να υπολογίσετε τη σωστή μπαταρία για συγκεκριμένες ώρες χρήσης. Όταν χρησιμοποιείτε 450mAh, η συσκευή μπορεί να λειτουργήσει περίπου. 9 ώρες.

Σε αδράνεια η συσκευή λειτουργεί με περίπου 0,102Α - Δεν γίνεται βελτιστοποίηση εξοικονόμησης ενέργειας εδώ

Όταν πατηθεί το κουμπί, εφαρμόζεται το υψηλό ρεύμα και είναι περίπου 0,177Α.

Βήμα 5: Συνδέστε την οθόνη

Συνδέστε την Οθόνη
Συνδέστε την Οθόνη
Συνδέστε την Οθόνη
Συνδέστε την Οθόνη

Η οθόνη χρησιμοποιεί SPI για σύνδεση.

Υπάρχει βιβλιοθήκη adafruit για αυτό το πρόγραμμα οδήγησης ST7735.

Βήμα 6: Συνδέστε τη μονάδα RTC

Συνδέστε τη μονάδα RTC
Συνδέστε τη μονάδα RTC

Δημιουργήστε τροποποίηση PCB Για να χρησιμοποιήσετε μπαταρία CR2032.

  • Αφαιρέστε το D1
  • Αφαιρέστε το R4
  • Αφαιρέστε το R5
  • Αφαιρέστε το R6
  • Σύντομο R6

Περισσότερες πληροφορίες σχετικά με αυτήν την τροποποίηση θα βρείτε εδώ.

Βήμα 7: Συνδέστε τον μπροστινό τοίχο με την οθόνη, RTC, μπαταρία, περιστροφικό κωδικοποιητή

Συνδέστε τον μπροστινό τοίχο με την οθόνη, RTC, μπαταρία, περιστροφικό κωδικοποιητή
Συνδέστε τον μπροστινό τοίχο με την οθόνη, RTC, μπαταρία, περιστροφικό κωδικοποιητή
Συνδέστε τον μπροστινό τοίχο με την οθόνη, RTC, μπαταρία, περιστροφικό κωδικοποιητή
Συνδέστε τον μπροστινό τοίχο με την οθόνη, RTC, μπαταρία, περιστροφικό κωδικοποιητή
Συνδέστε τον μπροστινό τοίχο με την οθόνη, RTC, μπαταρία, περιστροφικό κωδικοποιητή
Συνδέστε τον μπροστινό τοίχο με την οθόνη, RTC, μπαταρία, περιστροφικό κωδικοποιητή

Εάν θέλετε να εκκινήσετε τη συσκευή, απλώς ανεβάστε τον κώδικα από το βήμα Κώδικας και ακολουθήστε τα άλλα βήματα ενώ αλλάζετε και προσαρτάτε τα νέα μέρη.

Βήμα 8: Προετοιμάστε διαφανείς τοίχους

Προετοιμάστε διαφανείς τοίχους
Προετοιμάστε διαφανείς τοίχους

Χρησιμοποιώ πλέξι 3mm. Μπορείτε να χρησιμοποιήσετε παρόμοιο διαφανές υλικό. Χρησιμοποιώ μόνο ένα για την κάτω πλευρά.

Βήμα 9: Δημιουργία δεξιού τοίχου

Δημιουργία δεξιού τοίχου
Δημιουργία δεξιού τοίχου
Δημιουργία δεξιού τοίχου
Δημιουργία δεξιού τοίχου

Δημιουργήστε το δεξί πλευρικό τοίχωμα. Χρησιμοποιήστε το μέγεθος CR2032 για την τρύπα.

Βήμα 10: Δημιουργία αριστερού πλευρικού τοίχου

Δημιουργία αριστερού πλευρικού τοίχου
Δημιουργία αριστερού πλευρικού τοίχου
Δημιουργία αριστερού πλευρικού τοίχου
Δημιουργία αριστερού πλευρικού τοίχου
Δημιουργία αριστερού πλευρικού τοίχου
Δημιουργία αριστερού πλευρικού τοίχου

Δημιουργήστε το αριστερό πλευρικό τοίχωμα. Χρησιμοποιήστε το μέγεθος της μονάδας DHT για την τρύπα.

Βήμα 11: Δημιουργήστε την πρίζα με την καθολική πλακέτα και τις ράγες, συνδέστε RTC, κωδικοποιητή, οθόνη και οθόνη

Δημιουργήστε την πρίζα με την καθολική πλακέτα και τις ράγες, συνδέστε RTC, κωδικοποιητή, οθόνη και οθόνη
Δημιουργήστε την πρίζα με την καθολική πλακέτα και τις ράγες, συνδέστε RTC, κωδικοποιητή, οθόνη και οθόνη
Δημιουργήστε την πρίζα με την καθολική πλακέτα και τις ράγες, συνδέστε RTC, κωδικοποιητή, οθόνη και οθόνη
Δημιουργήστε την πρίζα με την καθολική πλακέτα και τις ράγες, συνδέστε RTC, κωδικοποιητή, οθόνη και οθόνη
Δημιουργήστε την πρίζα με την καθολική πλακέτα και τις ράγες, συνδέστε RTC, κωδικοποιητή, οθόνη και οθόνη
Δημιουργήστε την πρίζα με την καθολική πλακέτα και τις ράγες, συνδέστε RTC, κωδικοποιητή, οθόνη και οθόνη

Συνδέστε και κολλήστε όλες τις ακίδες ακολουθώντας το διάγραμμα σύρματος. Μπορείτε να χρησιμοποιήσετε το Arduino UNO με κενό σκίτσο εγκατεστημένο για να προγραμματίσετε το Arduino Mini. Απαιτούνται καρφίτσες:

  • VCC 5V
  • GND
  • RX
  • TX
  • ΕΠΑΝΑΦΟΡΑ

Μην ξεχάσετε να αποσυνδέσετε την μπαταρία 3.7V σε αυτά τα βήματα εάν ανεβάσετε το σκίτσο πριν τελειώσετε με τα εξαρτήματα.

Βήμα 12: Ενεργοποιήστε το πριν συνεχίσετε

Image
Image

Σε αυτό το σημείο, θα μπορείτε να ενεργοποιήσετε τη συσκευή και να χρησιμοποιήσετε όλες τις λειτουργίες.

Χρησιμοποιήστε την προεπισκόπηση βίντεο για να δείτε ποιο ήταν το λογισμικό στην έκδοση 1.1. Επίσης, υπάρχει σύνδεσμος github στο συνοπτικό βήμα για να δείτε την πιο πρόσφατη ενημέρωση.

Ενεργοποιήστε τη συσκευή πριν συνεχίσετε με τα άλλα βήματα πριν κλείσετε το επάνω κάλυμμα, βεβαιωθείτε ότι λειτουργεί κανονικά.

Βήμα 13: Προσθέστε το TP4056 και την μπαταρία, συγκολλήστε το διακόπτη διαφανειών, προσθέστε καλώδιο φόρτισης στην καρφίτσα 5, συγκολλήστε την πίσω προγραμματιζόμενη πρίζα

Προσθέστε το TP4056 και την μπαταρία, συγκολλήστε το διακόπτη διαφανειών, προσθέστε καλώδιο φόρτισης στην καρφίτσα 5, συγκολλήστε την πίσω προγραμματιζόμενη πρίζα
Προσθέστε το TP4056 και την μπαταρία, συγκολλήστε το διακόπτη διαφανειών, προσθέστε καλώδιο φόρτισης στην καρφίτσα 5, συγκολλήστε την πίσω προγραμματιζόμενη πρίζα
Προσθέστε το TP4056 και την μπαταρία, συγκολλήστε το διακόπτη διαφανειών, προσθέστε καλώδιο φόρτισης στην καρφίτσα 5, συγκολλήστε την πίσω προγραμματιζόμενη πρίζα
Προσθέστε το TP4056 και την μπαταρία, συγκολλήστε το διακόπτη διαφανειών, προσθέστε καλώδιο φόρτισης στην καρφίτσα 5, συγκολλήστε την πίσω προγραμματιζόμενη πρίζα
Προσθέστε το TP4056 και την μπαταρία, συγκολλήστε το διακόπτη διαφανειών, προσθέστε καλώδιο φόρτισης στην καρφίτσα 5, συγκολλήστε την πίσω προγραμματιζόμενη πρίζα
Προσθέστε το TP4056 και την μπαταρία, συγκολλήστε το διακόπτη διαφανειών, προσθέστε καλώδιο φόρτισης στην καρφίτσα 5, συγκολλήστε την πίσω προγραμματιζόμενη πρίζα

Μετά από κάθε συγκόλληση, δοκιμάστε το σύστημα, βεβαιωθείτε ότι τα εξαρτήματα λειτουργούν καλά πριν συνεχίσετε.

Βήμα 14: Δημιουργήστε το επάνω εξώφυλλο

Δημιουργήστε το επάνω εξώφυλλο
Δημιουργήστε το επάνω εξώφυλλο
Δημιουργήστε το επάνω εξώφυλλο
Δημιουργήστε το επάνω εξώφυλλο
Δημιουργήστε το επάνω εξώφυλλο
Δημιουργήστε το επάνω εξώφυλλο

Χρησιμοποιώ φύλλο plexi 0.5mm από κουτί power bank.

Βήμα 15: Κωδικός

Χρησιμοποιήστε τις παραμέτρους στην ενότητα init για να ορίσετε τις προτιμήσεις σας.

Για τις διακοπές, χρησιμοποιώ βουλγαρικά. Μπορείτε να επεξεργαστείτε τον πίνακα χρησιμοποιώντας τις διακοπές στη χώρα σας.

Η συσκευή εμφανίζει 4 εποχές, επεξεργαστείτε τις στον προτιμώμενο κώδικα για την τοποθεσία σας.

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

Δοκιμασμένες πλατφόρμες:

  • Arduino UNO
  • Arduino Pro Mini

Πάρτε τις βιβλιοθήκες που χρειάζεστε από το αποθετήριο, χρησιμοποιήστε αυτές που ορίζονται στο σκίτσο.

Βήμα 16: Δοκιμάστε τη συσκευή πριν από τις τελικές πινελιές

Δοκιμάστε τη συσκευή πριν από τις τελικές πινελιές
Δοκιμάστε τη συσκευή πριν από τις τελικές πινελιές
Δοκιμάστε τη συσκευή πριν από τις τελικές πινελιές
Δοκιμάστε τη συσκευή πριν από τις τελικές πινελιές
Δοκιμάστε τη συσκευή πριν από τις τελικές πινελιές
Δοκιμάστε τη συσκευή πριν από τις τελικές πινελιές

Η συσκευή είναι τέλεια, το δικό μου είναι βαθμονομημένο -4*C, χρησιμοποίησα το κλιματιστικό μου Toshiba, 2 απλά θερμόμετρα με τοίχους και δύο ψηφιακά θερμόμετρα για τη βαθμονόμησή του. Εάν ο αισθητήρας σας μετρά διαφορετικές τιμές, μπορείτε τώρα να τον τροποποιήσετε.

Βήμα 17: Προεπισκόπηση διεπαφής

Προεπισκόπηση διεπαφής
Προεπισκόπηση διεπαφής
Προεπισκόπηση διεπαφής
Προεπισκόπηση διεπαφής
Προεπισκόπηση διεπαφής
Προεπισκόπηση διεπαφής

Μην ξεχάσετε να επεξεργαστείτε τις πληροφορίες υλικολογισμικού στην ενότητα init του κώδικα για να εμφανίσετε τα διαπιστευτήριά σας ή αφήστε τα ως έχουν.

Συνιστάται: