Talaan ng mga Nilalaman:
- Panimula
- Hakbang 1: Flash Pins GPIO - GPIO6 hanggang GPIO11
- Hakbang 2: GPIO0, GPIO2 at GPIO15 Mga Pin
- Hakbang 3: Paggamit ng GPIO0, GPIO2 at GPIO15 Bilang Mga Paglabas
- Hakbang 4: Paggamit ng GPIO0, GPIO2 at GPIO15 Bilang Mga Pag-input
- Konklusyon
Video: ESP8266 Paggamit ng GPIO0 / GPIO2 / GPIO15 Pins: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
I-update ang Hulyo 1, 2018 - Nagdagdag ng tala sa muling pag-program kapag ang GPIO0 ay isang output
Ito ay isang napakaikling tala sa kung paano gamitin ang GPIO0 / GPIO2 at GPIO15 na mga pin sa module na ESP8266.
Update: Suriin din kung Paano gamitin ang mga pin ng ESP8266-01
Panimula
Ang ESP8266 ay isang maliit na gastos na pinagana ng wifi. Dumating ito sa iba't ibang mga uri ng module at maaaring mai-program sa iba't ibang mga paraan. Lahat ng mga module ay ginagawang naa-access ang GPIO0 at GPIO2. Karamihan sa mga module, maliban sa ESP8266-01, ay ginagawang ma-access din ang GPIO15. Ang mga kontrol ng GPIO kung paano nagsisimula ang module at tulad nito ay nangangailangan ng espesyal na paghawak kung gagamitin man sila. Ang GPIO6-GPIO11 ay nangangailangan din ng espesyal na paggamot tulad ng inilarawan sa ibaba.
Hakbang 1: Flash Pins GPIO - GPIO6 hanggang GPIO11
Karamihan sa mga board ng ESP8266 ay may isang flash chip na konektado sa ilan o lahat ng GPIO6-GPIO11. Karamihan sa mga programa ay gumagamit ng flash memory, pati na rin ang RAM, kaya maliban kung partikular mong tiyakin na tatakbo lamang ang iyong code mula sa RAM, hindi mo magagamit ang mga pin na ito para sa iba pang mga layunin.
Ang eksaktong bilang ng mga pin na ginamit sa saklaw na GPIO6 hanggang GPIO11 ay nakasalalay sa uri ng flash hardware na ginamit sa iyong module. Gumagamit ang Quad IO ng 4 na linya para sa data (kabuuang 6 na pin) hanggang sa 4 na beses ang bilis ng pamantayan. Gumagamit ang Dual IO ng 2 mga linya para sa data (kabuuang 4 na pin) Ang karaniwang gumagamit ng isang solong linya para sa data (kabuuan ng 3 mga pin).
Maliban kung alam mo nang eksakto kung ano ang kinakailangan ng iyong board, mas mabuti na huwag mo nalang pansinin ang GPIO6 sa GPIO11 at huwag silang tingnan mula sa iyong code.
Hakbang 2: GPIO0, GPIO2 at GPIO15 Mga Pin
Natutukoy ng mga pin na ito kung anong mode ang pagsisimula ng maliit na tilad.
Para sa normal na pagpapatupad ng programa ang GPIO0 at GPIO2 ay kailangang hilahin hanggang sa Vcc (3.3V) at ang GPIO15 ay kailangang hilahin sa GND, bawat isa ay may isang risistor sa saklaw na 2K hanggang 10K risistor. Ang isang resistor ng 2K ay nagbibigay ng mas mahusay na kaligtasan sa ingay. Gumagamit ang OLIMEX ng 2 resistors na SparkFun ay gumagamit ng 10K resistors. Gumagamit ako ng 3K3 resistors.
Ang mga setting ng mga input na ito ay nasuri lamang sa panahon ng power up (o i-reset) ng maliit na tilad. Pagkatapos nito ay magagamit ang mga pin para sa pangkalahatang paggamit, ngunit tulad ng tinalakay sa ibaba ang kanilang paggamit ay pinaghihigpitan ng mga panlabas na pull up / down resistors.
Hakbang 3: Paggamit ng GPIO0, GPIO2 at GPIO15 Bilang Mga Paglabas
Tulad ng nabanggit sa itaas, ang mga pin na ito ay magkakaroon ng isang risistor na konektado sa alinman sa VCC (GPIO0 at GPIO2) o GND para sa GPIO15. Tinutukoy nito kung paano dapat kumonekta ang anumang panlabas na aparato, tulad ng isang relay o led + resistor. Para sa GPIO0 at GPIO2, ang isang panlabas na relay ay dapat na konektado sa pagitan ng VCC at ng pin upang hindi ito makagambala sa pagkilos ng pull up risistor. Sa kabaligtaran isang panlabas na relay na konektado sa GPIO15 ay dapat na konektado sa pagitan ng GND at ng pin upang hindi makagambala sa pagkilos ng pull down resistor.
Upang maisaaktibo ang panlabas na aparato, ang GPIO0 o GPIO2 ay dapat na hinimok na mababa
Ipinapakita ng eskematiko sa itaas kung paano gamitin ang GPIO0 at GPIO2 at GPIO15 bilang mga output. Ang circuit na ito ay may kasamang kinakailangang pullup / pulldown resistors din. Tandaan na ang module ng 5V relay na hinimok ng GPIO0 ay opto-integrated at mayroong isang hiwalay na karaniwang koneksyon para sa pag-input. Mahalaga na ang boltahe ng 5V VCCA ay hindi inilalapat sa pin ng ESP8266.
Paano magprogram ulit kapag gumagamit ng GPIO0 bilang isang output
Tandaan: Ang GPIO0 ay kailangang saligan upang makapasok sa mode ng pagprograma. Kung sketch mo ay hinihimok ito mataas, saligan maaari itong makapinsala sa iyo ng ESP8266 chip. Ang ligtas na paraan upang muling maprograma ang ESP8266 kapag hinihimok ng iyong code ang output ng GPIO0 ay ang: - a) I-power down ang board b) maikling GPIO0 upang gnd c) paganahin ang board na pumapasok sa program mode dahil sa maikling sa GPIO0 d) alisin ang maikli mula sa GPIO0 upang hindi mo maikli ang output kapag nagpapatakbo ang programa e) muling pagprogram ng board f) pag-ikot ng kuryente sa board kung kinakailangan.
Hakbang 4: Paggamit ng GPIO0, GPIO2 at GPIO15 Bilang Mga Pag-input
Ang paggamit ng mga pin na ito bilang mga pag-input ay medyo nakakalito. Tulad ng nabanggit sa itaas sa lakas pataas, at sa panahon ng pag-reset, ang mga pin na ito ay dapat na hilahin pataas o pababa tulad ng kinakailangan upang simulan ang module ng ESP8266 sa normal na mode na tumatakbo. Nangangahulugan ito, sa pangkalahatan, hindi mo maaaring maglakip lamang ng isang panlabas na paglipat sa mga pin na ito sapagkat sa lakas up ay karaniwang hindi mo ginagarantiyahan ang switch ay hindi mahahatak ang input sa lupa at sa gayon pigilan ang module na magsimula nang tama.
Ang trick ay upang hindi ikonekta ang panlabas na switch nang direkta mula sa GPIO0 o GPIO2 sa GND ngunit upang ikonekta ito sa halip sa isa pang GPIO pin na hinihimok sa lupa (bilang isang output) pagkatapos lamang magsimula ang ESP8266. Tandaan, kapag ginamit bilang mga output, ang mga GPIO pin ay nagbibigay ng isang napakababang koneksyon sa paglaban sa alinman sa VCC o GND depende sa kung hinihimok sila ng TAAS o Mababa.
Dito lamang GPIO0 at GPIO2 ang isasaalang-alang. Gamit ang pamamaraang ito maaari kang makakuha ng isang (1) karagdagan na pag-input gamit ang dalawang (2) GPIO na ito.
Ang isang katulad na pamamaraan ay maaaring magamit para sa GPIO15 sa pamamagitan ng paggamit ng isa pang GPIO pin upang ikonekta ang switch nito sa + VCC, ngunit hindi ito nakakakuha ng dagdag na input, maaari mo ring gamitin ang iba pang GPIO pin nang direkta bilang isang input.
Ang circuit sa itaas ay gumagamit ng module na ESP8266-01 bilang isang halimbawa. Nang hindi ginagamit ang trick na ito, ang ESP8266-01 ay walang anumang mga libreng pin upang magamit bilang isang input kung gumagamit ka na ng mga pin na RX / TX para sa isang koneksyon sa UART.
Dahil ang pamamaraan ng pag-setup () ng sketch ay tatakbo lamang pagkatapos magsimula ang module ng ESP8266, ligtas na gawing LOW ang output ng GPIO0 at kaya magbigay ng isang lupa para sa S1 na konektado sa GPIO2. Maaari mo nang magamit ang digitalRead (2) sa ibang lugar sa iyong sketch upang mabasa ang setting ng switch.
Konklusyon
Ipinapakita ng maikling tala kung paano gamitin ang GPIO0, GPIO2 at GPIO15 bilang mga output at kung paano gamitin ang makakuha ng isang labis na input gamit ang GPIO0 at GPIO2 nang magkasama.
Inirerekumendang:
Pagsubaybay sa Bilis ng Paggamit ng Raspberry Pi at AIS328DQTR Paggamit ng Python: 6 Hakbang
Pagsubaybay sa Bilis ng Paggamit ng Raspberry Pi at AIS328DQTR Paggamit ng Python: Ang pagpapabilis ay may hangganan, sa palagay ko ayon sa ilang mga batas ng Physics.- Terry Riley Ang isang cheetah ay gumagamit ng kamangha-manghang pagpabilis at mabilis na mga pagbabago sa bilis kapag humabol. Ang pinaka dalubhasang nilalang sa pampang nang minsan ay gumagamit ng pinakamataas na bilis upang mahuli ang biktima. Ang
Neopixel Ws2812 Rainbow LED Glow With M5stick-C - Tumatakbo ang Rainbow sa Neopixel Ws2812 Paggamit ng M5stack M5stick C Paggamit ng Arduino IDE: 5 Hakbang
Neopixel Ws2812 Rainbow LED Glow With M5stick-C | Pagpapatakbo ng Rainbow sa Neopixel Ws2812 Paggamit ng M5stack M5stick C Paggamit ng Arduino IDE: Kumusta mga tao sa mga itinuturo na ito matututunan natin kung paano gamitin ang neopixel ws2812 LEDs o led strip o led matrix o led ring na may m5stack m5stick-C development board na may Arduino IDE at gagawin namin isang pattern ng bahaghari kasama nito
RF 433MHZ Radio Control Paggamit ng HT12D HT12E - Paggawa ng isang Rf Remote Control Paggamit ng HT12E & HT12D Sa 433mhz: 5 Hakbang
RF 433MHZ Radio Control Paggamit ng HT12D HT12E | Ang paggawa ng isang Rf Remote Control Paggamit ng HT12E & HT12D Sa 433mhz: Sa itinuturo na ito ipapakita ko sa iyo kung paano gumawa ng isang remote control ng RADIO gamit ang 433mhz transmitter receiver module na may HT12E encode & HT12D decoder IC. Sa itinuturo na ito maaari kang magpadala at makatanggap ng data gamit ang napaka murang mga KOMPONENS Tulad: HT
Pagdidisenyo ng PCB at Paghiwalay ng Paggamit ng Paggamit lamang ng Libreng Software: 19 Hakbang (na may Mga Larawan)
Pagdidisenyo at Pag-iisa ng PCB Paggamit ng Tanging Libreng Software: Sa Instructable na ito ipapakita ko sa iyo kung paano mag-disenyo at gumawa ng iyong sariling mga PCB, eksklusibong gumagamit ng libreng software na tumatakbo sa Windows pati na rin sa isang Mac. Mga bagay na kailangan mo: computer na may koneksyon sa internet cnc galingan / router, mas tumpak ang pusta
DHT 11 Paggamit ng Paggamit ng Arduino: 5 Hakbang
DHT 11 Gamit ang Paggamit ng Arduino: Hai, Sa itinuturo na ito ay gagawa kami ng DHT 11 gamit ang arduino at serial monitor. Ang DHT11 ay isang pangunahing, sobrang murang digital na temperatura ng digital at sensor ng halumigmig. Gumagamit ito ng capacitive sensor ng kahalumigmigan at isang thermistor upang masukat ang nakapalibot na hangin,