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

ESP8266 Χρήση καρφιτσών GPIO0/GPIO2/GPIO15: 4 βήματα
ESP8266 Χρήση καρφιτσών GPIO0/GPIO2/GPIO15: 4 βήματα

Βίντεο: ESP8266 Χρήση καρφιτσών GPIO0/GPIO2/GPIO15: 4 βήματα

Βίντεο: ESP8266 Χρήση καρφιτσών GPIO0/GPIO2/GPIO15: 4 βήματα
Βίντεο: Εισαγωγή στον πίνακα ανάπτυξης WiFi NodeMCU ESP8266 με παράδειγμα HTTP Client 2024, Νοέμβριος
Anonim
ESP8266 Χρήση καρφιτσών GPIO0/GPIO2/GPIO15
ESP8266 Χρήση καρφιτσών GPIO0/GPIO2/GPIO15

Ενημέρωση 1 Ιουλίου 2018-Προστέθηκε σημείωση για τον επαναπρογραμματισμό όταν το GPIO0 είναι έξοδος

Αυτή είναι μια πολύ σύντομη σημείωση σχετικά με τον τρόπο χρήσης των ακίδων GPIO0 / GPIO2 και GPIO15 στην ενότητα ESP8266.

Ενημέρωση: Δείτε επίσης τον τρόπο χρήσης των ακίδων ESP8266-01

Εισαγωγή

Το ESP8266 είναι ένα τσιπ χαμηλού κόστους με δυνατότητα Wi -Fi. Έρχεται σε διάφορους τύπους ενοτήτων και μπορεί να προγραμματιστεί με διάφορους τρόπους. Όλες οι ενότητες καθιστούν τα GPIO0 και GPIO2 προσβάσιμα. Τα περισσότερα modules, εκτός από το ESP8266-01, καθιστούν επίσης το GPIO15 προσβάσιμο. Αυτά τα GPIO ελέγχουν πώς ξεκινά η μονάδα και ως εκ τούτου απαιτούν ειδικό χειρισμό εάν πρόκειται να χρησιμοποιηθούν καθόλου. Το GPIO6-GPIO11 απαιτεί επίσης ειδική θεραπεία όπως περιγράφεται παρακάτω.

Βήμα 1: Flash καρφίτσες GPIO - GPIO6 έως GPIO11

Οι περισσότεροι πίνακες ESP8266 διαθέτουν ένα τσιπ flash συνδεδεμένο σε κάποιο ή σε όλα τα GPIO6-GPIO11. Τα περισσότερα προγράμματα χρησιμοποιούν μνήμη flash, καθώς και μνήμη RAM, οπότε εάν δεν βεβαιωθείτε συγκεκριμένα ότι ο κωδικός σας τρέχει μόνο από RAM, δεν μπορείτε να χρησιμοποιήσετε αυτές τις ακίδες για άλλους σκοπούς.

Ο ακριβής αριθμός καρφιτσών που χρησιμοποιούνται στην περιοχή GPIO6 έως GPIO11 εξαρτάται από τον τύπο του υλικού flash που χρησιμοποιείται στη μονάδα σας. Το Quad IO χρησιμοποιεί 4 γραμμές για δεδομένα (συνολικά 6 ακίδες) έως και 4 φορές την ταχύτητα του τυπικού. Το Dual IO χρησιμοποιεί 2 γραμμές για δεδομένα (συνολικά 4 ακίδες) Το πρότυπο χρησιμοποιεί μία γραμμή για δεδομένα (3 ακίδες συνολικά).

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

Βήμα 2: Καρφίτσες GPIO0, GPIO2 και GPIO15

Καρφίτσες GPIO0, GPIO2 και GPIO15
Καρφίτσες GPIO0, GPIO2 και GPIO15

Αυτές οι ακίδες καθορίζουν σε ποια λειτουργία ξεκινά το τσιπ.

Για κανονική εκτέλεση προγράμματος, τα GPIO0 και GPIO2 πρέπει να τραβηχτούν έως Vcc (3.3V) και το GPIO15 πρέπει να τραβηχτεί στο GND, το καθένα με αντίσταση στην αντίσταση 2K έως 10K. Μια αντίσταση 2Κ δίνει καλύτερη ασυλία θορύβου. Το OLIMEX χρησιμοποιεί αντιστάσεις 2Κ Το SparkFun χρησιμοποιεί αντιστάσεις 10Κ. Χρησιμοποιώ αντιστάσεις 3K3.

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

Βήμα 3: Χρήση GPIO0, GPIO2 και GPIO15 ως εξόδων

Χρήση GPIO0, GPIO2 και GPIO15 ως εξόδων
Χρήση GPIO0, GPIO2 και GPIO15 ως εξόδων

Όπως σημειώθηκε παραπάνω, αυτές οι ακίδες θα έχουν ήδη μια αντίσταση συνδεδεμένη είτε με VCC (GPIO0 και GPIO2) είτε με GND για GPIO15. Αυτό καθορίζει τον τρόπο με τον οποίο πρέπει να συνδεθεί οποιαδήποτε εξωτερική συσκευή, όπως ρελέ ή αντίσταση led+. Για τα GPIO0 και GPIO2, ένα εξωτερικό ρελέ πρέπει να συνδεθεί μεταξύ του VCC και του πείρου έτσι ώστε να μην παρεμβαίνει στη δράση της αντίστασης έλξης. Αντίθετα, ένα εξωτερικό ρελέ συνδεδεμένο στο GPIO15 πρέπει να συνδεθεί μεταξύ του GND και του πείρου έτσι ώστε να μην παρεμβαίνει στη δράση της αντίστασης έλξης.

Για να ενεργοποιήσετε την εξωτερική συσκευή, το GPIO0 ή το GPIO2 πρέπει να οδηγούνται LOW (Active LOW) ενώ το GPIO15 πρέπει να οδηγείται HIGH (Active HIGH).

Το παραπάνω σχήμα δείχνει τον τρόπο χρήσης των GPIO0 και GPIO2 και GPIO15 ως εξόδων. Αυτό το κύκλωμα περιλαμβάνει επίσης τις απαραίτητες αντιστάσεις έλξης/έλξης. Σημειώστε ότι η μονάδα ρελέ 5V που οδηγείται από το GPIO0 είναι οπτικά απομονωμένη και έχει ξεχωριστή κοινή σύνδεση για την είσοδο. Είναι σημαντικό η τάση 5V VCCA να μην εφαρμόζεται στον πείρο ESP8266.

Πώς να επαναπρογραμματίσετε όταν χρησιμοποιείτε το GPIO0 ως έξοδο

Σημείωση: Το GPIO0 πρέπει να είναι γειωμένο για να μπείτε σε λειτουργία προγραμματισμού. Εάν σκιαγραφείτε ότι το οδηγείτε ψηλά, η γείωση μπορεί να σας βλάψει το τσιπ ESP8266. Ο ασφαλής τρόπος για τον επαναπρογραμματισμό του ESP8266 όταν ο κωδικός σας οδηγεί την έξοδο GPIO0 είναι:- α) Απενεργοποιήστε την πλακέτα β) σύντομο GPIO0 στο gnd γ) ενεργοποιήστε την πλακέτα η οποία μπαίνει σε λειτουργία προγράμματος λόγω βραχυκυκλώματος στο GPIO0 δ) αφαιρέστε το σύντομο από το GPIO0, ώστε να μην βραχυκυκλώνετε την έξοδο όταν τρέχει το πρόγραμμα ε) επαναπρογραμματίστε την πλακέτα στ) ενεργοποιήστε τον κύκλο της πλακέτας εάν είναι απαραίτητο.

Βήμα 4: Χρήση GPIO0, GPIO2 και GPIO15 ως εισόδων

Χρήση GPIO0, GPIO2 και GPIO15 ως εισόδων
Χρήση GPIO0, GPIO2 και GPIO15 ως εισόδων

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

Το κόλπο είναι να μην συνδέσετε τον εξωτερικό διακόπτη απευθείας από το GPIO0 ή GPIO2 στο GND, αλλά να τον συνδέσετε με έναν άλλο καρφίτσα GPIO που οδηγείται στη γείωση (ως έξοδος) μόνο μετά την εκκίνηση του ESP8266. Θυμηθείτε, όταν χρησιμοποιούνται ως έξοδοι, οι ακίδες GPIO παρέχουν μια πολύ χαμηλή αντίσταση σύνδεσης είτε σε VCC είτε σε GND, ανάλογα με το αν κινούνται Υ HIGHΗΛΗ ή ΧΑΜΗΛΗ.

Εδώ θα ληφθούν υπόψη μόνο τα GPIO0 και GPIO2. Χρησιμοποιώντας αυτήν τη μέθοδο μπορείτε να λάβετε μία (1) εισαγωγή προσθήκης χρησιμοποιώντας αυτά τα δύο (2) GPIO.

Μια παρόμοια μέθοδος μπορεί να χρησιμοποιηθεί για το GPIO15 χρησιμοποιώντας έναν άλλο καρφίτσα GPIO για να συνδέσετε το διακόπτη του στο +VCC, αλλά αυτό δεν αποκτά επιπλέον είσοδο, ίσως να χρησιμοποιήσετε απλώς τον άλλο καρφίτσα GPIO απευθείας ως είσοδο.

Το παραπάνω κύκλωμα χρησιμοποιεί τη μονάδα ESP8266-01 ως παράδειγμα. Χωρίς να χρησιμοποιήσετε αυτό το κόλπο, το ESP8266-01 δεν διαθέτει δωρεάν ακίδες για χρήση ως είσοδο εάν χρησιμοποιείτε ήδη καρφίτσες RX/TX για σύνδεση UART.

Δεδομένου ότι η μέθοδος εγκατάστασης () του σκίτσου εκτελείται μόνο μετά την εκκίνηση της μονάδας ESP8266, είναι ασφαλές να κάνετε την έξοδο GPIO0 ΧΑΜΗΛΗ τότε και έτσι να παρέχετε μια γείωση για το S1 συνδεδεμένο στο GPIO2. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε το digitalRead (2) αλλού στο σκίτσο σας για να διαβάσετε τη ρύθμιση του διακόπτη.

συμπέρασμα

Αυτή η σύντομη σημείωση δείχνει τον τρόπο χρήσης των GPIO0, GPIO2 και GPIO15 ως εξόδων και πώς να χρησιμοποιήσετε μια επιπλέον είσοδο χρησιμοποιώντας GPIO0 και GPIO2 μαζί.

Συνιστάται: