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

Ρολόι παλίρροιας και καιρού: 9 βήματα (με εικόνες)
Ρολόι παλίρροιας και καιρού: 9 βήματα (με εικόνες)

Βίντεο: Ρολόι παλίρροιας και καιρού: 9 βήματα (με εικόνες)

Βίντεο: Ρολόι παλίρροιας και καιρού: 9 βήματα (με εικόνες)
Βίντεο: RACK - Unique (Official Music Video) 2024, Νοέμβριος
Anonim
Ρολόι παλίρροιας και καιρού
Ρολόι παλίρροιας και καιρού

Αν και μπορείτε να αγοράσετε αναλογικά ρολόγια παλίρροιας που έχουν ένα μόνο χέρι που υποδεικνύει εάν η παλίρροια είναι υψηλή ή χαμηλή ή κάπου ενδιάμεσα, αυτό που ήθελα ήταν κάτι που θα μου έλεγε σε ποια ώρα θα είναι η χαμηλή παλίρροια. Wantedθελα κάτι που θα μπορούσα να το κοιτάξω γρήγορα χωρίς να χρειαστεί να το ενεργοποιήσω ή να πατήσω κανένα κουμπί ή να περιμένω. Και ήθελα κάτι με μεγάλη διάρκεια ζωής της μπαταρίας. Έτσι χρησιμοποίησα έναν πίνακα TTGO T5, ο οποίος είναι ένας πίνακας που βασίζεται σε ESP32 με οθόνη ηλεκτρονικού χαρτιού 2,13 , συνδεδεμένος σε ένα τσιπ TTL5110. Το TPL5110 ενεργοποιεί το T5 κάθε 2,5 ώρες και μία φορά την ημέρα το T5 κατεβάζει δεδομένα παλίρροιας από NOAA και δεδομένα καιρού από το OpenWeatherMap, εμφανίζει τα δεδομένα στο e-paper και κατόπιν λέει στο TPL5110 να απενεργοποιήσει το T5.

ΕΝΗΜΕΡΩΣΗ (25 Φεβρουαρίου 2020) Το ρολόι παλίρροιας λειτουργεί εδώ και ένα χρόνο και η μπαταρία είναι στα 4,00 βολτ, οπότε το ρολόι θα μπορούσε να λειτουργήσει για πολλά χρόνια.

Βήμα 1: Λίστα υλικού

Πίνακας TTGO T5 17 $

Πίνακας Adafruit TPL5110 5 $

Adafruit Perma-Proto Τετραγωνικό μέγεθος (προαιρετικό) 0,71 $ (ελάχιστη παραγγελία 8,50 $)

Μπαταρία Li-Poly 1200 mAh 10 $ (ή άλλη κατάλληλη πηγή ενέργειας)

JST PH 2-pin Cable-Male Header 0,75 $

Πυκνωτής 220 uF

Βήμα 2: Εργαλεία

Συγκολλητικό σίδερο

Απογυμνωτές καλωδίων

Φορτιστής μπαταρίας Li-Po, όπως αυτός.

Βήμα 3: Συναρμολόγηση υλικού

Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού

Η συναρμολόγηση του υλικού είναι αρκετά απλή όπως δείχνει το σχηματικό. Χρησιμοποίησα έναν πίνακα Adafruit Perma-proto που είναι σαν ένα συνηθισμένο protoboard εκτός από το ότι είναι στρωμένος σαν σανίδα, με τις ίδιες ηλεκτρικές συνδέσεις με το breadboard, κάτι που είναι ωραίο. Δεδομένου ότι χρειάστηκα μόνο μερικές συνδέσεις και ήθελα να χωρέσω ολόκληρο το συγκρότημα σε ένα μικρό κουτί, έκοψα μία από τις σανίδες στα τέταρτα με έναν κομμένο τροχό Dremel.

Ο πυκνωτής 220 uF είναι πολύ σημαντικός. Χωρίς αυτό, το TPL5110 δεν θα ενεργοποιήσει ποτέ το T5. Είναι λίγο ασαφές το γιατί, αλλά άλλοι άνθρωποι που χρησιμοποιούν το TPL5110 είχαν το ίδιο πρόβλημα. Maybeσως το ESP32 αντλεί περισσότερο ρεύμα κατά την εκκίνηση από ό, τι μπορεί να προσφέρει το TTL5110;

Μην συνδέετε την μπαταρία. Χρησιμοποιήστε το καλώδιο JST-PH για να αποσυνδέσετε την μπαταρία για να τη φορτίσετε. Μπορεί να υπάρχει τρόπος φόρτισης της μπαταρίας από το T5 πίσω μέσω του TPL5110 εάν το TPL5110 είναι "ενεργοποιημένο", αλλά δεν μπορώ να εγγυηθώ για αυτήν την τεχνική.

Έφτιαξα ένα ξύλινο κουτί ως περίβλημα, αλλά οτιδήποτε με ελάχιστες εσωτερικές διαστάσεις 1,5 "x 2,75" x 1 "θα λειτουργούσε.

Βήμα 4: Συντονίστε το χρονοδιάγραμμα

Ο πίνακας TPL5110 διαθέτει ένα ποτενσιόμετρο περικοπής που καθορίζει το χρονικό διάστημα στο οποίο ξυπνά το TPL5110. Χρησιμοποιήστε ένα μικρό κατσαβίδι για να το γυρίσετε μέχρι αριστερόστροφα. Στον πίνακα μου, αυτό έθεσε το διάστημα στα 145 λεπτά, το οποίο είναι στην πραγματικότητα μεγαλύτερο από το προβλεπόμενο μέγιστο των 120 λεπτών, αλλά λειτουργεί και ήταν συνεπές και θα εξοικονομήσει ακόμη περισσότερη ενέργεια από το ξύπνημα κάθε 120 λεπτά, οπότε το χρησιμοποίησα. Δεν χρειάζεται να γνωρίζετε ακριβώς το διάστημα, αφού ο στόχος είναι να κατεβάζετε δεδομένα περίπου μία φορά την ημέρα περίπου στις 4 το πρωί. Μπορείτε να καθορίσετε το διάστημα (π.χ. 145 λεπτά) και τον χρόνο αφύπνισης (π.χ. 4 π.μ.) στο env_config.h.

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

Βήμα 5: Το Λογισμικό

Θα χρειαστείτε το Arduino IDE με το πακέτο ESP32. Στο IDE, ρυθμίστε την πλακέτα σας σε "ESP32 Dev Module".

Το σκίτσο είναι διαθέσιμο στη διεύθυνση https://github.com/jasonful/Tides και απαιτεί 3 βιβλιοθήκες:

  1. "ESP8266 Μετεωρολογικός Σταθμός", διαθέσιμος από το Arduino Library Manager (ή εδώ). Θα χρειαστείτε μόνο αυτά τα 6 αρχεία: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h και μπορείτε να διαγράψετε τα υπόλοιπα.
  2. "Json Streaming Parser" διαθέσιμο από τον Διαχειριστή βιβλιοθήκης Arduino (ή εδώ)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Παρόλο που ο κώδικας δεν είναι συσκευασμένος ως πραγματική βιβλιοθήκη, μπορείτε απλώς να τον αντιγράψετε στον κατάλογο των βιβλιοθηκών σας και να συμπεριλάβετε το.

Βήμα 6: Διαμορφώστε το Λογισμικό

Υπάρχουν αρκετές παράμετροι που θα πρέπει να ορίσετε (και μερικές μπορεί να θέλετε να ορίσετε) στο αρχείο env_config.h, συμπεριλαμβανομένων:

  • WiFi SSID και κωδικός πρόσβασης
  • Αναγνωριστικό σταθμού NOAA (με άλλα λόγια, πού βρίσκεστε)
  • OpenWeatherMap AppID, για το οποίο θα χρειαστεί να εγγραφείτε (είναι εύκολο και δωρεάν)
  • OpenWeatherMap Location Location (πάλι, πού βρίσκεστε)
  • CONFIG_USE_TPL5110, το οποίο σας επιτρέπει να χρησιμοποιείτε ένα T5 χωρίς TPL5110. Αντ 'αυτού, το λογισμικό θα εισέλθει σε κατάσταση βαθύ ύπνου. Ο πίνακας T5 αντλεί περίπου 8 ma σε βαθύ ύπνο, οπότε θα περίμενα μόνο η μπαταρία να διαρκέσει λίγες ημέρες.

Βήμα 7: Πώς λειτουργεί το λογισμικό

(Μπορείτε να παραλείψετε αυτό το μέρος εάν δεν σας ενδιαφέρει.)

Ο στόχος είναι να ξυπνάτε μία φορά την ημέρα, αλλά δεδομένου ότι το μέγιστο διάστημα του TPL5110 είναι μόνο 2 ώρες περίπου, το T5 πρέπει να ξυπνάει πιο συχνά. Έτσι, αφού κατεβάσει δεδομένα παλίρροιας και καιρού, υπολογίζει πόσα από αυτά τα διαστήματα 2 ωρών υπάρχουν από τώρα έως τις 4:00 π.μ. αύριο το πρωί. Αυτό περιπλέκεται ελαφρώς από το γεγονός ότι το TPL5110 μειώνει εντελώς την ισχύ στο T5, κάτι που είναι καλό για την μπαταρία, αλλά σημαίνει ότι χάνουμε τη μνήμη RAM και το ρολόι σε πραγματικό χρόνο. Είναι σαν να ξυπνάς κάθε πρωί με αμνησία. Έτσι, για να καταλάβουμε τι ώρα είναι τώρα, το εξάγει από την κεφαλίδα HTTP της NOAA. Και για να θυμηθούμε πόσα διαστήματα 2 ωρών έχουν απομείνει, γράφει ότι αντίθετα με τη μη πτητική αποθήκευση (φλας). Κάθε φορά που ξυπνά, ελέγχει αυτόν τον μετρητή, τον μειώνει, τον αποθηκεύει και αν είναι μεγαλύτερος από μηδέν, στέλνει αμέσως ένα σήμα στο TPL51110 ("Τέλος") που του λέει να το κοιμήσει. Όταν ο μετρητής φτάσει στο μηδέν, ο κωδικός κατεβάζει νέα δεδομένα και υπολογίζει ξανά και επαναφέρει τον μετρητή.

Βήμα 8: Εκτελέστε το

Τρέξτο
Τρέξτο

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

Εάν πρέπει να διορθώσετε το λογισμικό, αλλάξτε το "#define DEBUG 0" στο πάνω μέρος του Tides.ino σε "#define DEBUG 1". Αυτό θα ενεργοποιήσει τη σειριακή έξοδο εντοπισμού σφαλμάτων και θα εμφανίσει επίσης στο κάτω μέρος του e-paper τον αριθμό των επανεκκινήσεων που απομένουν πριν από τη λήψη νέων δεδομένων και τον χρόνο λήψης των δεδομένων για τελευταία φορά.

Βήμα 9: Μελλοντικές κατευθύνσεις

  1. Η χρήση του TPL5110 σε συνδυασμό με οθόνη ηλεκτρονικού χαρτιού είναι ένας πολύ καλός τρόπος για να εμφανίσετε οποιαδήποτε δεδομένα που δεν αλλάζουν συχνά, με εξαιρετική διάρκεια ζωής της μπαταρίας.
  2. Όταν σχεδίαζα αυτό, σκέφτηκα να χρησιμοποιήσω το TrigBoard, το οποίο είναι ένας πίνακας ESP8266 με TPL5111 επί του σκάφους. Θα απαιτούσε τη λήψη ξεχωριστής οθόνης ηλεκτρονικού χαρτιού και πλακέτας οδηγού ηλεκτρονικού χαρτιού όπως αυτή ή αυτή. Or συνδυασμός οδηγού+πίνακα όπως αυτό ή αυτό. Για τη μεταφορά του κωδικού στο ESP8266, νομίζω ότι ο κωδικός SSL θα πρέπει να χρησιμοποιεί δακτυλικά αποτυπώματα αντί για πιστοποιητικά και ο μη πτητικός κωδικός αποθήκευσης θα πρέπει να χρησιμοποιεί μνήμη EEPROM ή RTC.
  3. Πρόσφατα άκουσα ότι ο πίνακας Lolin32 είναι αρκετά αξιοπρεπής σε κατάσταση βαθύ ύπνου: περίπου 100uA. Όχι τόσο καλός όσο ο πίνακας TPL51110 (20uA σύμφωνα με την Adafruit) αλλά αρκετά καλός.
  4. Το OpenWeatherMap επιστρέφει πολύ περισσότερα δεδομένα καιρού από ό, τι εμφανίζω. Συμπεριλαμβανομένων των αναγνωριστικών εικονιδίων, που θα απαιτούσαν κάπου να βρεθούν μονόχρωμα εικονίδια.

Συνιστάται: