Sisällysluettelo:

ESP8266 GPIO0/GPIO2/GPIO15 -nastojen käyttäminen: 4 vaihetta
ESP8266 GPIO0/GPIO2/GPIO15 -nastojen käyttäminen: 4 vaihetta

Video: ESP8266 GPIO0/GPIO2/GPIO15 -nastojen käyttäminen: 4 vaihetta

Video: ESP8266 GPIO0/GPIO2/GPIO15 -nastojen käyttäminen: 4 vaihetta
Video: Electronics: ESP8266, GPIO0 or GPIO2 as input 2024, Marraskuu
Anonim
ESP8266 GPIO0/GPIO2/GPIO15 -nastat
ESP8266 GPIO0/GPIO2/GPIO15 -nastat

Päivitys 1. heinäkuuta 2018-Lisätty huomautus uudelleen ohjelmoinnista, kun GPIO0 on lähtö

Tämä on hyvin lyhyt huomautus siitä, kuinka GPIO0 / GPIO2- ja GPIO15 -nastoja käytetään ESP8266 -moduulissa.

Päivitys: Katso myös ESP8266-01-nastojen käyttö

Johdanto

ESP8266 on edullinen wifi -yhteensopiva siru. Sitä on saatavana monenlaisia moduuleja ja se voidaan ohjelmoida monin eri tavoin. Kaikki moduulit mahdollistavat GPIO0: n ja GPIO2: n käytön. Useimmat moduulit, muut kuin ESP8266-01, tekevät myös GPIO15: stä helppokäyttöisen. Nämä GPIO ohjaavat moduulin käynnistymistä ja vaativat sellaisenaan erityiskäsittelyä, jos niitä käytetään ollenkaan. GPIO6-GPIO11 vaativat myös erikoiskäsittelyä alla kuvatulla tavalla.

Vaihe 1: Flash GPIO -nastat - GPIO6 - GPIO11

Useimmissa ESP8266-korteissa on flash-siru, joka on liitetty joihinkin tai kaikkiin GPIO6-GPIO11-laitteisiin. Useimmat ohjelmat käyttävät flash -muistia sekä RAM -muistia, joten ellet nimenomaan varmista, että koodisi toimii vain RAM -muistista, et voi käyttää näitä nastoja muihin tarkoituksiin.

GPIO6 - GPIO11 -alueella käytettyjen nastojen tarkka määrä riippuu moduulissa käytettävän flash -laitteiston tyypistä. Quad IO käyttää 4 riviä tiedoille (yhteensä 6 nastaa) jopa 4 kertaa nopeammin kuin tavallinen. Dual IO käyttää 2 riviä tiedoille (yhteensä 4 nastaa) Standardi käyttää yhtä riviä tiedoille (yhteensä 3 nastaa).

Ellet tiedä tarkasti, mitä korttisi vaatii, sinun on parasta jättää GPIO6 - GPIO11 huomiotta ja älä viittaa niihin koodistasi.

Vaihe 2: GPIO0, GPIO2 ja GPIO15 nastat

GPIO0, GPIO2 ja GPIO15 nastat
GPIO0, GPIO2 ja GPIO15 nastat

Nämä nastat määräävät, missä tilassa siru käynnistyy.

Normaalille ohjelman suorittamiselle GPIO0 ja GPIO2 on vedettävä Vcc -jännitteeseen (3,3 V) ja GPIO15 on vedettävä GND: hen, kumpikin vastuksella alueella 2K - 10K. 2K -vastus antaa paremman kohinankestoisuuden. OLIMEX käyttää 2K vastuksia SparkFun käyttää 10K vastuksia. Käytän 3K3 -vastuksia.

Näiden tulojen asetukset tarkistetaan vain sirun käynnistyksen (tai nollauksen) aikana. Tämän jälkeen tapit ovat yleiskäyttöisiä, mutta kuten jäljempänä käsitellään, nämä ulkoiset ylös/alas -vastukset rajoittavat niiden käyttöä.

Vaihe 3: GPIO0: n, GPIO2: n ja GPIO15: n käyttö lähtöinä

Käyttämällä lähtöjä GPIO0, GPIO2 ja GPIO15
Käyttämällä lähtöjä GPIO0, GPIO2 ja GPIO15

Kuten edellä on mainittu, näissä nastoissa on jo vastus, joka on kytketty joko VCC: hen (GPIO0 ja GPIO2) tai GND GPIO15: lle. Tämä määrittää, miten kaikki ulkoiset laitteet, kuten rele tai led+vastus, on kytkettävä. GPIO0- ja GPIO2 -laitteissa ulkoinen rele on kytkettävä VCC: n ja nastan väliin, jotta se ei häiritse vetovastuksen toimintaa. Päinvastoin, GPIO15: een liitetty ulkoinen rele on kytkettävä GND: n ja nastan väliin, jotta se ei häiritse alasvetovastuksen toimintaa.

Ulkoisen laitteen aktivoimiseksi GPIO0: ta tai GPIO2: ta on ajettava LOW (Active LOW) ja GPIO15: tä HIGH (Active HIGH).

Yllä oleva kaavio näyttää kuinka GPIO0: ta ja GPIO2: ta ja GPIO15: tä käytetään lähtöinä. Tämä piiri sisältää myös tarvittavat pullup/down pullown -vastukset. Huomaa, että GPIO0: n käyttämä 5 V: n relemoduuli on optoeristetty ja siinä on erillinen yhteinen tuloliitäntä. On tärkeää, että 5 V VCCA -jännitettä ei syötetä ESP8266 -nastaan.

Ohjelmointi uudelleen, kun tulostina käytetään GPIO0: ta

Huomautus: GPIO0 on maadoitettava päästäkseen ohjelmointitilaan. Jos luonnos ajaa sitä korkealle, sen maadoitus voi vahingoittaa ESP8266 -sirua. Turvallinen tapa ohjelmoida ESP8266 uudelleen, kun koodisi ohjaa GPIO0-lähtöä, on:- a) sammuttaa kortti b) lyhyt GPIO0- gnd c) kytkeä kortti päälle, joka siirtyy ohjelmatilaan GPIO0: n oikosulun vuoksi d) poista oikosulku GPIO0: sta, joten et oikosulje lähtöä ohjelman ollessa käynnissä e) ohjelmoi levy uudelleen f) käynnistä levy uudelleen tarvittaessa.

Vaihe 4: GPIO0: n, GPIO2: n ja GPIO15: n käyttäminen tuloina

Käyttämällä tuloja GPIO0, GPIO2 ja GPIO15
Käyttämällä tuloja GPIO0, GPIO2 ja GPIO15

Näiden nastojen käyttäminen tuloina on hieman hankalaa. Kuten yllä on mainittu käynnistyksen yhteydessä ja nollauksen aikana, nämä nastat on vedettävä ylös tai alas tarpeen mukaan, jotta ESP8266 -moduuli käynnistyy normaalissa käyttötilassa. Tämä tarkoittaa yleensä sitä, että et yleensä voi liittää ulkoista kytkintä näihin nastoihin, koska käynnistyksen yhteydessä et yleensä voi taata, että kytkin ei vedä tuloa maahan ja estää siten moduulia käynnistymästä oikein.

Temppu on, että ulkoista kytkintä ei kytketä suoraan GPIO0: sta tai GPIO2: sta GND: hen, vaan sen sijaan toiseen GPIO -nastaan, joka ajetaan maahan (ulostulona) vasta ESP8266: n käynnistymisen jälkeen. Muista, että käytettäessä lähtöinä GPIO -nastat tarjoavat erittäin pienen vastusliitännän joko VCC: hen tai GND: hen riippuen siitä, käytetäänkö niitä KORKEA vai MATALA.

Tässä otetaan huomioon vain GPIO0 ja GPIO2. Tätä menetelmää käyttämällä voit saada yhden (1) lisäsyötteen käyttämällä näitä kahta (2) GPIO: ta.

Samankaltaista menetelmää voidaan käyttää GPIO15: ssä kytkemällä toinen GPIO -nasta sen kytkimestä +VCC: hen, mutta tämä ei saa ylimääräistä tuloa, voit myös käyttää toista GPIO -nasta suoraan tulona.

Yllä oleva piiri käyttää esimerkkinä ESP8266-01-moduulia. Ilman tätä temppua ESP8266-01: ssä ei ole vapaita nastoja, joita voidaan käyttää tulona, jos käytät jo RX/TX-nastoja UART-yhteyteen.

Koska luonnoksen setup () -menetelmä suoritetaan vasta sen jälkeen, kun ESP8266 -moduuli käynnistyy, on turvallista asettaa GPIO0 -lähtö LOW -asentoon silloin ja muodostaa maaperä GP1: lle kytketylle S1: lle. Voit sitten käyttää digitalReadia (2) muualla luonnoksessasi lukitaksesi kytkimen asetuksen.

Johtopäätös

Tämä lyhyt huomautus näyttää, miten GPIO0: ta, GPIO2: ta ja GPIO15: tä käytetään lähtöinä ja kuinka käyttää lisäsyöttöä käyttämällä GPIO0: ta ja GPIO2: ta yhdessä.

Suositeltava: