Orodha ya maudhui:

ESP8266 Kutumia GPIO0 / GPIO2 / GPIO15 Pini: 4 Hatua
ESP8266 Kutumia GPIO0 / GPIO2 / GPIO15 Pini: 4 Hatua

Video: ESP8266 Kutumia GPIO0 / GPIO2 / GPIO15 Pini: 4 Hatua

Video: ESP8266 Kutumia GPIO0 / GPIO2 / GPIO15 Pini: 4 Hatua
Video: Знакомство с платой разработки Heltec LoRa CubeCell HTCC-AB01 2024, Novemba
Anonim
ESP8266 Kutumia Pini za GPIO0 / GPIO2 / GPIO15
ESP8266 Kutumia Pini za GPIO0 / GPIO2 / GPIO15

Sasisha 1 Julai 2018 - Ujumbe ulioongezwa juu ya programu mpya wakati GPIO0 ni pato

Hii ni barua fupi sana juu ya jinsi ya kutumia pini za GPIO0 / GPIO2 na GPIO15 kwenye moduli ya ESP8266.

Sasisha: Pia angalia Jinsi ya kutumia pini za ESP8266-01

Utangulizi

ESP8266 ni chip ya wifi iliyowezeshwa ya gharama nafuu. Inakuja katika aina anuwai ya moduli na inaweza kusanidiwa kwa njia anuwai. Moduli zote hufanya GPIO0 na GPIO2 kupatikana. Moduli nyingi, isipokuwa ESP8266-01, pia hufanya GPIO15 ipatikane. Udhibiti huu wa GPIO jinsi moduli inavyoanza na kwa hivyo inahitaji utunzaji maalum ikiwa utatumiwa kabisa. GPIO6-GPIO11 pia inahitaji matibabu maalum kama ilivyoelezewa hapo chini.

Hatua ya 1: Pini za Flash GPIO - GPIO6 hadi GPIO11

Bodi nyingi za ESP8266 zina chip ndogo iliyounganishwa na zingine au zote za GPIO6-GPIO11. Programu nyingi hutumia kumbukumbu ya flash, pamoja na RAM, kwa hivyo isipokuwa ukihakikisha kuwa nambari yako inaendesha tu kutoka kwa RAM, huwezi kutumia pini hizi kwa madhumuni mengine.

Idadi halisi ya pini zinazotumiwa katika anuwai ya GPIO6 hadi GPIO11 inategemea aina ya vifaa vya flash vinavyotumika kwenye moduli yako. Quad IO hutumia laini 4 za data (pini 6 jumla) hadi mara 4 kasi ya kiwango. Dual IO hutumia laini 2 za data (pini 4 jumla) Kiwango hutumia laini moja kwa data (pini 3 jumla).

Isipokuwa unajua haswa bodi yako inahitaji nini, wewe ni bora kupuuza GPIO6 kwa GPIO11 na usirejelee kutoka kwa nambari yako.

Hatua ya 2: GPIO0, GPIO2 na GPIO15 Pini

GPIO0, GPIO2 na GPIO15 Pini
GPIO0, GPIO2 na GPIO15 Pini

Pini hizi huamua ni mfumo gani chip inaanza.

Kwa utekelezaji wa kawaida wa programu GPIO0 na GPIO2 zinahitaji kuvutwa hadi Vcc (3.3V) na GPIO15 inahitaji kuvutwa kwenda GND, kila moja ikiwa na kontena katika kipenyo cha 2K hadi 10K. Kinzani ya 2K inatoa kinga bora ya kelele. OLIMEX hutumia vipingaji 2K SparkFun hutumia vipinga 10K. Ninatumia vipinga 3K3.

Mipangilio ya pembejeo hizi huangaliwa tu wakati wa kuongeza nguvu (au kuweka upya) chip. Baada ya hapo pini zinapatikana kwa matumizi ya jumla, lakini kama ilivyojadiliwa hapo chini matumizi yao yanazuiliwa na vizuia-nguvu vya nje vya kuvuta / chini.

Hatua ya 3: Kutumia GPIO0, GPIO2 na GPIO15 kama Matokeo

Kutumia GPIO0, GPIO2 na GPIO15 kama Matokeo
Kutumia GPIO0, GPIO2 na GPIO15 kama Matokeo

Kama ilivyoonyeshwa hapo juu, pini hizi tayari zitakuwa na kontena iliyounganishwa na VCC (GPIO0 na GPIO2) au GND ya GPIO15. Hii huamua jinsi kifaa chochote cha nje, kama kipokezi cha relay au kilichoongozwa, + lazima kiunganishwe. Kwa GPIO0 na GPIO2, relay ya nje lazima iunganishwe kati ya VCC na pini ili isiingiliane na hatua ya kontena la kuvuta. Kinyume chake, relay ya nje iliyounganishwa na GPIO15 lazima iunganishwe kati ya GND na pini ili hiyo isiingiliane na hatua ya mpinzani.

Ili kuamsha kifaa cha nje, GPIO0 au GPIO2 lazima iendeshwe LOW (Active LOW) wakati GPIO15 inapaswa kuendeshwa juu (Active HIGH).

Mpangilio hapo juu unaonyesha jinsi ya kutumia GPIO0 na GPIO2 na GPIO15 kama matokeo. Mzunguko huu ni pamoja na vipingamizi muhimu vya pullup / pulldown pia. Kumbuka moduli ya upitishaji wa 5V inayoendeshwa na GPIO0 imetengwa kwa macho na ina unganisho la kawaida la pembejeo. Ni muhimu kwamba voltage ya 5V VCCA haitumiki kwa pini ya ESP8266.

Jinsi ya kupanga upya wakati wa kutumia GPIO0 kama pato

Kumbuka: GPIO0 inahitaji kuwekwa msingi ili kuingia katika hali ya programu. Ikiwa mchoro unaiendesha juu, kutuliza inaweza kukuumiza Chip ya ESP8266. Njia salama ya kupanga upya programu ya ESP8266 wakati nambari yako inaendesha pato la GPIO0 ni: - a) Weka nguvu kwenye bodi b) fupi GPIO0 hadi gnd c) ongeza bodi ambayo huenda kwenye hali ya programu kwa sababu ya fupi kwenye GPIO0 d) ondoa fupi kutoka kwa GPIO0 ili usipunguze pato wakati programu inaendesha e) kupanga upya bodi f) mzunguko wa nguvu ya bodi ikiwa ni lazima.

Hatua ya 4: Kutumia GPIO0, GPIO2 na GPIO15 kama Pembejeo

Kutumia GPIO0, GPIO2 na GPIO15 kama Pembejeo
Kutumia GPIO0, GPIO2 na GPIO15 kama Pembejeo

Kutumia pini hizi kama pembejeo ni ngumu sana. Kama ilivyoelezwa hapo juu juu ya nguvu, na wakati wa kuweka upya, pini hizi lazima ziondolewe juu au chini kama inavyotakiwa kuwa na moduli ya ESP8266 kuanza katika hali ya kawaida ya kukimbia. Hii inamaanisha, kwa ujumla, huwezi kushikamana na swichi ya nje kwenye pini hizi kwa sababu kwa nguvu wakati hauwezi kuhakikisha kuwa swichi haitavuta pembejeo chini na kwa hivyo kuzuia moduli kuanza vizuri.

Ujanja ni kutounganisha swichi ya nje moja kwa moja kutoka kwa GPIO0 au GPIO2 kwenda GND lakini kuiunganisha badala yake kwa pini nyingine ya GPIO ambayo inaendeshwa chini (kama pato) tu baada ya ESP8266 kuanza. Kumbuka, wakati inatumiwa kama matokeo, pini za GPIO hutoa unganisho wa chini sana wa upinzani kwa VCC au GND kulingana na ikiwa inaendeshwa juu au chini.

Hapa tu GPIO0 na GPIO2 zitazingatiwa. Kutumia njia hii unaweza kupata pembejeo moja (1) ya kutumia kwa kutumia hizi mbili (2) za GPIO.

Njia kama hiyo inaweza kutumika kwa GPIO15 kwa kutumia pini nyingine ya GPIO kuunganisha swichi yake kwa + VCC, lakini hii haipati mchango wa ziada, unaweza kutumia tu pini nyingine ya GPIO moja kwa moja kama pembejeo.

Mzunguko hapo juu hutumia moduli ya ESP8266-01 kama mfano. Bila kutumia ujanja huu, ESP8266-01 haina pini yoyote ya bure ya kutumia kama pembejeo ikiwa tayari unatumia pini RX / TX kwa unganisho la UART.

Kwa kuwa njia ya kuweka mchoro () inaendeshwa tu baada ya moduli ya ESP8266 kuanza, ni salama kufanya pato la GPIO0 LOW chini na hivyo kutoa uwanja wa S1 iliyounganishwa na GPIO2. Kisha unaweza kutumia digitalRead (2) mahali pengine kwenye mchoro wako kusoma mpangilio wa kubadili.

Hitimisho

Ujumbe huu mfupi unaonyesha jinsi ya kutumia GPIO0, GPIO2 na GPIO15 kama matokeo na jinsi ya kutumia kupata pembejeo ya ziada ukitumia GPIO0 na GPIO2 pamoja.

Ilipendekeza: