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

Ακόμα ένας έξυπνος μετεωρολογικός σταθμός, αλλά : 6 βήματα (με εικόνες)
Ακόμα ένας έξυπνος μετεωρολογικός σταθμός, αλλά : 6 βήματα (με εικόνες)

Βίντεο: Ακόμα ένας έξυπνος μετεωρολογικός σταθμός, αλλά : 6 βήματα (με εικόνες)

Βίντεο: Ακόμα ένας έξυπνος μετεωρολογικός σταθμός, αλλά : 6 βήματα (με εικόνες)
Βίντεο: Ξύλο μεταξύ κάμεραμαν του ΣΚΑΙ και πολίτη 2024, Νοέμβριος
Anonim
Image
Image
Ένας ακόμη έξυπνος μετεωρολογικός σταθμός, αλλά…
Ένας ακόμη έξυπνος μετεωρολογικός σταθμός, αλλά…
Ένας ακόμη έξυπνος μετεωρολογικός σταθμός, αλλά…
Ένας ακόμη έξυπνος μετεωρολογικός σταθμός, αλλά…
Ένας ακόμη έξυπνος μετεωρολογικός σταθμός, αλλά…
Ένας ακόμη έξυπνος μετεωρολογικός σταθμός, αλλά…

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

  • Χαμηλή ενέργεια
  • 2 οθόνες ηλεκτρονικού χαρτιού…
  • αλλά 10 διαφορετικές οθόνες!
  • Βασισμένο στο ESP32
  • επιταχυνσιόμετρο και αισθητήρες θερμοκρασίας / υγρασίας
  • Ενημέρωση Wifi
  • 3D εκτυπωμένη θήκη

και πολλά άλλα χρήσιμα κόλπα…

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

Προμήθειες

Όπως μπορείτε να δείτε, το σύστημα αποτελείται από 2 οθόνες ηλεκτρονικού χαρτιού και ένα κουτί με 3D εκτύπωση. Αλλά υπάρχουν πολλά πράγματα σε αυτό:

  • Ένα ESP32
  • Ένα επιταχυνσιόμετρο MPU6050
  • Αισθητήρας DHT22
  • Μπαταρία LiPo
  • Ένα PCB για σύνδεση ολόκληρου του πράγματος
  • Σπιτικά νήματα duPont

και σύνδεση Wi-Fi. Στην πραγματικότητα δηλώνονται 3 δίκτυα, το σύστημα τα δοκιμάζει ένα προς ένα μέχρι να πετύχει τη σύνδεση.

Βήμα 1: Γιατί άλλος μετεωρολογικός σταθμός;

Γιατί άλλος μετεωρολογικός σταθμός
Γιατί άλλος μετεωρολογικός σταθμός
Γιατί άλλος μετεωρολογικός σταθμός
Γιατί άλλος μετεωρολογικός σταθμός
Γιατί άλλος μετεωρολογικός σταθμός
Γιατί άλλος μετεωρολογικός σταθμός
Γιατί άλλος μετεωρολογικός σταθμός
Γιατί άλλος μετεωρολογικός σταθμός

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

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

Για εξοικονόμηση ενέργειας, επέλεξα τις οθόνες ηλεκτρονικού χαρτιού (βλ. Παραπομπές παρακάτω) που διατηρούν την οθόνη ακόμη και αν δεν είναι πλέον ενεργοποιημένες. Ομοίως για το ESP32, επέλεξα την μονάδα Lolin32 (γνωστή για τη λιτότητά της) και έπρεπε να μάθω πώς να διαχειρίζομαι τον βαθύ ύπνο και την αφύπνιση σε διακοπή που δημιουργείται από το επιταχυνσιόμετρο.

Οι οθόνες συνδέονται μέσω SPI, έψαξα αρκετά πριν βρω τις σωστές ακίδες για να τις συνδέσω στο ESP32, γνωρίζοντας ότι χρειάζομαι επίσης ένα I2C για το επιταχυνσιόμετρο, έναν πείρο για την ανάγνωση του DHT22 και 2 άλλους για τη μέτρηση της τάσης της μπαταρίας. Το ESP32 είναι σχεδόν πλήρως φορτισμένο! Γνωρίζοντας ότι ορισμένες ακίδες είναι μόνο για ανάγνωση (χρησιμοποίησα αυτές για τον αισθητήρα DHT), άλλες δεν μπορούν να χρησιμοποιηθούν μαζί με το Wifi, ήταν λίγο περίπλοκο να βρούμε τη σωστή διαμόρφωση.

Το κουτί μπορεί να προσανατολιστεί προς 4 κατευθύνσεις, συν το επίπεδο. Συνολικά, καθιστά δυνατή την εμφάνιση 4*2+2 = 10 πιθανών τύπων πληροφοριών με μόνο 2 οθόνες. Έτσι, σας επιτρέπει να εμφανίσετε πολλά πράγματα:

  • Η ημερομηνία και ο άγιος της ημέρας
  • Την τρέχουσα ώρα
  • Η σημερινή πρόγνωση του καιρού
  • Καιρικές προβλέψεις για τις επόμενες ώρες
  • Καιρικές προβλέψεις για τις επόμενες ημέρες
  • Το επίπεδο φόρτισης της μπαταρίας
  • Και καθώς είχα ακόμα χώρο, ένα τυχαίο απόσπασμα από έναν εξειδικευμένο ιστότοπο.

Βήμα 2: Τι χρειάζεστε;

Τι χρειάζεσαι ?
Τι χρειάζεσαι ?
Τι χρειάζεσαι ?
Τι χρειάζεσαι ?
Τι χρειάζεσαι ?
Τι χρειάζεσαι ?
  • ESP32: μονάδα Lolin32 (πολύ χαμηλή ισχύς, εξοπλισμένη με υποδοχή μπαταρίας, μπορεί να φορτίσει την μπαταρία μέσω USB plus)
  • 2 οθόνες epaper: 4,2 ίντσες και 2,9 ίντσες. Επέλεξα τα μοντέλα από το κατάστημα Good Display.
  • Αισθητήρας DHT22
  • Επιταχυνσιόμετρο MCU6050 - αισθητήρας γυρομέτρου I2C
  • Μπαταρία LiPo
  • Για μέτρηση τάσης μπαταρίας: 2 αντιστάσεις 10k, 1 αντίσταση 100k, 1 πυκνωτής 100nF, 1 τρανζίστορ MOSFET
  • Συγκολλητικό και συγκολλητικό σίδερο, πλακέτα τυπωμένου κυκλώματος
  • Πρόσβαση σε τρισδιάστατο εκτυπωτή για τη θήκη

Η συνημμένη εικόνα δείχνει τη θέση όλων των εξαρτημάτων στο PCB: έπρεπε να εξοικονομήσω χώρο για να χωρέσω στη θήκη, η οποία δεν πρέπει να είναι πολύ μεγάλη.

Για να λάβετε τα δεδομένα καιρού, πρέπει επίσης να εγγραφείτε στα API καιρού και να τοποθετήσετε τα κλειδιά σας στις σωστές θέσεις στο αρχείο "Variables.h" (δείτε παρακάτω).

Καιρικές ιστοσελίδες:

  • apixu
  • accuweather

Βήμα 3: Αυτό το έργο με έκανε να σκεφτώ και να μάθω πολλά…

Αυτό το έργο με έκανε να σκεφτώ και να μάθω πολλά…
Αυτό το έργο με έκανε να σκεφτώ και να μάθω πολλά…
Αυτό το έργο με έκανε να σκεφτώ και να μάθω πολλά…
Αυτό το έργο με έκανε να σκεφτώ και να μάθω πολλά…
Αυτό το έργο με έκανε να σκεφτώ και να μάθω πολλά…
Αυτό το έργο με έκανε να σκεφτώ και να μάθω πολλά…

Αυτό το σύστημα υποτίθεται ότι ήταν χαμηλής ισχύος, έτσι ώστε να μην χρειάζεται να φορτίζετε την μπαταρία κάθε βράδυ … Για εξοικονόμηση ενέργειας, επέλεξα τις οθόνες ηλεκτρονικού χαρτιού που διατηρούν την οθόνη ακόμα και αν δεν τροφοδοτούνται πλέον. Ομοίως για το ESP32, επέλεξα την μονάδα Lolin32 (φημισμένη για τη λιτότητά της) και έπρεπε να μάθω πώς να διαχειρίζομαι τον βαθύ ύπνο και την κλήση αφύπνισης για διακοπή που δημιουργείται από το επιταχυνσιόμετρο.

Το κουτί μπορεί να προσανατολιστεί προς 4 κατευθύνσεις, πιο επίπεδο. Συνολικά αυτό κάνει 4*2+2 = 10 πιθανούς τύπους πληροφοριών για εμφάνιση. Σας επιτρέπει να κάνετε πολλά πράγματα: την ημερομηνία και τον άγιο της ημέρας, την ώρα, τη σημερινή πρόγνωση του καιρού, τις καιρικές προβλέψεις για τις επόμενες ώρες ή ημέρες, το επίπεδο φόρτισης της μπαταρίας και ένα τυχαίο απόσπασμα από έναν εξειδικευμένο ιστότοπο.

Είναι πολλά να ψάξετε στο Διαδίκτυο και όπως γνωρίζετε: Το WiFi είναι ο εχθρός της εξοικονόμησης ενέργειας…

Πρέπει λοιπόν να διαχειριστούμε τη σύνδεση, προκειμένου να εμφανίσουμε ενημερωμένες πληροφορίες, αλλά χωρίς να ξοδεύουμε πολύ χρόνο στη σύνδεση. Ένα άλλο αρκετά περίπλοκο πρόβλημα: τη διατήρηση ενός αρκετά ακριβούς χρόνου. Δεν χρειάζομαι RTC αφού μπορώ να βρω χρόνο στο διαδίκτυο, αλλά το εσωτερικό ρολόι του ESP32 παρασύρεται αρκετά, ειδικά σε περιόδους ύπνου. Έπρεπε να βρω έναν τρόπο να παραμείνω αρκετά ακριβής, περιμένοντας να επαναφέρω το ρολόι μέσω διαδικτύου. Το επανασυγχρονίζω στο διαδίκτυο κάθε ώρα.

Υπάρχει λοιπόν μια αντιστάθμιση μεταξύ της αυτονομίας (η συχνότητα των συνδέσεων στο Διαδίκτυο) και της ακρίβειας των πληροφοριών που εμφανίζονται.

Ένα άλλο πρόβλημα που πρέπει να λυθεί είναι η μνήμη. Όταν το ESP32 βρίσκεται σε βαθύ ύπνο, η μνήμη χάνεται, εκτός από αυτό που ονομάζεται RTC RAM. Αυτή η μνήμη έχει πλάτος 4MB, εκ των οποίων μόνο 2 μπορούν να χρησιμοποιηθούν για το πρόγραμμα. Σε αυτήν τη μνήμη, πρέπει να αποθηκεύσω τις διάφορες μεταβλητές προγράμματος που πρέπει να διατηρούνται από τη μια εκτέλεση στην άλλη, μετά από μια φάση ύπνου: προβλέψεις καιρού, ώρα και ημερομηνία, ονόματα αρχείων εικονιδίων, εισαγωγικά κ.λπ. Έπρεπε να μάθω να το αντιμετωπίζω Το

Μιλώντας για εικονίδια, αποθηκεύονται στο SPIFFS, το σύστημα αρχείων ESP32. Μετά το κλείσιμο του δωρεάν API καιρού Wunderground, έπρεπε να αναζητήσω άλλους δωρεάν παρόχους δεδομένων καιρού. Διάλεξα δύο: ένα για τον καιρό της τρέχουσας ημέρας, με προβλέψεις 12 ωρών και ένα άλλο για τις πολυήμερες προβλέψεις. Τα εικονίδια δεν είναι τα ίδια, οπότε μου προκάλεσε δύο νέα προβλήματα:

  • Επιλέξτε ένα σύνολο εικονιδίων
  • Αντιστοιχίστε αυτά τα εικονίδια με τους κωδικούς πρόβλεψης των 2 ιστότοπων

Αυτή η αλληλογραφία έχει επίσης αποθηκευτεί στη μνήμη RAM RTC, έτσι ώστε να μην χρειάζεται να φορτώνεται ξανά κάθε φορά.

Τελευταίο πρόβλημα με τα εικονίδια. Είναι αδύνατο να τα αποθηκεύσετε όλα στο SPIFFS. Ο χώρος είναι πολύ μικρός για όλα τα αρχεία μου. Wasταν απαραίτητο να γίνει συμπίεση εικόνας. Έγραψα ένα σενάριο στην Python που διαβάζει τα αρχεία εικονιδίων μου και τα συμπιέζει σε RLE και στη συνέχεια αποθηκεύω τα συμπιεσμένα αρχεία σε SPIFFS. Εκεί κράτησε.

Αλλά η βιβλιοθήκη εμφάνισης e-paper λαμβάνει μόνο αρχεία τύπου BMP και όχι συμπιεσμένες εικόνες. Έτσι έπρεπε να γράψω μια πρόσθετη λειτουργία για να μπορώ να εμφανίζω τα εικονίδια μου από αυτά τα συμπιεσμένα αρχεία.

Τα δεδομένα που διαβάζονται στο διαδίκτυο είναι συχνά σε μορφή json: δεδομένα καιρού, Άγιος της ημέρας. Χρησιμοποιώ τη (μεγάλη) βιβλιοθήκη arduinoJson για αυτό. Αλλά τα εισαγωγικά δεν είναι έτσι. Τα παίρνω από έναν ειδικό ιστότοπο, οπότε πρέπει να τα διαβάσω κοιτάζοντας απευθείας το περιεχόμενο της ιστοσελίδας. Έπρεπε να γράψω έναν συγκεκριμένο κωδικό γι 'αυτό. Κάθε μέρα, γύρω στα μεσάνυχτα, το πρόγραμμα πηγαίνει σε αυτόν τον ιστότοπο και διαβάζει περίπου δέκα τυχαία αποσπάσματα και τα αποθηκεύει στη μνήμη RTC RAM. Το ένα εμφανίζεται τυχαία μεταξύ τους όταν το περίβλημα είναι προσανατολισμένο σε μεγάλη οθόνη προς τα πάνω.

Σας παρουσιάζω το πρόβλημα της εμφάνισης τονισμένων χαρακτήρων (συγγνώμη, αλλά τα εισαγωγικά είναι στα γαλλικά)….

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

Για να μπορέσω να κάνω αυτό το κύκλωμα και να χωρέσω τα πάντα στο κουτί, που ήθελα το μικρότερο δυνατό, έπρεπε να φτιάξω ένα PCB για να συνδέσω όλα τα εξαρτήματα του συστήματος. Αυτό είναι το πρώτο μου PCB. Wasμουν τυχερός γιατί όλα λειτούργησαν καλά την πρώτη φορά σε αυτήν την πλευρά…

Δείτε τον χάρτη εμφύτευσης: η "απαγορευμένη ζώνη" είναι μια περιοχή που προορίζεται για τη σύνδεση του καλωδίου USB. Η μονάδα Lolin32 σας επιτρέπει να επαναφορτίσετε την μπαταρία μέσω USB: η μπαταρία φορτίζεται εάν το καλώδιο USB είναι συνδεδεμένο και η μονάδα λειτουργεί ταυτόχρονα.

Τελευταίο σημείο: οι γραμματοσειρές. Διαφορετικών μεγεθών, έντονων ή μη, έπρεπε να δημιουργηθούν και να αποθηκευτούν. Η βιβλιοθήκη Adafruit GFX φροντίζει πολύ καλά για αυτό, μόλις εγκαταστήσετε τα αρχεία γραμματοσειράς στον σωστό κατάλογο. Για να δημιουργήσω τα αρχεία, χρησιμοποίησα τον ιστότοπο Font Converter, πολύ βολικό!

Βεβαιωθείτε ότι έχετε επιλέξει:

  • Οθόνη προεπισκόπησης: TFT 2,4"
  • Έκδοση βιβλιοθήκης: Γραμματοσειρά Adafruit GFX

Συνοψίζοντας λοιπόν: ένα μεγάλο έργο, το οποίο μου επέτρεψε να μάθω πολλά πράγματα

Βήμα 4: Χρήση οθονών ηλεκτρονικού χαρτιού

Χρήση οθονών ηλεκτρονικού χαρτιού
Χρήση οθονών ηλεκτρονικού χαρτιού

Το κύριο μειονέκτημα αυτών των οθονών είναι σαφώς ορατό στο βίντεο: η ενημέρωση της οθόνης διαρκεί ένα ή δύο δευτερόλεπτα και γίνεται με αναβοσβήσιμο (εναλλακτική εμφάνιση των κανονικών και ανεστραμμένων εκδόσεων των δύο οθονών). Αυτό είναι αποδεκτό για τις καιρικές πληροφορίες επειδή δεν το ενημερώνω πολύ συχνά (κάθε ώρα εκτός από την αλλαγή προσανατολισμού του κουτιού). Όχι όμως για την ώρα. Γι 'αυτό (και για τον περιορισμό της κατανάλωσης) εξακολουθώ να χρησιμοποιώ την οθόνη HH: MM (όχι τα δευτερόλεπτα).

Έτσι έπρεπε να αναζητήσω έναν άλλο τρόπο ενημέρωσης της οθόνης. Αυτές οι οθόνες (μερικές από αυτές) υποστηρίζουν μια μερική ενημέρωση (εφαρμόζεται είτε σε μια περιοχή της οθόνης, είτε σε ολόκληρη την οθόνη…) αλλά δεν ήταν καλό για μένα επειδή η μεγάλη οθόνη μου (η οποία εμφανίζει την ώρα) διατηρεί φαντάσματα των εικονοστοιχείων που αντικαθίστανται. Για παράδειγμα, όταν περνάτε από τις 10:12 στο 10:13, το "2" είναι λίγο ορατό μέσα στο "3" και γίνεται ακόμα πιο ορατό μετά το "4", το "5" κ.λπ. θα ήθελα για να επισημάνω ότι αυτό ισχύει για την οθόνη μου: το συζήτησα με τον συγγραφέα της βιβλιοθήκης προβολής ηλεκτρονικού χαρτιού GxEPD2, ο οποίος μου είπε ότι δεν παρατηρούσε αυτό το φαινόμενο με τις δικές του οθόνες. Προσπαθήσαμε να αλλάξουμε τις παραμέτρους χωρίς να καταφέρουμε να κυνηγήσουμε φαντάσματα.

Έπρεπε λοιπόν να βρούμε μια άλλη λύση: πρότεινα να κάνω ένα μερικό διπλό αναψυκτικό, το οποίο έλυσε το πρόβλημα (τουλάχιστον είναι ικανοποιητικό για μένα). Οι ώρες περνούν χωρίς να αναβοσβήνει η οθόνη και δεν υπάρχουν φαντάσματα. Ωστόσο, η αλλαγή δεν είναι άμεση: χρειάζεται λίγο περισσότερο από ένα δευτερόλεπτο για να αλλάξει ο χρόνος.

Βήμα 5: Το φτιάχνουμε

Καταφέρνοντάς το
Καταφέρνοντάς το
Καταφέρνοντάς το
Καταφέρνοντάς το
Καταφέρνοντάς το
Καταφέρνοντάς το
Καταφέρνοντάς το
Καταφέρνοντάς το

Για να διασφαλιστεί ότι τίποτα δεν κινείται μέσα όταν αλλάζει ο προσανατολισμός, τα διάφορα εξαρτήματα (οθόνες, ηλεκτρονικές μονάδες, PCB, μπαταρίες) είναι κολλημένα με ένα πιστόλι κόλλας. Για να δρομολογήσω τα καλώδια κάτω από το PCB, το εγκατέστησα σε πόδια κατασκευασμένα με αποστάτες, το ίδιο ισχύει και για την μπαταρία.

Σύντομα θα εγκαταστήσω μια εξωτερική υποδοχή μικροφώνου USB, οπότε δεν θα χρειαστεί να ανοίξω τη θήκη για να φορτίσω την μπαταρία.

Maybeσως θα με ενδιαφέρει επίσης η ενημέρωση από την OTA για να τα τελειοποιήσω όλα….

Βήμα 6: Ο κώδικας και τα αρχεία

Image
Image

Παρέχονται τρία αρχεία αρχειοθέτησης:

  • Μετεωρολογικός σταθμός.zip: ο κωδικός Arduino, για μεταφόρτωση χρησιμοποιώντας το Arduino IDE
  • Boite ecran.zip: τα αρχεία CAD και 3D εκτυπωτή για τη θήκη
  • data.zip: τα αρχεία που πρέπει να μεταφορτωθούν στο SPIFFS του ESP32.

Εάν δεν γνωρίζετε πώς να ανεβάζετε αρχεία στο SPIFFS του ESP32, απλώς διαβάστε αυτό το σεμινάριο, το οποίο παρουσιάζει ένα πολύ χρήσιμο plugin και πώς να το χρησιμοποιήσετε στο Arduino IDE.

Ο προγραμματισμός βαθύ ύπνου διαφέρει αρκετά από τον τυπικό προγραμματισμό ενός Arduino. Για το ESP32, σημαίνει ότι το ESP32 ξυπνά και εκτελεί τη ρύθμιση και μετά κοιμάται. Έτσι, η συνάρτηση βρόχου είναι κενή και δεν εκτελείται ποτέ.

Κάποια φάση προετοιμασίας πρέπει να εκτελεστεί μόνο μία φορά κατά την πρώτη εκτέλεση (όπως η λήψη του χρόνου, τα δεδομένα καιρού, εισαγωγικά κ.λπ.), οπότε το ESP32 πρέπει να γνωρίζει εάν η τρέχουσα αφύπνιση είναι η πρώτη ή όχι: γι 'αυτό, Η λύση είναι να αποθηκεύσετε μια μεταβλητή στη μνήμη RAM RTC (η οποία παραμένει ενεργή ακόμη και κατά τη διάρκεια βαθών φάσεων ύπνου), η οποία αυξάνεται σε κάθε αφύπνιση. Εάν είναι ίσο με 1, τότε είναι η πρώτη εκτέλεση και το ESP32 εκτελεί τη φάση προετοιμασίας, διαφορετικά αυτή η φάση παραλείπεται.

Για να ξυπνήσετε το ESP32, υπάρχουν πολλές δυνατότητες:

  • Χρονοδιακόπτης αφύπνισης: ο κωδικός υπολογίζει τη διάρκεια του βαθύ ύπνου πριν πάτε για ύπνο. Αυτό χρησιμοποιείται για την ενημέρωση της ώρας (κάθε 1, 2, 3 ή 5 λεπτά) ή των δεδομένων καιρού (κάθε 3 ή 4 ώρες) των εισαγωγικών και των αγίων της ημέρας (κάθε 24 ώρες)
  • Διακοπή αφύπνισης: το επιταχυνσιόμετρο στέλνει ένα σήμα που χρησιμοποιείται για την αφύπνιση του ESP32. Αυτό χρησιμοποιείται για τον εντοπισμό αλλαγής προσανατολισμού και την ενημέρωση των οθονών
  • Αφύπνιση αισθητήρα αφής: το ESP32 είναι εξοπλισμένο με αρκετές ακίδες που λειτουργούν ως αισθητήρες αφής, αλλά δεν μπορούν να χρησιμοποιηθούν με αφύπνιση χρονοδιακόπτη, οπότε δεν το χρησιμοποίησα.

Υπάρχουν άλλα κόλπα προγραμματισμού αλλού στον κώδικα, για να διατηρείται ο χρόνος ακριβής ενώ εξοικονομείται ενέργεια (δηλαδή να μην συνδέεται ο διακομιστής NTP κάθε λεπτό), να αφαιρούνται οι τονισμοί που δεν υποστηρίζονται από τη βιβλιοθήκη του Adafruit GFX, να αποφεύγεται η ενημέρωση μιας οθόνης εάν δεν είναι απαραίτητο, να ρυθμίσετε τις παραμέτρους του επιταχυνσιόμετρου ειδικά για διακοπή αφύπνισης, να υπολογίσετε με ακρίβεια τον χρόνο ύπνου σε περίπτωση αφύπνισης χρονοδιακόπτη, να αποφύγετε τη χρήση της σειριακής κονσόλας εάν δεν είναι συνδεδεμένη στο IDE (για εξοικονόμηση ενέργειας ξανά), αποσυνδέστε το wifi όταν δεν χρειάζεται, κλπ … και ο κώδικας είναι γεμάτος σχόλια που βοηθούν στην κατανόηση των λειτουργιών.

Ευχαριστώ που διαβάσατε αυτό το Instructable (το πρώτο μου). Ελπίζω να σας αρέσει και να απολαύσετε την κατασκευή αυτού του μετεωρολογικού σταθμού

Διαγωνισμός αισθητήρων
Διαγωνισμός αισθητήρων

Επόμενος στο Διαγωνισμό Αισθητήρων

Συνιστάται: