El ESP8266 es un módulo WiFi muy popular entre los aficionados de la electrónica y la programación. Una de las cosas más importantes a tener en cuenta al trabajar con este dispositivo es la distribución de pines. En esta referencia de distribución de pines ESP8266, aprenderás todo lo que necesitas saber para sacarle el máximo provecho a tu módulo. ¡Sigue leyendo para descubrirlo!
Una de las cosas buenas del ESP8266 es que tiene una gran cantidad de pines GPIO con los que trabajar. No es necesario hacer malabares ni multiplexar sus pines IO. Sin embargo, hay algunas cosas a tener en cuenta, así que lea atentamente la distribución de pines.
Nota:
Tenga en cuenta que la siguiente referencia de distribución de pines es para el popular conector de 30 pines. ESP8266 NodoMCU Tablero de desarrollo.
No todas las placas de desarrollo ESP8266 exponen todos los pines, pero cada pin funciona exactamente igual sin importar qué placa de desarrollo utilice.
Periféricos y E/S ESP8266
El ESP8266 NodeMCU tiene un total de 17 pines GPIO distribuidos en los cabezales de pines en ambos lados de la placa de desarrollo. A estos pines se les pueden asignar varias tareas periféricas, que incluyen:
1 canal ADC | ADC SAR de precisión de 1 canal y 10 bits |
2 interfaces UART | 2 interfaces UART con soporte de control de flujo |
4 salidas PWM | 4 pines PWM para controlar cosas como la velocidad del motor o el brillo del LED |
2 interfaces SPI y 1 I2C | Dos interfaces SPI y una I2C para conectar varios sensores y dispositivos periféricos |
interfaz I2S | Una interfaz I2S para agregar sonido a su proyecto |
Gracias al ESP8266 Multiplexación de pines Característica que permite que múltiples periféricos compartan un solo pin GPIO. Es decir, un solo pin GPIO puede realizar funciones como I2C, I2S, UART y PWM, etc.
Puede encontrar información detallada sobre el ESP8266 en la hoja de datos.
Configuración de pines ESP8266
El ESP8266 NodeMCU tiene un total de 30 pines. Por conveniencia, los pines con funcionalidad similar se agrupan. La asignación de pines es la siguiente:
Echemos un vistazo más de cerca a los pines del ESP8266 y sus funciones individualmente.
ESP8266 pines GPIO
El ESP8266 NodeMCU tiene 17 pines GPIO a los que se les pueden asignar diferentes funciones programando los registros correspondientes. Cada GPIO se puede configurar con pull-up o pull-down interno o configurarse en alta impedancia.
¿Qué GPIO ESP8266 son seguros de usar?
Aunque el ESP8266 tiene muchos pines con diferentes funciones, es posible que algunos de ellos no sean adecuados para sus proyectos. La siguiente tabla muestra qué plumas son seguras de usar y cuáles deben usarse con precaución.
- – Tus pines de mayor prioridad. Son absolutamente seguros de usar.
- – Esté atento porque su comportamiento, especialmente durante el arranque, puede ser impredecible. Úsalos sólo cuando sea absolutamente necesario.
- – Se recomienda evitar el uso de estos bolígrafos.
etiqueta | GPIO | ¿Seguro de usar? | Razón |
D0 | GPIO16 | ALTO al arrancar, se utiliza para despertar del sueño profundo. | |
D1 | GPIO5 | ||
D2 | GPIO4 | ||
D3 | GPIO0 | conectado al botón FLASH, el inicio falla cuando se coloca en BAJO | |
D4 | GPIO2 | ALTO al arrancar, el arranque falla cuando se coloca en BAJO | |
D5 | GPIO14 | ||
D6 | GPIO12 | ||
D7 | GPIO13 | ||
D8 | GPIO15 | Requerido para el inicio. El inicio falla si se establece en ALTO | |
RX | GPIO3 | Pin Rx utilizado para flashear y depurar | |
Texas | GPIO1 | Pin Tx utilizado para flashear y depurar | |
CLK | GPIO6 | Conectado a la memoria flash | |
SDO | GPIO7 | Conectado a la memoria flash | |
CMD | GPIO11 | Conectado a la memoria flash | |
SD1 | GPIO8 | Conectado a la memoria flash | |
SD2 | GPIO9 | Conectado a la memoria flash | |
SD3 | GPIO10 | Conectado a la memoria flash | |
A0 | ADC0 | Pin de entrada analógica, no se puede configurar como salida |
La siguiente imagen muestra qué pines GPIO son seguros de usar.
ESP8266 pines del ADC
El ESP8266 está equipado con un ADC SAR de precisión de 10 bits, lo que significa que puede detectar 1024 (2^10) niveles analógicos discretos. En otras palabras, convierte voltajes de entrada en el rango de 0 a 3,3 V (voltaje de funcionamiento) en valores enteros en el rango de 0 a 1024. Esto da como resultado una resolución de 3,3 voltios/1024 unidades o 0,0032 voltios (3,2 mV) por unidad.
Las siguientes dos mediciones se pueden realizar con ADC. Sin embargo, no pueden implementarse al mismo tiempo.
- Mida la tensión de alimentación de VDD3P3 (Pin3 y Pin4).
- Mida el voltaje de entrada de A0.
ESP8266 pines SPI
ESP8266 tiene dos SPI (SPI y HSPI) en modo esclavo y maestro. Estos SPI también admiten las características generales de SPI que se enumeran a continuación:
- 4 modos de sincronización de transmisión en formato SPI
- Hasta 80 MHz y los relojes compartidos de 80 MHz.
- FIFO de hasta 64 bytes
Es posible utilizar SPI “bitbanging” en cualquier pin.
ESP8266 pines I2C
El ESP8266 no tiene pines I2C de hardware, pero esto se puede hacer mediante bitbanging. Funciona bastante bien y el ESP8266 es lo suficientemente rápido como para alcanzar velocidades de “nivel Arduino”.
De forma predeterminada, GPIO4 (SDA) y GPIO5 (SCL) se utilizan como pines I2C para facilitar a los usuarios el uso de códigos, bibliotecas y bocetos existentes de Arduino.
Sin embargo, puede usar otros dos pines GPIO como pines I2C llamando wire.begin(SDA, SCL)
en el IDE de Arduino.
ESP8266 pines UART
El ESP8266 tiene dos interfaces UART, UART0 y UART2, que admiten comunicación asíncrona (RS232 y RS485) de hasta 4,5 Mbit/s.
- UART0 (pines TXD0, RXD0, RST0 y CTS0) se utiliza para la comunicación.
- UART1 (pin TXD1) solo tiene una señal de transmisión de datos y generalmente se usa para protocolos de impresión.
RXD0 y TXD0 son los pines de control de serie y carga de arranque. Se utilizan principalmente para comunicarse con el módulo ESP.
Por lo tanto, debe tener cuidado al utilizar estos dispositivos, ya que están conectados a través del convertidor de USB a serie y, por lo tanto, reciben tráfico USB.
ESP8266 pines pwm
Todos los pines GPIO del ESP8266, desde GPIO0 hasta GPIO15, se pueden programar para producir salidas moduladas por ancho de pulso (PWM).
Con el ESP8266, la señal PWM tiene una resolución de 10 bits y el rango de frecuencia PWM se puede configurar entre 1000 μs y 10000 μs, es decir, entre 100 Hz y 1 kHz.
ESP8266 pines SDIO
El ESP8266 tiene un SDIO (interfaz de entrada/salida digital segura) esclavo para conectar tarjetas SD. Se admiten SDIO v1.1 (4 bits 25 MHz) y SDIO v2.0 (4 bits 50 MHz).
ESP8266 Pines de alimentación
El pin VIN se puede utilizar para alimentar directamente el ESP8266 y sus periféricos si tiene una fuente de alimentación regulada de 5V.
El pin 3V3 es la salida del regulador de voltaje integrado; Puede obtener hasta 600 mA.
GND es el pin de tierra.
ESP8266 romper pasadores
Todos los GPIO se pueden configurar como interrupciones, excepto GPIO16.
ESP8266 Pasadores de control
El pin EN (también conocido como CH_PD o Chip Power Down) es el pin de habilitación para el ESP8266, que está configurado en Alto de forma predeterminada. Cuando el chip se eleva ALTO, se activa. cuando se baja, el chip se desactiva.
El pin RST es el pin de reinicio para el ESP8266, elevado de forma predeterminada. Si se tira al suelo momentáneamente, el ESP8266 se reiniciará. Esto equivale a presionar el botón RST integrado.
El ESP8266 utiliza el pin FLASH para determinar cuándo iniciar el gestor de arranque. Si el pin se mantiene bajo al encender, ¡comenzará la carga de arranque! Esto equivale a presionar el botón FLASH integrado.
El pin WAKE se utiliza para despertar el ESP8266 del sueño profundo.
Periféricos y E/S del ESP8266
El ESP8266 NodeMCU tiene en total 17 pines GPIO, que se distribuyen en los encabezados de pines en ambos lados de la placa de desarrollo. Estos pines pueden ser asignados a diversas funciones periféricas, incluyendo:
- 1 canal de ADC con precisión de 10 bits
- 2 interfaces UART
- 4 salidas PWM
- 2 interfaces SPI y 1 interfaz I2C
- 1 interfaz I2S
Gracias a la función de multiplexado de pines del ESP8266, un solo pin GPIO puede desempeñar funciones como I2C, I2S, UART y PWM, entre otras.
Referencia de Pines ESP8266
El ESP8266 NodeMCU tiene un total de 30 pines. Para mayor conveniencia, los pines con funcionalidades similares están agrupados juntos. La distribución de pines es la siguiente:
Pines GPIO del ESP8266
El ESP8266 NodeMCU tiene 17 pines GPIO que pueden asignársele diferentes funciones mediante la programación de los registros correspondientes. Cada GPIO puede configurarse con pull-up interno, pull-down o como alta impedancia.
¿Qué GPIOs del ESP8266 son seguros de usar?
Si bien el ESP8266 cuenta con varios pines con diversas funciones, algunos de ellos pueden no ser adecuados para tus proyectos. A continuación te mostramos qué pines son seguros de usar y cuáles debes usar con precaución:
- Verde: Tus pines de máxima prioridad. Son perfectamente seguros para usar.
- Amarillo: Presta mucha atención, ya que su comportamiento, especialmente durante el arranque, puede ser impredecible. Úsalos solo cuando sea absolutamente necesario.
- Rojo: Se recomienda evitar usar estos pines.
Pines ADC del ESP8266
El ESP8266 viene integrado con un ADC SAR de precisión de 10 bits, lo que le permite detectar 1024 niveles analógicos discretos. Esto brinda una resolución de 3.2 mV por unidad para convertir voltajes de 0 a 3.3V en valores enteros de 0 a 1024.
Interesante artículo, me ayudó a entender mejor cómo distribuir los pines del ESP8266. ¡Gracias por compartir!
¡Muy útil el artículo! Me sacó de varias confusiones que tenía sobre la referencia de distribución de pines del ESP8266. ¡Gracias por la claridad y la información!
Me encantó este artículo, me explico de manera muy clara y concisa cómo distribuir los pines del ESP8266. ¡Gracias por la ayuda!
¡Excelente post! Me aclaró todas mis dudas sobre cómo distribuir los pines del ESP8266. ¡Gracias por la ayuda!
¡Buen artículo! Me resolvió muchas dudas sobre la distribución de pines del ESP8266. ¡Gracias por la información!