Obsah:

ESP8266 pomocí kolíků GPIO0/GPIO2/GPIO15: 4 kroky
ESP8266 pomocí kolíků GPIO0/GPIO2/GPIO15: 4 kroky

Video: ESP8266 pomocí kolíků GPIO0/GPIO2/GPIO15: 4 kroky

Video: ESP8266 pomocí kolíků GPIO0/GPIO2/GPIO15: 4 kroky
Video: Arduino a ESP8266 (Petr Stehlík) 2024, Listopad
Anonim
ESP8266 pomocí kolíků GPIO0/GPIO2/GPIO15
ESP8266 pomocí kolíků GPIO0/GPIO2/GPIO15

Aktualizace 1. července 2018-Přidána poznámka k přeprogramování, když je výstupem GPIO0

Toto je velmi krátká poznámka k používání pinů GPIO0 / GPIO2 a GPIO15 na modulu ESP8266.

Aktualizace: Podívejte se také na Jak používat piny ESP8266-01

Úvod

ESP8266 je levný čip s podporou WiFi. Dodává se v různých typech modulů a lze jej naprogramovat různými způsoby. Všechny moduly zpřístupňují GPIO0 a GPIO2. Většina modulů, kromě ESP8266-01, také zpřístupňuje GPIO15. Tyto GPIO řídí, jak se modul spouští, a proto vyžadují zvláštní zacházení, pokud mají být vůbec použity. GPIO6-GPIO11 také vyžadují speciální zacházení, jak je popsáno níže.

Krok 1: Flash GPIO piny - GPIO6 až GPIO11

Většina desek ESP8266 má flash čip připojený k některému nebo ke všem GPIO6-GPIO11. Většina programů používá flash paměť, stejně jako RAM, takže pokud konkrétně nezajistíte, aby váš kód běžel pouze z RAM, nemůžete tyto piny používat k jiným účelům.

Přesný počet pinů použitých v rozsahu GPIO6 až GPIO11 závisí na typu hardwaru flash použitého ve vašem modulu. Quad IO využívá 4 řádky pro data (celkem 6 pinů) až pro čtyřnásobek rychlosti standardu. Duální IO používá pro data 2 řádky (celkem 4 piny) Standard používá pro data jeden řádek (celkem 3 piny).

Pokud nevíte přesně, co vaše deska vyžaduje, je nejlepší ignorovat GPIO6 až GPIO11 a neodkázat se na ně z vašeho kódu.

Krok 2: Piny GPIO0, GPIO2 a GPIO15

Piny GPIO0, GPIO2 a GPIO15
Piny GPIO0, GPIO2 a GPIO15

Tyto piny určují, v jakém režimu se čip spouští.

Pro normální provádění programu musí být GPIO0 a GPIO2 vytaženy do Vcc (3,3 V) a GPIO15 musí být vytaženy do GND, každý s rezistorem v rozsahu 2K až 10K rezistoru. Rezistor 2K poskytuje lepší odolnost proti rušení. OLIMEX používá 2K odpory SparkFun používá 10K odpory. Používám odpory 3K3.

Nastavení těchto vstupů se kontroluje pouze při zapnutí (nebo resetu) čipu. Poté jsou kolíky k dispozici pro obecné použití, ale jak je popsáno níže, jejich použití je omezeno těmito externími odpínači nahoru/dolů.

Krok 3: Použití výstupů GPIO0, GPIO2 a GPIO15

Jako výstupy jsou použity GPIO0, GPIO2 a GPIO15
Jako výstupy jsou použity GPIO0, GPIO2 a GPIO15

Jak bylo uvedeno výše, tyto piny již budou mít odpor připojený buď k VCC (GPIO0 a GPIO2) nebo GND pro GPIO15. To určuje, jak musí být připojeno jakékoli externí zařízení, jako je relé nebo LED+odpor. U GPIO0 a GPIO2 musí být mezi VCC a pin připojeno externí relé, aby nerušilo činnost pull up rezistoru. Naopak externí relé připojené k GPIO15 musí být připojeno mezi GND a pinem, aby nerušilo činnost stahovacího odporu.

Chcete -li aktivovat externí zařízení, musí být GPIO0 nebo GPIO2 řízeno LOW (Active LOW), zatímco GPIO15 musí být řízeno HIGH (Active HIGH).

Výše uvedené schéma ukazuje, jak použít GPIO0 a GPIO2 a GPIO15 jako výstupy. Tento obvod také obsahuje potřebné odpínače pro vytažení/rozepnutí. Všimněte si, že 5V reléový modul poháněný GPIO0 je opto-izolovaný a má samostatné společné připojení pro vstup. Je důležité, aby na kolík ESP8266 nebylo aplikováno napětí 5V VCCA.

Jak přeprogramovat při použití GPIO0 jako výstupu

Poznámka: GPIO0 musí být uzemněn, aby se dostal do režimu programování. Pokud ji skica žene vysoko, uzemnění vám může poškodit čip ESP8266. Bezpečný způsob, jak přeprogramovat ESP8266, když váš kód řídí výstup GPIO0, je:- a) vypnout desku b) zkratovat GPIO0 až gnd c) zapnout desku, která přejde do programového režimu kvůli zkratu na GPIO0 d) odstranit zkrat z GPIO0, abyste nezkratovali výstup při spuštění programu e) přeprogramujte desku f) v případě potřeby desku vypněte a zapněte.

Krok 4: Použití GPIO0, GPIO2 a GPIO15 jako vstupů

Jako vstupy jsou použity GPIO0, GPIO2 a GPIO15
Jako vstupy jsou použity GPIO0, GPIO2 a GPIO15

Použití těchto pinů jako vstupů je trochu ošidné. Jak je uvedeno výše při zapnutí a během resetu, tyto kolíky je třeba vytáhnout nahoru nebo dolů podle potřeby, aby se modul ESP8266 spustil v normálním provozním režimu. To obecně znamená, že k těmto kolíkům nemůžete jen připojit externí spínač, protože při zapnutí obvykle nemůžete zaručit, že přepínač nebude tahat vstup na zem, a zabráníte tak správnému spuštění modulu.

Jde o to nepřipojit externí přepínač přímo z GPIO0 nebo GPIO2 na GND, ale připojit jej místo toho k jinému GPIO pinu, který je připojen k zemi (jako výstup), až po spuštění ESP8266. Pamatujte, že když jsou GPIO piny použity jako výstupy, poskytují připojení s velmi nízkým odporem k VCC nebo GND v závislosti na tom, zda jsou napájeny HIGH nebo LOW.

Zde budou brány v úvahu pouze GPIO0 a GPIO2. Pomocí této metody můžete získat jeden (1) přídavný vstup pomocí těchto dvou (2) GPIO.

Podobnou metodu lze použít pro GPIO15 pomocí jiného GPIO pinu k připojení jeho přepínače k +VCC, ale tím nezískáte další vstup, můžete také použít jiný pin GPIO přímo jako vstup.

Výše uvedený obvod používá jako příklad modul ESP8266-01. Bez použití tohoto triku nemá ESP8266-01 žádné volné piny, které by bylo možné použít jako vstup, pokud již používáte piny RX/TX pro připojení UART.

Vzhledem k tomu, že metoda setup () skici je spuštěna až po spuštění modulu ESP8266, je bezpečné nastavit výstup GPIO0 na NÍZKOU, a tak poskytnout uzemnění pro S1 připojený k GPIO2. Potom můžete použít digitalRead (2) jinde v náčrtu ke čtení nastavení přepínače.

Závěr

Tato krátká poznámka ukazuje, jak použít GPIO0, GPIO2 a GPIO15 jako výstupy a jak získat další vstup pomocí GPIO0 a GPIO2 dohromady.

Doporučuje: