Taula de continguts:

ESP8266 Ús de pins GPIO0 / GPIO2 / GPIO15: 4 passos
ESP8266 Ús de pins GPIO0 / GPIO2 / GPIO15: 4 passos

Vídeo: ESP8266 Ús de pins GPIO0 / GPIO2 / GPIO15: 4 passos

Vídeo: ESP8266 Ús de pins GPIO0 / GPIO2 / GPIO15: 4 passos
Vídeo: DAY 02 - ESP8266 Introduction & IDE Installation 2024, De novembre
Anonim
ESP8266 Ús de pins GPIO0 / GPIO2 / GPIO15
ESP8266 Ús de pins GPIO0 / GPIO2 / GPIO15

Actualització 1 de juliol de 2018: es va afegir una nota sobre la reprogramació quan GPIO0 és una sortida

Aquesta és una nota molt breu sobre com utilitzar els pins GPIO0 / GPIO2 i GPIO15 al mòdul ESP8266.

Actualització: consulteu també Com s'utilitzen els pins ESP8266-01

Introducció

ESP8266 és un xip habilitat per a wifi de baix cost. Es presenta en una gran varietat de tipus de mòduls i es pot programar de diverses maneres. Tots els mòduls fan que GPIO0 i GPIO2 siguin accessibles. La majoria de mòduls, diferents de l’ESP8266-01, també fan accessible GPIO15. Aquests GPIO controlen com s’inicia el mòdul i, per tant, requereixen un maneig especial si s’han d’utilitzar. GPIO6-GPIO11 també requereixen un tractament especial tal com es descriu a continuació.

Pas 1: clavilles de GPIO Flash: GPIO6 a GPIO11

La majoria de les plaques ESP8266 tenen un xip flash connectat a alguns o tots els GPIO6-GPIO11. La majoria dels programes fan servir memòria flash, així com RAM, de manera que, tret que us assegureu específicament que el vostre codi només s’executa a partir de RAM, no podeu utilitzar aquests pins per a altres finalitats.

El nombre exacte de pins utilitzats en el rang GPIO6 a GPIO11 depèn del tipus de maquinari flash utilitzat al vostre mòdul. Quad IO utilitza 4 línies per a dades (6 pins en total) fins a 4 vegades la velocitat de l’estàndard. Dual IO utilitza 2 línies per a dades (4 pins en total) L'estàndard utilitza una sola línia per a dades (3 pins en total).

Tret que sàpiga exactament el que requereix el vostre tauler, és millor ignorar GPIO6 a GPIO11 i no fer-hi referència des del vostre codi.

Pas 2: pins GPIO0, GPIO2 i GPIO15

GPIO0, GPIO2 i GPIO15 Pins
GPIO0, GPIO2 i GPIO15 Pins

Aquests pins determinen en quin mode s’inicia el xip.

Per a l'execució normal del programa, GPIO0 i GPIO2 s'han d'arrossegar fins a Vcc (3.3V) i GPIO15 s'han d'arrossegar a GND, cadascun amb una resistència d'entre 2K i 10K. Una resistència de 2K proporciona una millor immunitat contra el soroll. OLIMEX utilitza resistències 2K SparkFun utilitza resistències 10K. Faig servir resistències 3K3.

La configuració d’aquestes entrades només es comprova durant l’encesa (o el reinici) del xip. Després, els pins estan disponibles per a ús general, però, tal com es descriu a continuació, el seu ús queda restringit per aquestes resistències externes de pujada / baixada.

Pas 3: utilitzar GPIO0, GPIO2 i GPIO15 com a sortides

Utilitzant GPIO0, GPIO2 i GPIO15 com a sortides
Utilitzant GPIO0, GPIO2 i GPIO15 com a sortides

Com s’ha indicat anteriorment, aquests pins ja tindran una resistència connectada a VCC (GPIO0 i GPIO2) o GND per a GPIO15. Això determina com s’ha de connectar qualsevol dispositiu extern, com un relé o led + resistència. Per a GPIO0 i GPIO2, s’ha de connectar un relé extern entre VCC i el pin perquè no interfereixi en l’acció de la resistència de tracció. Per contra, un relé extern connectat a GPIO15 ha de connectar-se entre GND i el pin, de manera que no interfereixi amb l'acció de la resistència de baixada.

Per activar el dispositiu extern, GPIO0 o GPIO2 han de ser conduïts BAIX (Active LOW) mentre que GPIO15 ha de ser HIGH (Active HIGH).

L'esquema anterior mostra com utilitzar GPIO0 i GPIO2 i GPIO15 com a sortides. Aquest circuit també inclou les resistències de desplegament / desplegament necessàries. Tingueu en compte que el mòdul de relé de 5 V impulsat per GPIO0 està aïllat opto i té una connexió comuna independent per a l'entrada. És important que la tensió VCCA de 5V no s’apliqui al pin ESP8266.

Com reprogramar quan s'utilitza GPIO0 com a sortida

Nota: Cal connectar GPIO0 a terra per entrar al mode de programació. Si l’esbós el porta elevat, la posada a terra us pot danyar el xip ESP8266. La manera segura de reprogramar l’ESP8266 quan el vostre codi impulsa la sortida GPIO0 és: - a) Apagar la placa b) GPIO0 curt a gnd c) engegar la placa que entra en mode programa a causa del curt de GPIO0 d) treure el curt de GPIO0 perquè no reduïu la sortida quan s'executa el programa e) reprogrameu la placa f) cicleu la placa si cal.

Pas 4: utilitzar GPIO0, GPIO2 i GPIO15 com a entrades

Utilitzant GPIO0, GPIO2 i GPIO15 com a entrades
Utilitzant GPIO0, GPIO2 i GPIO15 com a entrades

L’ús d’aquests pins com a entrades és una mica complicat. Com s’ha indicat anteriorment a l’engegada i durant el reinici, aquests passadors s’han d’estirar cap amunt o cap avall segons sigui necessari perquè el mòdul ESP8266 s’engegui en mode de funcionament normal. Això vol dir que, en general, no es pot connectar un commutador extern a aquests pins, ja que en engegar-se normalment no es pot garantir que el commutador no tirarà l'entrada a terra i, per tant, evitarà que el mòdul s'iniciï correctament.

El truc és no connectar l’interruptor extern directament des del GPIO0 o GPIO2 a GND, sinó connectar-lo a un altre pin GPIO que es condueix a terra (com a sortida) només després de l’engegada de l’ESP8266. Recordeu que, quan s’utilitzen com a sortides, els pins GPIO proporcionen una connexió de resistència molt baixa tant a VCC com a GND, depenent de si es mouen ALTA o BAIXA.

Aquí només es consideraran GPIO0 i GPIO2. Mitjançant aquest mètode podeu obtenir una (1) entrada addicional mitjançant aquests dos (2) GPIO.

Es pot utilitzar un mètode similar per a GPIO15 mitjançant un altre pin GPIO per connectar el seu commutador a + VCC, però això no obté una entrada addicional, també podeu utilitzar l’altre pin GPIO directament com a entrada.

El circuit anterior utilitza el mòdul ESP8266-01 com a exemple. Sense fer servir aquest truc, l’ESP8266-01 no té cap pin lliure per utilitzar com a entrada si ja utilitzeu els pins RX / TX per a una connexió UART.

Com que el mètode setup () de l’esbós només s’executa després que s’iniciï el mòdul ESP8266, és segur que la sortida GPIO0 sigui BAIXA i, per tant, proporcioni una terra per a S1 connectat a GPIO2. A continuació, podeu utilitzar digitalRead (2) en qualsevol altre lloc del croquis per llegir la configuració del commutador.

Conclusió

Aquesta breu nota mostra com s'utilitzen GPIO0, GPIO2 i GPIO15 com a sortides i com s'utilitza per obtenir una entrada addicional mitjançant GPIO0 i GPIO2 junts.

Recomanat: