Cuprins:
- Introducere
- Pasul 1: Pini Flash GPIO - GPIO6 la GPIO11
- Pasul 2: pini GPIO0, GPIO2 și GPIO15
- Pasul 3: Utilizarea GPIO0, GPIO2 și GPIO15 ca ieșiri
- Pasul 4: Utilizarea GPIO0, GPIO2 și GPIO15 ca intrări
- Concluzie
Video: ESP8266 Utilizarea pinilor GPIO0 / GPIO2 / GPIO15: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Actualizare 1 iulie 2018 - S-a adăugat o notă privind reprogramarea când GPIO0 este o ieșire
Aceasta este o notă foarte scurtă despre modul de utilizare a pinilor GPIO0 / GPIO2 și GPIO15 pe modulul ESP8266.
Actualizare: Verificați și Cum să utilizați pinii ESP8266-01
Introducere
ESP8266 este un cip WiFi cu cost redus. Acesta vine într-o varietate de tipuri de module și poate fi programat într-o varietate de moduri. Toate modulele fac GPIO0 și GPIO2 accesibile. Majoritatea modulelor, altele decât ESP8266-01, fac și GPIO15 accesibil. Aceste GPIO controlează modul în care pornește modulul și, ca atare, necesită o manipulare specială pentru a fi utilizate. GPIO6-GPIO11 necesită, de asemenea, un tratament special, așa cum este descris mai jos.
Pasul 1: Pini Flash GPIO - GPIO6 la GPIO11
Majoritatea plăcilor ESP8266 au un cip flash conectat la unele sau la toate GPIO6-GPIO11. Majoritatea programelor folosesc memorie flash, precum și memorie RAM, deci dacă nu vă asigurați în mod specific că codul dvs. rulează numai din memorie RAM, nu puteți utiliza acești pini în alte scopuri.
Numărul exact de pini utilizați în intervalul GPIO6 până la GPIO11 depinde de tipul de hardware flash utilizat pe modulul dvs. Quad IO folosește 4 linii pentru date (6 pini în total) de până la 4 ori viteza standard. Dual IO folosește 2 linii pentru date (4 pini în total) Standard folosește o singură linie pentru date (3 pini în total).
Dacă nu știți exact ce necesită placa dvs., cel mai bine este să ignorați GPIO6 la GPIO11 și să nu vă referiți la acestea din codul dvs.
Pasul 2: pini GPIO0, GPIO2 și GPIO15
Acești pini determină în ce mod pornește cipul.
Pentru execuția normală a programului, GPIO0 și GPIO2 trebuie să fie ridicate la Vcc (3,3V), iar GPIO15 trebuie să fie tras la GND, fiecare cu un rezistor în intervalul 2K până la 10K rezistor. Un rezistor de 2K oferă o imunitate mai bună la zgomot. OLIMEX folosește rezistențe 2K SparkFun folosește rezistențe 10K. Folosesc rezistențe 3K3.
Setările acestor intrări sunt verificate numai în timpul pornirii (sau resetării) cipului. După aceea, pinii sunt disponibili pentru uz general, dar după cum se discută mai jos, utilizarea lor este restricționată de aceste rezistențe externe de tragere în sus / în jos.
Pasul 3: Utilizarea GPIO0, GPIO2 și GPIO15 ca ieșiri
După cum sa menționat mai sus, acești pini vor avea deja un rezistor conectat fie la VCC (GPIO0 și GPIO2), fie la GND pentru GPIO15. Acest lucru determină modul în care trebuie conectat orice dispozitiv extern, cum ar fi un releu sau led + rezistor. Pentru GPIO0 și GPIO2, un releu extern trebuie să fie conectat între VCC și pin, astfel încât să nu interfereze cu acțiunea rezistenței de tragere. În schimb, un releu extern conectat la GPIO15 trebuie să fie conectat între GND și pin, astfel încât să nu interfereze cu acțiunea rezistenței de tragere.
Pentru a activa dispozitivul extern, GPIO0 sau GPIO2 trebuie să fie condus LOW (Active LOW), în timp ce GPIO15 trebuie să fie condus HIGH (Active HIGH).
Schema de mai sus arată cum să utilizați GPIO0 și GPIO2 și GPIO15 ca ieșiri. Acest circuit include și rezistențele necesare de tragere / derulare. Rețineți că modulul de releu de 5V comandat de GPIO0 este optoizolat și are o conexiune comună separată pentru intrare. Este important ca tensiunea VCCA de 5V să nu fie aplicată pinului ESP8266.
Cum se reprogramează când se utilizează GPIO0 ca ieșire
Notă: GPIO0 trebuie să fie conectat la pământ pentru a intra în modul de programare. Dacă schița îl ridică, împământarea vă poate deteriora cipul ESP8266. Modul sigur de a reprograma ESP8266 atunci când codul dvs. conduce ieșirea GPIO0 este: - a) Opriți placa b) scurta GPIO0 la gnd c) porniți placa care intră în modul program datorită scurtcircuitului GPIO0 d) eliminați scurtul de la GPIO0 astfel încât să nu scurtați ieșirea atunci când programul rulează e) reprogramați placa f) alimentați placa dacă este necesar.
Pasul 4: Utilizarea GPIO0, GPIO2 și GPIO15 ca intrări
Utilizarea acestor pini ca intrări este un pic dificilă. Așa cum s-a menționat mai sus la pornire și în timpul resetării, acei ace trebuie să fie trase în sus sau în jos, după cum este necesar, pentru ca modulul ESP8266 să poată porni în modul normal de funcționare. Aceasta înseamnă, în general, că nu puteți atașa doar un comutator extern la acești pini, deoarece la pornire nu puteți garanta că comutatorul nu va trage intrarea la sol și, astfel, împiedicați modulul să pornească corect.
Trucul este să nu conectați comutatorul extern direct de la GPIO0 sau GPIO2 la GND, ci să îl conectați la un alt pin GPIO care este condus la masă (ca ieșire) numai după pornirea ESP8266. Amintiți-vă, atunci când sunt folosiți ca ieșiri, pinii GPIO asigură o conexiune de rezistență foarte mică fie la VCC, fie la GND, în funcție de faptul dacă sunt acționați HIGH sau LOW.
Aici vor fi luate în considerare doar GPIO0 și GPIO2. Folosind această metodă puteți obține o (1) intrare suplimentară folosind aceste două (2) GPIO-uri.
O metodă similară poate fi utilizată pentru GPIO15 utilizând un alt pin GPIO pentru a-și conecta comutatorul la + VCC, dar acest lucru nu câștigă o intrare suplimentară, la fel de bine puteți utiliza celălalt pin GPIO direct ca intrare.
Circuitul de mai sus utilizează modulul ESP8266-01 ca exemplu. Fără a utiliza acest truc, ESP8266-01 nu are niciun pin liber de utilizat ca intrare dacă utilizați deja pinii RX / TX pentru o conexiune UART.
Deoarece metoda schiței setup () se execută numai după pornirea modulului ESP8266, este sigur să faceți ieșirea GPIO0 LOW atunci și astfel să asigurați o masă pentru S1 conectat la GPIO2. Puteți utiliza apoi digitalRead (2) în altă parte în schița dvs. pentru a citi setarea comutatorului.
Concluzie
Această scurtă notă arată cum să utilizați GPIO0, GPIO2 și GPIO15 ca ieșiri și cum să utilizați obțineți o intrare suplimentară utilizând împreună GPIO0 și GPIO2.
Recomandat:
Utilizarea senzorilor analogici cu ESP8266: 5 pași
Utilizarea senzorilor analogici cu ESP8266: Un convertor analog-digital (ADC, A / D, A – D sau A-D) este un sistem care transformă un semnal analog într-un semnal digital. Convertoarele A / D traduc semnale electrice analogice în scopul procesării datelor. Cu produse care corespund performanței, puterii
Utilizarea WiFi AutoConnect cu plăci ESP8266 / ESP32: 3 pași
Utilizarea WiFi AutoConnect cu plăcile ESP8266 / ESP32: Vom învăța cum să folosim biblioteca AutoConnect care ne permite să ne conectăm și să gestionăm punctele de acces WiFi folosind un smartphone. pentru a accesa pentru a afla despre t
Neopixel Ws2812 Rainbow LED Glow Cu M5stick-C - Rularea Rainbow pe Neopixel Ws2812 Utilizarea M5stack M5stick C Utilizarea Arduino IDE: 5 pași
Neopixel Ws2812 Rainbow LED Glow Cu M5stick-C | Rularea Rainbow pe Neopixel Ws2812 Utilizarea M5stack M5stick C Utilizarea Arduino IDE: Bună băieți, în acest instructables vom învăța cum să utilizați LED-uri neopixel ws2812 sau benzi LED sau matrice LED sau inel cu LED cu placa de dezvoltare m5stack m5stick-C cu Arduino IDE și vom face un model curcubeu cu el
Utilizarea celor 4 pini ai ESP8266-01: 3 pași
Utilizarea celor 4 pini ai ESP8266-01: Notă: Acest proiect este în esență o extensie a unui instrument anterior care putea folosi doar 2 pini. Numărul limitat (4) de pini GPIO pe ESP8266-01 poate părea un obstacol, pentru orice aplicație serioasă. Cu toate acestea, dacă cineva folosește pinii într-un mod inteligent, este
Ghid pentru începători la ESP8266 și Tweeting Utilizarea ESP8266: 17 pași (cu imagini)
Ghid pentru începători la ESP8266 și Tweeting Folosind ESP8266: Am aflat despre Arduino acum 2 ani. Așa că am început să mă joc cu lucruri simple, cum ar fi LED-uri, butoane, motoare, etc. vremea zilei, prețurile acțiunilor, orele trenurilor pe un ecran LCD