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

TTGO T-Watch: 9 βήματα (με εικόνες)
TTGO T-Watch: 9 βήματα (με εικόνες)

Βίντεο: TTGO T-Watch: 9 βήματα (με εικόνες)

Βίντεο: TTGO T-Watch: 9 βήματα (με εικόνες)
Βίντεο: ESP32-CAM erROR ENROLL Face Detection, Face Recognation (Subtittled) 2024, Ιούλιος
Anonim
Image
Image
TTGO T-Watch
TTGO T-Watch

Αυτές οι οδηγίες δείχνουν πώς να ξεκινήσετε να παίζετε με το TTGO T-Watch.

Βήμα 1: Τι είναι το TTGO T-Watch;

Τι είναι το TTGO T-Watch
Τι είναι το TTGO T-Watch
Τι είναι το TTGO T-Watch
Τι είναι το TTGO T-Watch
Τι είναι το TTGO T-Watch
Τι είναι το TTGO T-Watch
Τι είναι το TTGO T-Watch
Τι είναι το TTGO T-Watch

Το TTGO T-Watch είναι κιτ ανάπτυξης βασισμένο σε σχήμα ρολογιού ESP32. 16 MB flash και 8 MB PSRAM και οι δύο είναι κορυφαίες προδιαγραφές. Έχει επίσης ενσωματωμένη οθόνη IPS LCD 240x240, οθόνη αφής, θύρα κάρτας micro-SD, θύρα I2C, RTC, επιταχυνσιόμετρο 3 αξόνων και προσαρμοσμένο κουμπί. Το πίσω επίπεδο μπορεί επίσης να αλλάξει σε άλλες μονάδες όπως LORA, GPS και SIM.

Αλλά το πιο σημαντικό πράγμα που μπορεί να γίνει ένα ρολόι που μπορεί να χρησιμοποιηθεί είναι το σύστημα ισχύος. Ενσωμάτωσε τσιπ διαχείρισης ισχύος πολλαπλών καναλιών AXP202. Αυτή είναι η πρώτη φορά που βλέπω ένα κιτ ανάπτυξης που έχει ένα τσιπ ισχύος που ελέγχεται από I2C!

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

Αναφορά.:

github.com/Xinyuan-LilyGO/TTGO-T-Watch

Βήμα 2: Απλό ρολόι PoC

Απλό ρολόι PoC
Απλό ρολόι PoC

Το τσιπ τροφοδοσίας φαίνεται καλό, αλλά πόσο διαρκεί για την ενσωματωμένη μπαταρία 180 mAh;

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

Βήμα 3: Σχεδίαση προσώπου ρολογιού

Σχεδιασμός ρολογιού προσώπου
Σχεδιασμός ρολογιού προσώπου

Το ESP32 είναι ένα πολύ ισχυρό τσιπ, επεξεργαστής διπλού πυρήνα 240 Mhz και ταχύτητα SPI 80 Mhz μπορεί να σχεδιάσει μια πολύ ομαλή διάταξη οθόνης. Έτσι σχεδίασα ένα αξιοπρεπές πρόσωπο ρολογιού με συνεχή σκούπισμα από δεύτερο χέρι.

Ωστόσο, οι δυσκολίες σχεδιασμού είναι απροσδόκητα υψηλές, δεν είναι εύκολο να αφαιρέσετε το τελευταίο δεύτερο χέρι χωρίς να αναβοσβήνει. Δοκίμασα 4 επιπλέον μεθόδους για να το φτιάξω. Οι παραπάνω εικόνες δείχνουν μια αποτυχημένη αναδιάταξη που παρέμεινε τα τελευταία δευτερόλεπτα pixel που δεν αφαιρέθηκαν στην οθόνη. Το σχεδιαστικό ρολόι του προσώπου έχει πολλές λέξεις που μπορεί να πει, αλλά λίγο έξω από αυτό το έργο. Beσως μπορώ να πω περισσότερα για το σχεδιαστικό ταξίδι στις επόμενες οδηγίες μου, θα πρέπει να ονομάζεται "Arduino Watch Core".

Βήμα 4: Ρύθμιση ώρας

Το T-Watch διαθέτει ενσωματωμένο τσιπ RTC, αυτό σημαίνει ότι μπορεί να διατηρήσει χρόνο μεταξύ της επαναφοράς κατά την ανάπτυξη. Πριν μπορέσει να κρατήσει την ώρα, θα πρέπει πρώτα να ορίσουμε την ώρα.

Υπάρχουν διάφοροι τρόποι για να ρυθμίσετε την ώρα:

  • Το ESP32 διαθέτει δυνατότητα WiFi, ώστε να μπορείτε να συγχρονίσετε το χρόνο με το NTP
  • παρόμοια με άλλες ηλεκτρονικές συσκευές, όπως η ψηφιακή φωτογραφική μηχανή, μπορείτε να γράψετε ένα περιβάλλον εργασίας χρήστη για να ρυθμίσετε την ώρα
  • Μπορείτε να χρησιμοποιήσετε GPS backplane και, στη συνέχεια, μπορείτε να πάρετε το χρόνο από το δορυφόρο

Για να το κάνουμε απλό, εξακολουθεί να υπάρχει ένας τεμπέλης τρόπος για να ρυθμίσετε την ώρα, μπορείτε να τον βρείτε σε κάποιο παράδειγμα ρολογιού TFT. Όταν μεταγλωττίζετε το πρόγραμμα στο Arduino, ο προεπεξεργαστής όρισε 2 μεταβλητές "_DATE_" και "_TIME_" για την καταγραφή του χρόνου μεταγλώττισης. Μπορούμε να χρησιμοποιήσουμε αυτές τις πληροφορίες για να φτιάξουμε ένα πολύ απλό πρόγραμμα για τον καθορισμό της ώρας RTC.

Σημείωση:

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

Αναφορά.:

gcc.gnu.org/oninedocs/cpp/Standard-Predef…

Βήμα 5: Κατανάλωση ενέργειας

Κατανάλωση ενέργειας
Κατανάλωση ενέργειας
Κατανάλωση ενέργειας
Κατανάλωση ενέργειας

Όταν το ρολόι λειτουργεί, δείχνει συνεχές σκούπισμα από δεύτερο χέρι, καταναλώνει λίγο περισσότερο από 60 mA. Για λόγους εξοικονόμησης ενέργειας, θα πρέπει να τεθεί σε κατάσταση αναστολής λειτουργίας μετά από μια ορισμένη περίοδο.

Εάν απενεργοποιήσω τον οπίσθιο φωτισμό LCD και καλέσω τον ESP32 σε βαθύ ύπνο, θα πέσει στα περίπου 7,1 mA. Μπορεί να διαρκέσει μόνο περίπου 1 ημέρα για την μπαταρία των 180 mAh.

Ξέρω ότι περίπου 6 mA καταναλώνονται από το τσιπ LCD. Σύμφωνα με το φύλλο δεδομένων ST7789, υπάρχει μια εντολή για είσοδο στην κατάσταση αναστολής λειτουργίας. Αλλά η τρέχουσα βιβλιοθήκη TFT_eSPI δεν έχει ακόμη API σε κατάσταση αναστολής λειτουργίας.

Και επίσης υπάρχουν ακόμα περίπου 1 mA που καταναλώνονται από κάπου.

Βήμα 6: Προγραμματιζόμενο τσιπ διαχείρισης ενέργειας

Image
Image
Πρόγραμμα
Πρόγραμμα

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

Τι θα λέγατε για άμεσο τερματισμό της λειτουργίας, ακριβώς όπως το πάτημα του κουμπιού τροφοδοσίας; Η AXP202X_Library μπορεί να τα καταφέρει καλώντας απλά τη λειτουργία τερματισμού λειτουργίας (). Σε κατάσταση απενεργοποίησης, καταναλώνει μόνο λίγο κάτω από 0,3 mA. Μπορεί να διαρκέσει 25 ημέρες για την μπαταρία των 180 mAh!

Σημείωση:

Μόλις φόρτισα την μπαταρία στις 28 Ιουνίου, μπορείτε να ακολουθήσετε το twitter μου για να μάθετε την τελευταία κατάσταση της μπαταρίας.

Εκσυγχρονίζω:

Η μπαταρία εξαντλείται στις 18 Ιουλίου, η μπαταρία μπορεί να διαρκέσει 20 ημέρες. Κατά την περίοδο που ελέγχω το χρόνο μερικές φορές την ημέρα, υποθέτω ότι το ρολόι μπορεί να διαρκέσει 1-2 εβδομάδες σε κανονική χρήση.

Αναφορά.:

github.com/lewisxhe/AXP202X_Library/pull/2

Βήμα 7: Πρόγραμμα

  1. Ακολουθήστε τις οδηγίες της σελίδας https://github.com/Xinyuan-LilyGO/TTGO-T-Watch για να εγκαταστήσετε το λογισμικό και τη βιβλιοθήκη.
  2. Λήψη πηγαίου κώδικα στο GitHub:
  3. Ανοίξτε, μεταγλωττίστε και ανεβάστε το Set_RTC.ino για να ενημερώσετε την ημερομηνία και την ώρα RTC
  4. Ανοίξτε, μεταγλωττίστε και ανεβάστε το Arduino-T-Watch-simple.ino
  5. Εγινε!

Το απλό πρόγραμμα παρακολούθησης θα κάνει:

  • διαβάστε την ημερομηνία και την ώρα RTC
  • σχεδίαση σήματος ρολογιού (μπορείτε να επιλέξετε στρογγυλό ή τετράγωνο σημάδι ρολογιού)
  • εμφάνιση συνεχούς σάρωσης από δεύτερο χέρι
  • τερματισμός λειτουργίας μετά από 60 δευτερόλεπτα (ή μπορείτε να κρατήσετε πατημένο το κουμπί λειτουργίας για άμεσο κλείσιμο)
  • πατήστε το κουμπί λειτουργίας για να το ενεργοποιήσετε ξανά

Βήμα 8: Καλός προγραμματισμός

Καλό προγραμματισμό!
Καλό προγραμματισμό!

Το ρολόι TTGO T μπορεί να κάνει πολύ περισσότερα από ένα απλό ρολόι, π.χ.

  • Το ESP32 μπορεί να κάνει ασύρματη επικοινωνία WiFi και BT
  • χρήση οθόνης αφής μπορεί να αναπτύξει μια πιο φανταστική διεπαφή χρήστη
  • ενσωματωμένο επιταχυνσιόμετρο τριών αξόνων (BMA423), ενσωματωμένο αλγόριθμο μετρητή βημάτων και άλλο GSensor πολλαπλών λειτουργιών
  • το αντικαταστάσιμο backplane μπορεί να προσθέσει λειτουργία LORA, GPS, SIM
  • Η θύρα I2C μπορεί να επεκτείνει πολύ περισσότερες δυνατότητες

Βήμα 9: Arduino-T-Watch-GFX

Image
Image

Το Arduino-T-Watch-simple απαιτεί να πατήσετε και να κρατήσετε πατημένο το μικρό κουμπί λειτουργίας για να ξυπνήσετε και η αρχική εισαγωγή LCD να καθυστερήσει μερικά δευτερόλεπτα. Επομένως, η εμπειρία χρήστη δεν είναι τόσο καλή.

Έχω προσθέσει ένα άλλο πρόγραμμα που ονομάζεται Arduino-T-Watch-GFX για να το βελτιώσω. Αυτό το πρόγραμμα αλλάζει για χρήση της βιβλιοθήκης οθόνης Arduino_GFX, στη συνέχεια μπορεί να πει στην οθόνη να μπαίνει σε κατάσταση αναστολής λειτουργίας για εξοικονόμηση ενέργειας. Έτσι, όταν το ESP32 μπαίνει σε ελαφρύ ύπνο, καταναλώνει μόλις κάτω από 3 mA τώρα. Και επίσης μπορεί τώρα να ενεργοποιήσει την αφύπνιση αγγίζοντας την οθόνη. Το ESP32 ξυπνά και εμφανίζει τον ύπνο εκτός λειτουργίας είναι πολύ πιο γρήγορο από ολόκληρη τη διαδικασία επανεκκίνησης, μπορείτε να δείτε το παραπάνω βίντεο είναι σχεδόν άμεση απόκριση. Θεωρητικά η μπαταρία θα πρέπει να μπορεί να αντέξει πάνω από 2 ημέρες: P

Συνιστάται: