Satura rādītājs:

ESP8266 Izmantojot GPIO0/GPIO2/GPIO15 tapas: 4 soļi
ESP8266 Izmantojot GPIO0/GPIO2/GPIO15 tapas: 4 soļi

Video: ESP8266 Izmantojot GPIO0/GPIO2/GPIO15 tapas: 4 soļi

Video: ESP8266 Izmantojot GPIO0/GPIO2/GPIO15 tapas: 4 soļi
Video: Как запрограммировать модуль реле Wi-Fi ESP8266 ESP-01 2024, Novembris
Anonim
ESP8266 Izmantojot GPIO0/GPIO2/GPIO15 tapas
ESP8266 Izmantojot GPIO0/GPIO2/GPIO15 tapas

Atjauninājums 2018. gada 1. jūlijs-pievienota piezīme par pārprogrammēšanu, kad GPIO0 ir izvade

Šī ir ļoti īsa piezīme par to, kā izmantot GPIO0 / GPIO2 un GPIO15 tapas ESP8266 modulī.

Atjauninājums: pārbaudiet arī Kā izmantot ESP8266-01 tapas

Ievads

ESP8266 ir lēta wifi iespējota mikroshēma. Tam ir dažādi moduļu veidi, un to var ieprogrammēt dažādos veidos. Visi moduļi nodrošina piekļuvi GPIO0 un GPIO2. Lielākā daļa moduļu, izņemot ESP8266-01, arī padara GPIO15 pieejamu. Šie GPIO kontrolē moduļa palaišanu un tādēļ tiem ir nepieciešama īpaša apstrāde, ja tie vispār jāizmanto. GPIO6-GPIO11 nepieciešama arī īpaša apstrāde, kā aprakstīts tālāk.

1. darbība: zibatmiņas GPIO tapas - no GPIO6 līdz GPIO11

Lielākajai daļai ESP8266 plates ir zibspuldze, kas savienota ar dažiem vai visiem GPIO6-GPIO11. Lielākā daļa programmu izmanto zibatmiņu, kā arī operatīvo atmiņu, tādēļ, ja neesat īpaši pārliecinājies, ka jūsu kods darbojas tikai no RAM, jūs nevarat izmantot šīs tapas citiem mērķiem.

Precīzs tapu skaits, kas tiek izmantots diapazonā no GPIO6 līdz GPIO11, ir atkarīgs no jūsu modulī izmantotās zibspuldzes aparatūras veida. Quad IO izmanto 4 rindas datiem (kopā 6 tapas) līdz pat 4 reizēm ātrāk nekā standarta. Dual IO datiem izmanto 2 rindas (kopā 4 tapas) Standarts datiem izmanto vienu rindu (kopā 3 tapas).

Ja vien jūs precīzi nezināt, ko prasa jūsu dēlis, vislabāk ir vienkārši ignorēt GPIO6 uz GPIO11 un neatsaukties uz tiem no sava koda.

2. darbība: GPIO0, GPIO2 un GPIO15 tapas

GPIO0, GPIO2 un GPIO15 tapas
GPIO0, GPIO2 un GPIO15 tapas

Šīs tapas nosaka mikroshēmas palaišanas režīmu.

Normālai programmas izpildei GPIO0 un GPIO2 ir jāvelk līdz Vcc (3.3V), un GPIO15 jāvelk līdz GND, katrs ar rezistoru diapazonā no 2K līdz 10K. 2K rezistors nodrošina labāku trokšņa necaurlaidību. OLIMEX izmanto 2K rezistorus SparkFun izmanto 10K rezistorus. Es izmantoju 3K3 rezistorus.

Šo ieeju iestatījumi tiek pārbaudīti tikai mikroshēmas ieslēgšanas (vai atiestatīšanas) laikā. Pēc tam tapas ir pieejamas vispārējai lietošanai, taču, kā aprakstīts tālāk, to izmantošanu ierobežo šie ārējie uzvilkšanas/nolaišanas rezistori.

3. darbība: GPIO0, GPIO2 un GPIO15 izmantošana kā izejas

Izmantojot GPIO0, GPIO2 un GPIO15 kā izejas
Izmantojot GPIO0, GPIO2 un GPIO15 kā izejas

Kā minēts iepriekš, šīm tapām jau būs rezistors, kas savienots ar VCC (GPIO0 un GPIO2) vai GND GPIO15. Tas nosaka, kā jāpievieno jebkura ārēja ierīce, piemēram, relejs vai led+rezistors. GPIO0 un GPIO2 starp VCC un tapu jāpievieno ārējs relejs, lai tas netraucētu pacelšanas rezistora darbību. Un otrādi, ārējais relejs, kas savienots ar GPIO15, ir jāpievieno starp GND un tapu tā, lai tas netraucētu nolaižamā rezistora darbību.

Lai aktivizētu ārējo ierīci, GPIO0 vai GPIO2 ir jābrauc LOW (Active LOW), bet GPIO15 jābrauc ar HIGH (Active HIGH).

Iepriekš redzamā shēma parāda, kā izmantot GPIO0 un GPIO2 un GPIO15 kā izejas. Šajā shēmā ietilpst arī nepieciešamie pievilkšanas/nolaižamie rezistori. Ņemiet vērā, ka 5V releja modulis, ko darbina GPIO0, ir optoizolēts, un tam ir atsevišķs kopējs ieejas savienojums. Ir svarīgi, lai 5V VCCA spriegums netiktu pielietots ESP8266 tapai.

Kā pārprogrammēt, izmantojot GPIO0 kā izvadi

Piezīme: lai piekļūtu programmēšanas režīmam, GPIO0 ir jābūt iezemētam. Ja jūs ieskicējat to uz augšu, iezemēšana var sabojāt ESP8266 mikroshēmu. Drošs veids, kā pārprogrammēt ESP8266, kad jūsu kods vada GPIO0 izvadi, ir:- a) izslēgt dēli; b) īsi no GPIO0 līdz gnd; c) ieslēgt plāksni, kas nonāk programmas režīmā, jo trūkst GPIO0; d) noņemt īssavienojums no GPIO0, lai programmas izpildes laikā neizlaistu izeju. e) pārprogrammējiet plati; f) ja nepieciešams, ieslēdziet barošanas ciklu.

4. darbība: GPIO0, GPIO2 un GPIO15 izmantošana kā ieejas

Izmantojot GPIO0, GPIO2 un GPIO15 kā ieejas
Izmantojot GPIO0, GPIO2 un GPIO15 kā ieejas

Šo tapu izmantošana kā ieeja ir nedaudz sarežģīta. Kā minēts iepriekš par ieslēgšanu un atiestatīšanas laikā, šīs tapas ir jāvelk uz augšu vai uz leju, kā nepieciešams, lai ESP8266 modulis sāktu darboties normālā darbības režīmā. Tas nozīmē, ka parasti jūs nevarat vienkārši piestiprināt ārējo slēdzi pie šīm tapām, jo, ieslēdzot, jūs parasti nevarat garantēt, ka slēdzis nevelk ievadi pie zemes un tādējādi neļauj modulim pareizi startēt.

Triks ir nevis savienot ārējo slēdzi tieši no GPIO0 vai GPIO2 ar GND, bet gan savienot to ar citu GPIO tapu, kas tiek pieslēgta pie zemes (kā izeja) tikai pēc ESP8266 palaišanas. Atcerieties, ka, izmantojot GPIO tapas kā izejas, tās nodrošina ļoti zemu pretestības savienojumu ar VCC vai GND atkarībā no tā, vai tās tiek darbinātas HIGH vai LOW.

Šeit tiks ņemti vērā tikai GPIO0 un GPIO2. Izmantojot šo metodi, jūs varat iegūt vienu (1) pievienošanas ievadi, izmantojot šos divus (2) GPIO.

Līdzīgu metodi var izmantot GPIO15, izmantojot citu GPIO tapu, lai savienotu slēdzi ar +VCC, taču tas neiegūst papildu ievadi, bet jūs varat arī izmantot citu GPIO tapu tieši kā ievadi.

Iepriekšējā shēma kā piemēru izmanto moduli ESP8266-01. Neizmantojot šo triku, ESP8266-01 nav brīvu tapu, ko izmantot kā ievadi, ja jau izmantojat tapas RX/TX UART savienojumam.

Tā kā skices iestatīšanas () metode tiek palaista tikai pēc ESP8266 moduļa palaišanas, tad ir droši iestatīt GPIO0 izvadi LOW un pēc tam nodrošināt zemi S1, kas savienots ar GPIO2. Pēc tam jūs varat izmantot digitalRead (2) citur savā skicē, lai izlasītu slēdža iestatījumu.

Secinājums

Šī īsa piezīme parāda, kā GPIO0, GPIO2 un GPIO15 izmantot kā izejas un kā izmantot papildu ievadi, izmantojot GPIO0 un GPIO2 kopā.

Ieteicams: