Sadržaj:

ESP8266 Korištenje pinova GPIO0/GPIO2/GPIO15: 4 koraka
ESP8266 Korištenje pinova GPIO0/GPIO2/GPIO15: 4 koraka

Video: ESP8266 Korištenje pinova GPIO0/GPIO2/GPIO15: 4 koraka

Video: ESP8266 Korištenje pinova GPIO0/GPIO2/GPIO15: 4 koraka
Video: P2 ESP01 4CH Relay Module (Subtittled) 2024, Novembar
Anonim
ESP8266 Korištenje pinova GPIO0/GPIO2/GPIO15
ESP8266 Korištenje pinova GPIO0/GPIO2/GPIO15

Ažuriranje 1. jula 2018.-Dodana napomena o ponovnom programiranju kada je izlaz GPIO0

Ovo je vrlo kratka napomena o tome kako koristiti pinove GPIO0 / GPIO2 i GPIO15 na modulu ESP8266.

Ažuriranje: Provjerite i Kako koristiti pinove ESP8266-01

Uvod

ESP8266 je jeftin čip koji podržava WiFi. Dolazi u različitim tipovima modula i može se programirati na različite načine. Svi moduli čine GPIO0 i GPIO2 pristupačnim. Većina modula, osim ESP8266-01, također čini GPIO15 pristupačnim. Ovi GPIO kontroliraju kako se modul pokreće i kao takvi zahtijevaju posebno rukovanje ako se uopće trebaju koristiti. GPIO6-GPIO11 takođe zahteva poseban tretman kao što je dole opisano.

Korak 1: Flash GPIO pinovi - GPIO6 do GPIO11

Većina ploča ESP8266 ima flash čip povezan s nekim ili svim GPIO6-GPIO11. Većina programa koristi flash memoriju, kao i RAM, pa osim ako se posebno pobrinete da vaš kôd radi samo iz RAM -a, ove pinove ne možete koristiti u druge svrhe.

Tačan broj pinova koji se koriste u rasponu GPIO6 do GPIO11 zavisi od vrste flash hardvera koji se koristi na vašem modulu. Quad IO koristi 4 linije za podatke (ukupno 6 pinova) za do 4 puta veću brzinu od standardne. Dvostruki IO koristi 2 linije za podatke (ukupno 4 pina) Standard koristi jednu liniju za podatke (ukupno 3 pina).

Osim ako ne znate što vaša ploča zahtijeva, najbolje je da ignorirate GPIO6 na GPIO11 i ne pozivate se na njih iz svog koda.

Korak 2: Igle GPIO0, GPIO2 i GPIO15

Igle GPIO0, GPIO2 i GPIO15
Igle GPIO0, GPIO2 i GPIO15

Ovi pinovi određuju u kojem načinu se čip pokreće.

Za normalno izvršavanje programa GPIO0 i GPIO2 moraju biti povučeni do Vcc (3.3V), a GPIO15 na GND, svaki sa otpornikom u rasponu od 2K do 10K otpornika. 2K otpornik daje bolju otpornost na buku. OLIMEX koristi 2K otpornike SparkFun koristi 10K otpornike. Koristim 3K3 otpornike.

Postavke ovih ulaza provjeravaju se samo pri uključivanju (ili resetiranju) čipa. Nakon toga su pinovi dostupni za opću upotrebu, ali kao što je dolje objašnjeno njihova upotreba je ograničena ovim vanjskim otpornicima za podizanje/spuštanje.

Korak 3: Korištenje GPIO0, GPIO2 i GPIO15 kao izlaza

Korištenje GPIO0, GPIO2 i GPIO15 kao izlaza
Korištenje GPIO0, GPIO2 i GPIO15 kao izlaza

Kao što je gore navedeno, ove pinove će već imati otpornik spojen ili na VCC (GPIO0 i GPIO2) ili na GND za GPIO15. Ovo određuje kako bilo koji vanjski uređaj, poput releja ili LED+otpornika, mora biti povezan. Za GPIO0 i GPIO2, vanjski relej mora biti spojen između VCC -a i pina tako da ne ometa djelovanje pull -up otpornika. Nasuprot tome, vanjski relej spojen na GPIO15 mora biti spojen između GND -a i pina tako da to ne ometa djelovanje otpornika za povlačenje.

Da biste aktivirali vanjski uređaj, GPIO0 ili GPIO2 moraju se voziti LOW (Active LOW), dok GPIO15 mora biti vođen HIGH (Active HIGH).

Gornja shema prikazuje kako koristiti GPIO0 i GPIO2 i GPIO15 kao izlaze. Ovaj krug uključuje i potrebne otpornike za izvlačenje/povlačenje. Imajte na umu da je relejni modul 5V koji pokreće GPIO0 optički izoliran i ima zasebnu zajedničku vezu za ulaz. Važno je da se 5V VCCA napon ne primjenjuje na pin ESP8266.

Kako reprogramirati kada koristite GPIO0 kao izlaz

Napomena: GPIO0 mora biti uzemljen da biste ušli u način programiranja. Ako skica radi visoko, uzemljenje može oštetiti čip ESP8266. Siguran način za reprogramiranje ESP8266 kada vaš kôd pokreće izlaz GPIO0 je:- a) Isključivanje ploče b) Kratko GPIO0 na gnd c) Uključivanje ploče koja prelazi u programski način zbog kratkog spoja na GPIO0 d) Uklonite kratki spoj iz GPIO0 tako da ne skraćujete izlaz dok se program pokreće e) reprogramirajte ploču f) po potrebi uključite ploču.

Korak 4: Korištenje GPIO0, GPIO2 i GPIO15 kao ulaza

Korištenje GPIO0, GPIO2 i GPIO15 kao ulaza
Korištenje GPIO0, GPIO2 i GPIO15 kao ulaza

Korištenje ovih pinova kao ulaza pomalo je teško. Kao što je gore navedeno pri uključivanju i tijekom resetiranja, ove pinove je potrebno povući prema gore ili prema dolje kako bi se ESP8266 modul pokrenuo u normalnom načinu rada. To znači da općenito ne možete jednostavno priključiti vanjski prekidač na ove pinove jer pri uključivanju obično ne možete garantirati da prekidač neće povući ulaz na masu i tako spriječiti pravilno pokretanje modula.

Trik je u tome da vanjski prekidač ne povežete izravno s GPIO0 ili GPIO2 na GND, već ga umjesto toga spojite na drugi GPIO pin koji se dovodi na masu (kao izlaz) tek nakon pokretanja ESP8266. Upamtite, kada se koriste kao izlazi, GPIO pinovi pružaju vezu vrlo niskog otpora na VCC ili GND, ovisno o tome jesu li pogonjeni VISOKO ili NISKO.

Ovdje će se uzeti u obzir samo GPIO0 i GPIO2. Pomoću ove metode možete dobiti jedan (1) dodatni ulaz pomoću ova dva (2) GPIO -a.

Slična metoda može se koristiti za GPIO15 korištenjem drugog GPIO pina za povezivanje njegovog prekidača na +VCC, ali to ne daje dodatni ulaz, možete koristiti i drugi GPIO pin direktno kao ulaz.

Gore navedeni krug koristi modul ESP8266-01 kao primjer. Bez korištenja ovog trika, ESP8266-01 nema slobodne pinove koje bi mogao koristiti kao ulaz ako već koristite pinove RX/TX za UART vezu.

S obzirom da se metoda setup () skice pokreće tek nakon pokretanja modula ESP8266, tada je sigurno učiniti izlaz GPIO0 NISKIM i tako osigurati uzemljenje za S1 spojen na GPIO2. Zatim možete koristiti digitalRead (2) na drugom mjestu na skici za čitanje postavke prekidača.

Zaključak

Ova kratka napomena pokazuje kako se GPIO0, GPIO2 i GPIO15 koriste kao izlazi i kako se koristi dodatni ulaz pomoću GPIO0 i GPIO2 zajedno.

Preporučuje se: