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

ESP8266/ESP32 Μετεωρολογικός Σταθμός Με TFT LCD (ες): 8 Βήματα
ESP8266/ESP32 Μετεωρολογικός Σταθμός Με TFT LCD (ες): 8 Βήματα

Βίντεο: ESP8266/ESP32 Μετεωρολογικός Σταθμός Με TFT LCD (ες): 8 Βήματα

Βίντεο: ESP8266/ESP32 Μετεωρολογικός Σταθμός Με TFT LCD (ες): 8 Βήματα
Βίντεο: Arduino TFT LCD οθόνη αφής Tutorial (2.8 "ILI9341 Οδηγός) από Banggood.com 2024, Νοέμβριος
Anonim
ESP8266/ESP32 Μετεωρολογικός Σταθμός Με TFT LCD (ες)
ESP8266/ESP32 Μετεωρολογικός Σταθμός Με TFT LCD (ες)
ESP8266/ESP32 Μετεωρολογικός Σταθμός Με TFT LCD (ες)
ESP8266/ESP32 Μετεωρολογικός Σταθμός Με TFT LCD (ες)
ESP8266/ESP32 Μετεωρολογικός Σταθμός Με TFT LCD (ες)
ESP8266/ESP32 Μετεωρολογικός Σταθμός Με TFT LCD (ες)

Γειά σου!

Σε αυτό το σύντομο διδάξιμο θα ήθελα να παρουσιάσω το δεύτερο έργο μου Esp8266 WS. Από τότε που δημοσίευσα το πρώτο μου έργο ESP, ήθελα να κάνω τον εαυτό μου δεύτερο. Έτσι είχα λίγο ελεύθερο χρόνο για να επεξεργαστώ έναν παλιό πηγαίο κώδικα για να ταιριάζει στις ανάγκες μου.

Αν δεν σε πειράζει λοιπόν θα το παρουσιάσω.

Βήμα 1: Ο μετεωρολογικός σταθμός

Το WS εξακολουθεί να χρησιμοποιεί το κλειδί API openweathermap για να κατεβάσει τα δεδομένα καιρού και να τα εμφανίσει στην οθόνη.

Χρειάστηκε λίγη κωδικοποίηση γιατί σε αυτή τη μορφή δεν μπορούσε να εμφανίσει τα εικονίδια καιρού που ήθελα.

Βήμα 2: Υλικά

Ανταλλακτικά που απαιτούνται για το WS:

- Nodemcu V3 ESP8266

- TFT LCD 1,8 ιντσών με IC οδηγό ST7735

- σύρματα F-F

- Πηγαίος κώδικας

- Arduino IDE

- Υποστήριξη SPIFFS

- Κλειδί API Openweathermap

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

Για αυτό το έργο παρέχω τον πηγαίο κώδικα και τις εικόνες bitmap που χρειάζονται, κατεβάστε το από τη σελίδα github μου:

Η βιβλιοθήκη που έχω χρησιμοποιήσει είναι η TFT_eSPI που δημιουργήθηκε από τον Bodmer.

Το μόνο που έχετε να κάνετε: Κατεβάστε τις σωστές βιβλιοθήκες, μεταγλωττίστε τις και ανεβάστε τις στον πίνακα, ανεβάστε τις εικόνες bitmap με SPIFFS στο ESP και συνδεθείτε με το lcd.

Έχω χρησιμοποιήσει εικόνες bitmap 24 bit 100 X100, αλλά μπορείτε να χρησιμοποιήσετε οποιαδήποτε άλλα εικονίδια. Αυτά που χρησιμοποίησα έχουν κατεβάσει από τη διεύθυνση

Βήμα 4: LCD Pinout

Το pinout είναι το ακόλουθο:

// Εμφάνιση SDO/MISO στο NodeMCU pin D6 (ή αφήστε το αποσυνδεδεμένο εάν δεν διαβάζετε TFT)

// Εμφάνιση LED σε NodeMCU pin VIN (ή 5V, δείτε παρακάτω)

// Εμφάνιση SCK σε NodeMCU pin D5

// Εμφάνιση SDI/MOSI στο pin N7MCU D7

// Εμφάνιση DC (RS/AO) στον ακροδέκτη D3 του NodeMCU

// Εμφάνιση ΕΠΑΝΑΦΟΡΑ στο NodeMCU pin D4 (ή RST, δείτε παρακάτω)

// Εμφάνιση CS σε NodeMCU pin D8 (ή GND, δείτε παρακάτω)

// Εμφάνιση GND σε NodeMCU pin GND (0V)

// Εμφάνιση VCC σε NodeMCU 5V ή 3.3V

Για μειωμένη πλάτη, μπορείτε να χρησιμοποιήσετε ένα ποτενσιόμετρο 10K ή να χρησιμοποιήσετε έναν άλλο καρφίτσα GPIO. Όσο για τον εαυτό μου, συνήθως συνδέω τον πείρο οπίσθιου φωτισμού με τον πείρο TX. Ξέρω ότι δεν είναι πολύ καλή ιδέα ή πολύ υγιεινό για το ESP, αλλά λειτουργεί με αυτόν τον τρόπο.

Βήμα 5: WS in Action

WS σε δράση
WS σε δράση
WS σε δράση
WS σε δράση
WS σε δράση
WS σε δράση

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

Οι διαφορετικές παράμετροι διαχωρίζονται σε διαφορετικούς βρόχους.

Αυτό που βλέπετε είναι η πραγματική περιγραφή του καιρού, η θερμοκρασία, η υγρασία, η ταχύτητα του ανέμου, η ορατότητα σε μέτρα, η πίεση του αέρα, η γωνία του ανέμου, η κάλυψη του νέφους σε ποσοστό (%).

Όσον αφορά ένα μπόνους μεταξύ 9 μ.μ. και 7 π.μ., η οθόνη γυρίζει αντίστροφα για να εξομοιώσει τη νυχτερινή ώρα.

Βήμα 6: Μερικές σημαντικές συμβουλές

Μερικές Σημαντικές Συμβουλές
Μερικές Σημαντικές Συμβουλές
Μερικές Σημαντικές Συμβουλές
Μερικές Σημαντικές Συμβουλές
Μερικές Σημαντικές Συμβουλές
Μερικές Σημαντικές Συμβουλές

Όπως όλοι γνωρίζετε, υπάρχουν μερικές παραλλαγές του TFT 1.8 στο διαδίκτυο. Με τα γνήσια LCD Adafruit συνήθως δεν υπάρχουν προβλήματα. Αλλά όταν χρησιμοποιείτε ψεύτικα (συνήθως από το Aliexpress) πρέπει να κάνετε κάποιες προσαρμογές.

Η βιβλιοθήκη Bodmers TFT_eSPI είναι πολύ φοβερή και πλούσια λειτουργικότητα. Και το καλύτερο μέρος είναι ότι τα κατάφερε να χειριστεί τις μετατοπίσεις pixel ανάλογα με το είδος TFT 1,8 που χρησιμοποιείτε.

Προκειμένου να ξεπεραστεί αυτό το ζήτημα, προτείνω τα εξής:

Μεταβείτε στο φάκελο βιβλιοθήκης και επεξεργαστείτε το αρχείο User_Setup.h. Σχολιάστε #define ST7735_DRIVER και σχολιάστε τους άλλους.

Στη συνέχεια, σχολιάστε το ύψος tft σε πλάτος. Στη συνέχεια, στην περίπτωσή μου (REDTAB) δεν σχολιάζω για παράδειγμα: #define ST7735_REDTAB. Μετά από αυτό αποθηκεύστε το προς το παρόν και μεταγλωττίστε το σκίτσο και ανεβάστε το στον πίνακα. Για να είμαι σίγουρος ότι έχω ορίσει και τις παραμέτρους στο σκίτσο. Αυτή είναι μια πολύ μακρά διαδικασία, γιατί πρέπει να μεταγλωττίζετε και να ανεβάζετε το σκίτσο κάθε φορά για να επιβιβάζεστε μέχρι να φύγει το offset, αλλά αξίζει τον πειραματισμό. Για την επεξεργασία του h. αρχεία προτείνω ανεπιφύλακτα το Wordpad. Περιλαμβάνονται εικόνες.

Βήμα 7: Έγινε

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

Βασικά το έφτιαξα για τον εαυτό μου, αλλά μετά από μια μέρα σκέφτηκα ότι θα το μοιραστώ. Someoneσως σε κάποιον να αρέσει περισσότερο από εμένα.

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

Να εχετε μια ομορφη μερα!

Βήμα 8: Μια μικρή ενημέρωση

Μια μικρή ενημέρωση
Μια μικρή ενημέρωση
Μια μικρή ενημέρωση
Μια μικρή ενημέρωση
Μια μικρή ενημέρωση
Μια μικρή ενημέρωση

Μετά από λίγες μέρες σκέφτηκα ότι θα ξανακάνω αυτό το WS σε νέα μορφή.

Αλλαγές: ESP32 Uno R3

Παράλληλη ILI9340/41 TFT LCD

Νέα εικονίδια

1 επιπλέον επιλογή

Παρακαλώ επεξεργαστείτε το αρχείο User_setup.h στη βιβλιοθήκη TFT_eSPI ανάλογα με το σκίτσο. Παρακαλώ σχολιάστε τα και σχολιάστε άλλη επιλογή, διαφορετικά δεν θα λειτουργήσει.

Πρέπει να συνδέσετε το GPIO 35 με 15, το GPIO 33 με το 34, το GPIO 32 με το 36 επειδή είναι μόνο ακίδες εισόδου και τότε η οθόνη μας δεν θα λειτουργήσει (δείτε την εικόνα).

Ο πηγαίος κώδικας είναι διαθέσιμος στο github.

Συνιστάται: