Tabla de contenido:
- Introducción
- Paso 1: Flash GPIO Pines - GPIO6 a GPIO11
- Paso 2: Pines GPIO0, GPIO2 y GPIO15
- Paso 3: uso de GPIO0, GPIO2 y GPIO15 como salidas
- Paso 4: Usar GPIO0, GPIO2 y GPIO15 como entradas
- Conclusión
Video: ESP8266 usando pines GPIO0 / GPIO2 / GPIO15: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Actualización del 1 de julio de 2018: se agregó una nota sobre la reprogramación cuando GPIO0 es una salida
Esta es una nota muy breve sobre cómo usar los pines GPIO0 / GPIO2 y GPIO15 en el módulo ESP8266.
Actualización: consulte también Cómo usar los pines ESP8266-01
Introducción
ESP8266 es un chip habilitado para wifi de bajo costo. Viene en una variedad de tipos de módulos y se puede programar de varias formas. Todos los módulos hacen que GPIO0 y GPIO2 sean accesibles. La mayoría de los módulos, además del ESP8266-01, también hacen que GPIO15 sea accesible. Estos GPIO controlan cómo se inicia el módulo y, como tales, requieren un manejo especial si se van a utilizar. GPIO6-GPIO11 también requieren un tratamiento especial como se describe a continuación.
Paso 1: Flash GPIO Pines - GPIO6 a GPIO11
La mayoría de las placas ESP8266 tienen un chip flash conectado a algunos o todos los GPIO6-GPIO11. La mayoría de los programas usan memoria flash, así como RAM, por lo que, a menos que te asegures específicamente de que tu código solo se ejecute desde la RAM, no puedes usar estos pines para otros fines.
El número exacto de pines utilizados en el rango GPIO6 a GPIO11 depende del tipo de hardware flash utilizado en su módulo. Quad IO usa 4 líneas para datos (6 pines en total) para hasta 4 veces la velocidad estándar. E / S dual usa 2 líneas para datos (4 pines en total) El estándar usa una sola línea para datos (3 pines en total).
A menos que sepa exactamente lo que requiere su placa, es mejor simplemente ignorar GPIO6 a GPIO11 y no consultarlos desde su código.
Paso 2: Pines GPIO0, GPIO2 y GPIO15
Estos pines determinan en qué modo se inicia el chip.
Para la ejecución normal del programa, GPIO0 y GPIO2 deben subirse a Vcc (3.3V) y GPIO15 debe llevarse a GND, cada uno con una resistencia en el rango de resistencia de 2K a 10K. Una resistencia de 2K ofrece una mejor inmunidad al ruido. OLIMEX usa resistencias de 2K SparkFun usa resistencias de 10K. Yo uso resistencias 3K3.
La configuración de estas entradas solo se verifica durante el encendido (o reinicio) del chip. Después de eso, los pines están disponibles para uso general, pero como se explica a continuación, su uso está restringido por estas resistencias externas de subida / bajada.
Paso 3: uso de GPIO0, GPIO2 y GPIO15 como salidas
Como se señaló anteriormente, estos pines ya tendrán una resistencia conectada a VCC (GPIO0 y GPIO2) o GND para GPIO15. Esto determina cómo se debe conectar cualquier dispositivo externo, como un relé o led + resistencia. Para GPIO0 y GPIO2, se debe conectar un relé externo entre VCC y el pin para que no interfiera con la acción de la resistencia pull up. Por el contrario, un relé externo conectado a GPIO15 debe estar conectado entre GND y el pin para que no interfiera con la acción de la resistencia de extracción.
Para activar el dispositivo externo, GPIO0 o GPIO2 deben estar en BAJO (Activo BAJO) mientras que GPIO15 debe estar en ALTO (Activo ALTO).
El esquema anterior muestra cómo usar GPIO0 y GPIO2 y GPIO15 como salidas. Este circuito también incluye las resistencias pullup / pulldown necesarias. Tenga en cuenta que el módulo de relé de 5 V impulsado por GPIO0 está optoaislado y tiene una conexión común separada para la entrada. Es importante que el voltaje VCCA de 5 V no se aplique al pin ESP8266.
Cómo reprogramar cuando se usa GPIO0 como salida
Nota: GPIO0 debe estar conectado a tierra para entrar en el modo de programación. Si el boceto lo está conduciendo alto, conectarlo a tierra puede dañar su chip ESP8266. La forma segura de reprogramar el ESP8266 cuando su código impulsa la salida GPIO0 es: - a) Apagar la placa b) acortar GPIO0 a gnd c) encender la placa que entra en modo de programa debido al cortocircuito en GPIO0 d) quitar el corto de GPIO0 para que no cortocircuite la salida cuando se ejecuta el programa e) reprogramar la placa f) apagar y encender la placa si es necesario.
Paso 4: Usar GPIO0, GPIO2 y GPIO15 como entradas
Usar estos pines como entradas es un poco complicado. Como se indicó anteriormente en el encendido y durante el reinicio, estos pines se deben tirar hacia arriba o hacia abajo según sea necesario para que el módulo ESP8266 se inicie en el modo de funcionamiento normal. Esto significa que, en general, no puede simplemente conectar un interruptor externo a estos pines porque en el momento del encendido, por lo general, no puede garantizar que el interruptor no tire de la entrada a tierra y, por lo tanto, impida que el módulo se inicie correctamente.
El truco es no conectar el interruptor externo directamente desde GPIO0 o GPIO2 a GND, sino conectarlo a otro pin GPIO que se conecta a tierra (como salida) solo después de que se inicia el ESP8266. Recuerde, cuando se usan como salidas, los pines GPIO brindan una conexión de muy baja resistencia a VCC o GND dependiendo de si están en ALTO o BAJO.
Aquí solo se considerarán GPIO0 y GPIO2. Con este método, puede obtener una (1) entrada de suma usando estos dos (2) GPIO.
Se puede usar un método similar para GPIO15 usando otro pin GPIO para conectar su interruptor a + VCC, pero esto no obtiene una entrada adicional, también puede usar el otro pin GPIO directamente como entrada.
El circuito anterior usa el módulo ESP8266-01 como ejemplo. Sin usar este truco, el ESP8266-01 no tiene pines libres para usar como entrada si ya está usando pines RX / TX para una conexión UART.
Dado que el método setup () del boceto solo se ejecuta después de que se inicia el módulo ESP8266, es seguro hacer que la salida GPIO0 sea BAJA y así proporcionar una tierra para S1 conectado a GPIO2. Luego, puede usar digitalRead (2) en otra parte de su boceto para leer la configuración del interruptor.
Conclusión
Esta breve nota muestra cómo usar GPIO0, GPIO2 y GPIO15 como salidas y cómo usar para obtener una entrada adicional usando GPIO0 y GPIO2 juntos.
Recomendado:
Pantalla de 4 dígitos y 7 segmentos 14 pines con Arduino: 3 pasos
Pantalla de 4 dígitos y 7 segmentos 14 pines con Arduino: Siempre es una buena idea probar si un dispositivo funciona correctamente o no si ese componente tiene una gran cantidad de pines. En este proyecto, he probado mi pantalla de 4 dígitos, 7 segmentos y 14 pines. Todos los 7 segmentos mostrarán 0 a 9 al mismo tiempo
Cómo usar los pines GPIO de una Raspberry Pi y Avrdude para el programa Bit-bang DIMP 2 o DA PIMP 2: 9 pasos
Cómo usar los pines GPIO de una Raspberry Pi y Avrdude to Bit-bang-program DIMP 2 o DA PIMP 2: estas son instrucciones paso a paso sobre cómo usar una Raspberry Pi y el comando de código abierto gratuito avrdude to bit-bang -programe un DIMP 2 o DA PIMP 2. Supongo que está familiarizado con su Raspberry Pi y la línea de comandos LINUX. No tienes que
Usando los 4 pines del ESP8266-01: 3 pasos
Usando los 4 pines del ESP8266-01: Nota: Este proyecto es básicamente una extensión de un instructable anterior que solo usaba 2 pines. El número limitado (4) de pines GPIO en el ESP8266-01 puede parecer un obstáculo, para cualquier aplicación seria. Sin embargo, si uno usa los pines de una manera inteligente, es
ESP8266-NODEMCU $ 3 Módulo WiFi # 2 - Pines inalámbricos que controlan a través de la PÁGINA WEB: 9 pasos (con imágenes)
ESP8266-NODEMCU $ 3 Módulo WiFi # 2 - Control de pines inalámbricos a través de la PÁGINA WEB: Ha llegado un nuevo mundo de microcomputación y esto es el ESP8266 NODEMCU. Esta es la primera parte que muestra cómo puede instalar el entorno del esp8266 en su IDE arduino a través del video de introducción y como las partes en
Enchufe ISP de 6 pines a 8 pines: 4 pasos
Enchufe ISP de 6 pines a 8 pines: La razón por la que construí este proyecto principalmente fue para programar el ATTiny45, que tiene una conexión de 8 pines, mientras que mi USBtinyISP (de Ladyada) solo tiene una conexión de 10 pines y 6 pines. Después de husmear en Internet durante aproximadamente 3-4 semanas, no encontré nada qué