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

ESP32: Εσωτερικές λεπτομέρειες και Pinout: 11 βήματα
ESP32: Εσωτερικές λεπτομέρειες και Pinout: 11 βήματα

Βίντεο: ESP32: Εσωτερικές λεπτομέρειες και Pinout: 11 βήματα

Βίντεο: ESP32: Εσωτερικές λεπτομέρειες και Pinout: 11 βήματα
Βίντεο: How to use Allegro ACS712 AC/DC Current Sensor with Arduino 2024, Ιούνιος
Anonim
Image
Image

Σε αυτό το άρθρο, θα μιλήσουμε για τις εσωτερικές λεπτομέρειες και την καρφίτσα του ESP32. Θα σας δείξω πώς να προσδιορίσετε σωστά τις ακίδες κοιτάζοντας το φύλλο δεδομένων, πώς να προσδιορίσετε ποιες από τις καρφίτσες λειτουργούν ως ΕΞΟΔΟΣ / ΕΙΣΟΔΟΣ, πώς να έχετε μια επισκόπηση σχετικά με τους αισθητήρες και τα περιφερειακά που μας προσφέρει το ESP32, εκτός από μπότα. Ως εκ τούτου, πιστεύω ότι, με το παρακάτω βίντεο, θα είμαι σε θέση να απαντήσω σε πολλές ερωτήσεις που έχω λάβει σε μηνύματα και σχόλια σχετικά με τις αναφορές ESP32, μεταξύ άλλων πληροφοριών.

Βήμα 1: NodeMCU ESP-WROOM-32

ESP-WROOM-32
ESP-WROOM-32

Εδώ έχουμε το PINOUT του

WROOM-32 που χρησιμεύει ως καλή αναφορά για τον προγραμματισμό. Είναι σημαντικό να δοθεί προσοχή στη Γενική Χρήση Εισόδου / Εξόδου (GPIO), δηλαδή σε προγραμματιζόμενες θύρες εισόδου και εξόδου δεδομένων, οι οποίες μπορούν να εξακολουθούν να είναι μετατροπέας AD ή καρφίτσα αφής, όπως το GPIO4, για παράδειγμα. Αυτό συμβαίνει επίσης με το Arduino, όπου οι ακίδες εισόδου και εξόδου μπορούν επίσης να είναι PWM.

Βήμα 2: ESP-WROOM-32

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

Βήμα 3: Αλλά, Τι είναι το σωστό Pinout για να χρησιμοποιήσω για το ESP32 μου;

Αλλά, Ποιο είναι το σωστό Pinout για να χρησιμοποιήσω για το ESP32 μου
Αλλά, Ποιο είναι το σωστό Pinout για να χρησιμοποιήσω για το ESP32 μου
Αλλά, Ποιο είναι το σωστό Pinout για να χρησιμοποιήσω για το ESP32 μου
Αλλά, Ποιο είναι το σωστό Pinout για να χρησιμοποιήσω για το ESP32 μου
Αλλά, Ποιο είναι το σωστό Pinout για να χρησιμοποιήσω για το ESP32 μου
Αλλά, Ποιο είναι το σωστό Pinout για να χρησιμοποιήσω για το ESP32 μου
Αλλά, Ποιο είναι το σωστό Pinout για να χρησιμοποιήσω για το ESP32 μου
Αλλά, Ποιο είναι το σωστό Pinout για να χρησιμοποιήσω για το ESP32 μου

Το ESP32 δεν είναι δύσκολο. Είναι τόσο εύκολο που μπορούμε να πούμε ότι δεν υπάρχει διδακτική ανησυχία στο περιβάλλον σας. Ωστόσο, πρέπει να είμαστε διδακτικοί, ναι. Εάν θέλετε να προγραμματίσετε στο Assembler, αυτό είναι εντάξει. Αλλά, ο χρόνος μηχανικής είναι ακριβός. Έτσι, εάν όλα όσα είναι προμηθευτής τεχνολογίας σας παρέχουν ένα εργαλείο που χρειάζεται χρόνο για να κατανοήσετε τη λειτουργία του, αυτό μπορεί εύκολα να γίνει πρόβλημα για εσάς, επειδή όλα αυτά θα αυξήσουν το χρόνο μηχανικής, ενώ το προϊόν γίνεται όλο και πιο ακριβό. Αυτό εξηγεί την προτίμησή μου για εύκολα πράγματα, αυτά που μπορούν να κάνουν τη μέρα μας πιο εύκολη, γιατί ο χρόνος είναι σημαντικός, ειδικά στον σημερινό πολυάσχολο κόσμο.

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

Όπως φαίνεται στο παρακάτω παράδειγμα, έχουμε μια σύνδεση LED στο ESP και τον σωστό τρόπο διαμόρφωσης:

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

Βήμα 4: ΕΙΣΟΔΟΣ / ΕΞΟΔΟΣ

ΕΙΣΟΔΟΥ-ΕΞΟΔΟΥ
ΕΙΣΟΔΟΥ-ΕΞΟΔΟΥ

Κατά την εκτέλεση δοκιμών INPUT και OUTPUT στις ακίδες, λάβαμε τα ακόλουθα αποτελέσματα:

Το INPUT δεν λειτούργησε μόνο στο GPIO0.

Το OUTPUT δεν λειτούργησε μόνο στις καρφίτσες GPIO34 και GPIO35, οι οποίες είναι VDET1 και VDET2, αντίστοιχα.

* Οι ακίδες VDET ανήκουν στον τομέα ισχύος του RTC. Αυτό σημαίνει ότι μπορούν να χρησιμοποιηθούν ως καρφίτσες ADC και ότι ο συνεπεξεργαστής ULP μπορεί να τους διαβάσει. Μπορούν να είναι μόνο καταχωρήσεις και ποτέ έξοδοι.

Βήμα 5: Διάγραμμα αποκλεισμού

Αποκλεισμός διαγράμματος
Αποκλεισμός διαγράμματος

Αυτό το διάγραμμα δείχνει ότι το ESP32 έχει διπλό πυρήνα, μια περιοχή τσιπ που ελέγχει το WiFi και μια άλλη περιοχή που ελέγχει το Bluetooth. Διαθέτει επίσης επιτάχυνση υλικού για κρυπτογράφηση, η οποία επιτρέπει τη σύνδεση με το LoRa, ένα δίκτυο μεγάλων αποστάσεων που επιτρέπει σύνδεση έως και 15χλμ, χρησιμοποιώντας κεραία. Παρατηρούμε επίσης τη γεννήτρια ρολογιού, το ρολόι πραγματικού χρόνου και άλλα σημεία που περιλαμβάνουν, για παράδειγμα, PWM, ADC, DAC, UART, SDIO, SPI, μεταξύ άλλων. Όλα αυτά καθιστούν τη συσκευή αρκετά ολοκληρωμένη και λειτουργική.

Βήμα 6: Περιφερειακά και αισθητήρες

Περιφερειακά και αισθητήρες
Περιφερειακά και αισθητήρες

Το ESP32 διαθέτει 34 GPIO που μπορούν να αντιστοιχιστούν σε διάφορες λειτουργίες, όπως:

Digitalηφιακή μόνο?

Ενεργοποίηση αναλογικού (μπορεί να διαμορφωθεί ως ψηφιακή).

Ενεργοποίηση χωρητικής αφής (μπορεί να διαμορφωθεί ως ψηφιακή).

Και άλλοι.

Είναι σημαντικό να σημειωθεί ότι τα περισσότερα ψηφιακά GPIO μπορούν να διαμορφωθούν ως εσωτερικά pull-up ή pull-down, ή να διαμορφωθούν για υψηλή σύνθετη αντίσταση. Όταν οριστεί ως είσοδος, η τιμή μπορεί να διαβαστεί μέσω του καταχωρητή.

Βήμα 7: GPIO

Μετατροπέας αναλογικού σε ψηφιακό (ADC)

Το Esp32 ενσωματώνει 12-bit ADC και υποστηρίζει μετρήσεις σε 18 κανάλια (ακίδες με αναλογική ενεργοποίηση). Ο συνεπεξεργαστής ULP στο ESP32 έχει επίσης σχεδιαστεί για τη μέτρηση τάσεων ενώ λειτουργεί σε κατάσταση αδράνειας, γεγονός που επιτρέπει χαμηλή κατανάλωση ενέργειας. Η CPU μπορεί να αφυπνιστεί από μια ρύθμιση κατωφλίου ή / και μέσω άλλων ενεργοποιητών.

Μετατροπέας ψηφιακού σε αναλογικό (DAC)

Δύο 8-bit κανάλια DAC μπορούν να χρησιμοποιηθούν για τη μετατροπή δύο ψηφιακών σημάτων σε δύο αναλογικές εξόδους τάσης. Αυτά τα διπλά DAC υποστηρίζουν την παροχή ρεύματος ως αναφορά τάσης εισόδου και μπορούν να οδηγήσουν άλλα κυκλώματα. Τα διπλά κανάλια υποστηρίζουν ανεξάρτητες μετατροπές.

Βήμα 8: Αισθητήρες

Αισθητήρες
Αισθητήρες
Αισθητήρες
Αισθητήρες

Αισθητήρας αφής

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

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

www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf

Βήμα 9: Watchdog

Το ESP32 διαθέτει τρεις χρονομετρητές επιτήρησης: έναν σε κάθε μία από τις δύο μονάδες χρονοδιακόπτη (που ονομάζεται Primary Watchdog Timer, ή MWDT) και ένας στη μονάδα RTC (που ονομάζεται RTC Watchdog Timer ή RWDT).

Βήμα 10: Bluetooth

Bluetooth
Bluetooth
Bluetooth
Bluetooth

Bluetooth Interface v4.2 BR / EDR και Bluetooth LE (χαμηλή ενέργεια)

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

Ο ελεγκτής σύνδεσης λειτουργεί σε τρεις κύριες καταστάσεις: αναμονή, σύνδεση και sniff. Επιτρέπει πολλαπλές συνδέσεις και άλλες λειτουργίες, όπως έρευνα, σελίδα και ασφαλή απλή σύζευξη, και έτσι επιτρέπει Piconet και Scatternet.

Βήμα 11: Εκκίνηση

Μπότα
Μπότα
Μπότα
Μπότα

Σε πολλούς πίνακες ανάπτυξης με ενσωματωμένο USB / Serial, το esptool.py μπορεί να επαναφέρει αυτόματα τον πίνακα σε κατάσταση εκκίνησης.

Το ESP32 θα εισέλθει στον σειριακό φορτωτή εκκίνησης όταν το GPIO0 διατηρηθεί χαμηλό κατά την επαναφορά. Διαφορετικά, θα εκτελέσει το πρόγραμμα σε flash.

Το GPIO0 διαθέτει εσωτερική αντίσταση έλξης, οπότε αν είναι χωρίς σύνδεση, θα ανέβει ψηλά.

Πολλοί πίνακες χρησιμοποιούν ένα κουμπί με την ένδειξη "Flash" (ή "BOOT" σε ορισμένους πίνακες ανάπτυξης του Espressif) που οδηγεί το GPIO0 προς τα κάτω όταν το πιέσετε.

Το GPIO2 θα πρέπει επίσης να μείνει ασύνδετο / να επιπλέει.

Στην παραπάνω εικόνα, μπορείτε να δείτε μια δοκιμή που πραγματοποίησα. Έβαλα τον παλμογράφο σε όλες τις ακίδες του ESP για να δω τι συνέβη όταν ήταν ενεργοποιημένο. Ανακάλυψα ότι όταν παίρνω μια καρφίτσα, δημιουργεί ταλαντώσεις 750 μικροδευτερολέπτων, όπως φαίνεται στην επισημασμένη περιοχή στη δεξιά πλευρά. Τι μπορούμε να κάνουμε για αυτό; Έχουμε αρκετές επιλογές, όπως η καθυστέρηση με ένα κύκλωμα με ένα τρανζίστορ, ένα διαστολέα πόρτας, για παράδειγμα. Επισημαίνω ότι το GPIO08 αντιστρέφεται. Η ταλάντωση βγαίνει προς τα πάνω και όχι προς τα κάτω.

Μια άλλη λεπτομέρεια είναι ότι έχουμε μερικές καρφίτσες που ξεκινούν στο High και άλλες στο Low. Επομένως, αυτό το PINOUT είναι μια αναφορά όταν ενεργοποιείται το ESP32, ειδικά όταν εργάζεστε με ένα φορτίο για να ενεργοποιήσετε, για παράδειγμα, ένα triac, ένα ρελέ, έναν επαφέα ή κάποια ισχύ.

Συνιστάται: