Obsah:

ESP8266 pomocou pinov GPIO0/GPIO2/GPIO15: 4 kroky
ESP8266 pomocou pinov GPIO0/GPIO2/GPIO15: 4 kroky

Video: ESP8266 pomocou pinov GPIO0/GPIO2/GPIO15: 4 kroky

Video: ESP8266 pomocou pinov GPIO0/GPIO2/GPIO15: 4 kroky
Video: NodeMCU V3 ESP8266 - обзор, подключение и прошивка в Arduino IDE 2024, November
Anonim
ESP8266 pomocou pinov GPIO0/GPIO2/GPIO15
ESP8266 pomocou pinov GPIO0/GPIO2/GPIO15

Aktualizácia 1. júla 2018-Pridaná poznámka k preprogramovaniu, keď je výstupom GPIO0

Toto je veľmi krátka poznámka o tom, ako používať piny GPIO0 / GPIO2 a GPIO15 na module ESP8266.

Aktualizácia: Prečítajte si tiež Ako používať piny ESP8266-01

Úvod

ESP8266 je nízkonákladový čip s podporou WiFi. Dodáva sa v rôznych typoch modulov a dá sa naprogramovať rôznymi spôsobmi. Všetky moduly sprístupňujú GPIO0 a GPIO2. Väčšina modulov, iných ako ESP8266-01, tiež sprístupňuje GPIO15. Tieto GPIO riadia spôsob spustenia modulu a ako také vyžadujú špeciálne zaobchádzanie, ak sa majú vôbec používať. GPIO6-GPIO11 tiež vyžaduje špeciálne zaobchádzanie, ako je popísané nižšie.

Krok 1: Flash GPIO piny - GPIO6 až GPIO11

Väčšina dosiek ESP8266 má flash čip pripojený k niektorému alebo ku všetkým GPIO6-GPIO11. Väčšina programov používa pamäť flash, ako aj pamäť RAM, takže pokiaľ sa konkrétne nezabezpečíte, aby váš kód bežal iba z pamäte RAM, nemôžete tieto piny používať na iné účely.

Presný počet pinov použitých v rozsahu GPIO6 až GPIO11 závisí od typu hardvéru blesku použitého vo vašom module. Quad IO používa 4 riadky na údaje (celkom 6 pinov) až 4 -násobok rýchlosti štandardu. Duálny IO používa pre údaje 2 riadky (celkom 4 piny) Štandardný používa pre údaje jeden riadok (celkom 3 piny).

Pokiaľ presne neviete, čo vaša doska vyžaduje, je najlepšie GPIO6 až GPIO11 ignorovať a neodkazovať na ne z kódu.

Krok 2: Piny GPIO0, GPIO2 a GPIO15

Kolíky GPIO0, GPIO2 a GPIO15
Kolíky GPIO0, GPIO2 a GPIO15

Tieto kolíky určujú, v akom režime sa čip spustí.

Na normálne vykonávanie programu je potrebné vytiahnuť GPIO0 a GPIO2 na Vcc (3,3 V) a GPIO15 na GND, každý s odporom v rozsahu 2K až 10K rezistora. Rezistor 2K poskytuje lepšiu odolnosť proti šumu. OLIMEX používa 2K odpory SparkFun používa 10K odpory. Používam odpory 3K3.

Nastavenia týchto vstupov sa kontrolujú iba počas zapínania (alebo resetovania) čipu. Potom sú kolíky k dispozícii na všeobecné použitie, ale ako je uvedené nižšie, ich použitie je obmedzené týmito vonkajšími odpínačmi typu pull up/down.

Krok 3: Použitie výstupu GPIO0, GPIO2 a GPIO15

Ako výstupy sú použité GPIO0, GPIO2 a GPIO15
Ako výstupy sú použité GPIO0, GPIO2 a GPIO15

Ako je uvedené vyššie, tieto kolíky už budú mať odpor pripojený buď k VCC (GPIO0 a GPIO2) alebo GND pre GPIO15. Toto určuje, ako musí byť pripojené akékoľvek externé zariadenie, napríklad relé alebo LED+odpor. Pri GPIO0 a GPIO2 musí byť medzi VCC a kolíkom zapojené externé relé, aby nerušilo činnosť pull up rezistora. Naopak, externé relé pripojené k GPIO15 musí byť zapojené medzi GND a pin, aby nerušilo činnosť sťahovacieho odporu.

Ak chcete aktivovať externé zariadenie, na GPIO0 alebo GPIO2 musíte jazdiť LOW (aktívny LOW), zatiaľ čo na GPIO15 musíte jazdiť HIGH (aktívny HIGH).

Schéma vyššie ukazuje, ako použiť GPIO0 a GPIO2 a GPIO15 ako výstupy. Tento obvod tiež obsahuje potrebné pullup/pulldown odpory. Všimnite si toho, že 5V reléový modul poháňaný GPIO0 je opto-izolovaný a má samostatné spoločné pripojenie pre vstup. Je dôležité, aby napätie 5V VCCA nebolo privedené na kolík ESP8266.

Ako preprogramovať pri použití GPIO0 ako výstupu

Poznámka: GPIO0 je potrebné uzemniť, aby ste sa dostali do režimu programovania. Ak to skica poháňa vysoko, uzemnenie vám môže poškodiť čip ESP8266. Bezpečný spôsob preprogramovania ESP8266, keď váš kód poháňa výstup GPIO0, je:- a) vypnúť dosku, b) skratovať GPIO0 až gnd, c) zapnúť dosku, ktorá prejde do režimu programu kvôli skratu na GPIO0 d) odstrániť skrat z GPIO0, aby ste neskratovali výstup pri spustení programu e) preprogramujte dosku f) v prípade potreby dosku napájajte.

Krok 4: Použitie vstupov GPIO0, GPIO2 a GPIO15

Ako vstupy sú použité GPIO0, GPIO2 a GPIO15
Ako vstupy sú použité GPIO0, GPIO2 a GPIO15

Použitie týchto pinov ako vstupov je trochu zložité. Ako je uvedené vyššie pri zapnutí a počas resetovania, tieto kolíky je potrebné vytiahnuť nahor alebo nadol podľa potreby, aby sa modul ESP8266 spustil v normálnom prevádzkovom režime. To vo všeobecnosti znamená, že k týmto kolíkom nemôžete pripojiť iba externý spínač, pretože pri zapnutí zvyčajne nemôžete zaručiť, že prepínač nebude ťahať vstup na zem, a tak zabrániť správnemu spusteniu modulu.

Ide o to, nepripájať externý prepínač priamo z GPIO0 alebo GPIO2 na GND, ale namiesto toho ho pripojiť k inému pinu GPIO, ktorý je vyvedený na zem (ako výstup) až po spustení ESP8266. Pamätajte si, že keď sú GPIO piny použité ako výstupy, poskytujú veľmi nízke odporové pripojenie k VCC alebo GND v závislosti od toho, či sú poháňané HIGH alebo LOW.

Tu budú brané do úvahy iba GPIO0 a GPIO2. Pomocou tejto metódy môžete získať jeden (1) prídavný vstup pomocou týchto dvoch (2) GPIO.

Podobnú metódu je možné použiť aj pre GPIO15 pomocou iného GPIO pinu na pripojenie jeho prepínača k +VCC, ale tým sa nezíska ďalší vstup, môžete tiež použiť druhý pin GPIO priamo ako vstup.

Vyššie uvedený obvod používa ako príklad modul ESP8266-01. Bez použitia tohto triku nemá ESP8266-01 žiadne voľné piny, ktoré by sa dali použiť ako vstup, ak už používate piny RX/TX na pripojenie UART.

Pretože metóda setup () náčrtu je spustená až po spustení modulu ESP8266, je bezpečné potom nastaviť výstup GPIO0 na NÍZKU a tak poskytnúť uzemnenie pre S1 pripojený k GPIO2. Potom môžete použiť digitalRead (2) na inom mieste náčrtu na prečítanie nastavenia prepínača.

Záver

Táto krátka poznámka ukazuje, ako používať výstupy GPIO0, GPIO2 a GPIO15 a ako získať ďalší vstup pomocou GPIO0 a GPIO2 dohromady.

Odporúča: