Pinout del ESP8266

El ESP8266 ofrece la ventaja de disponer de una cantidad considerable de pines GPIO según tus necesidades. Sin embargo, es crucial prestar mucha atención a los detalles de la asignación de pines. No todos los pines GPIO del ESP8266 son seguros para usar.

Es importante mencionar que la referencia de pines que se proporciona a continuación corresponde a la ampliamente utilizada placa de desarrollo ESP8266 NodeMCU de 30 pines.

placa de desarrollo ESP8266 NodeMCU NodeMCU

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Protoboard
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Periféricos y E/S de ESP8266

El ESP8266 NodeMCU cuenta con un total de 17 pines GPIO distribuidos a lo largo de ambos lados de la placa de desarrollo mediante cabeceras de pines. Estos pines son versátiles y pueden asignarse a diversas funciones periféricas, incluyendo:

  • 9 pines de entrada/salida digitales:
  • 1 canal ADC: Proporciona un único canal con precisión de 10 bits en un ADC SAR.
  • 2 interfaces UART: Con soporte para control de flujo.
  • 4 salidas PWM: Ofrecen cuatro pines PWM para regular aspectos como la velocidad del motor o el brillo de los LEDs.
  • 2 interfaces SPI: Equipadas con dos interfaces SPI para conectar diversos sensores y periféricos.
  • 1 interfaz I2C: Incorporando una interfaz I2C para conectar una variedad de sensores y periféricos.
  • 1 interfaz I2S: Incluyendo una interfaz I2S para incorporar sonido en tu proyecto.

ESP8266 Esquema de pines

El ESP8266 NodeMCU cuenta con un total de 30 pines, organizados para una funcionalidad fácil de usar. Consulta el diagrama de pines a continuación para explorar la distribución:

Pinout de ESP8266 NodeMCU NodeMCU

Ahora, vamos a sumergirnos en los pines individuales del ESP8266 y desentrañar sus funciones específicas.

Pines de Entrada/Salida Digital

Entre los 30 pines de la placa ESP8266 NodeMCU, puedes usar 9 pines para la entrada/salida digital. Entre estos 9 pines, 5 pines son seguros para usar; los otros 4 pines también pueden usarse como entrada/salida digital, pero con precaución.

Dentro de los 30 pines de la placa ESP8266 NodeMCU, 9 pines pueden utilizarse para fines de entrada/salida digitales. En detalle:

  • 5 pines son aptos para usar como pines de entrada/salida digitales.
  • 4 pines también pueden usarse como pines de entrada/salida digitales, pero requieren un manejo cuidadoso.
  • Todos los 9 pines pueden configurarse con resistencias de pull-up o pull-down internas (en el chip), o configurarse en alta impedancia.

La tabla de abajo muestra qué pines son seguros para usar y qué pines deben usarse con precaución.

GPIO Pin Label Safe to use? Reason
GPIO16 D0
!
HIGH at boot, used to wake up from deep sleep
GPIO5 D1
GPIO4 D2
GPIO0 D3
!
connected to FLASH button, boot fails if pulled LOW. On-board 10k external pull-up resistor
GPIO2 D4
!
HIGH at boot, boot fails if pulled LOW. On-board 10k external pull-up resistor
GPIO14 D5
GPIO12 D6
GPIO13 D7
GPIO15 D8
!
Required for boot, boot fails if pulled HIGH. On-board 10k external pull-down resistor
GPIO3 RX
RX pin, used for flashing and debugging
GPIO1 TX
TX pin, used for flashing and debugging
GPIO6 CLK
Connected to Flash memory
GPIO7 SDO
Connected to Flash memory
GPIO11 CMD
Connected to Flash memory
GPIO8 SD1
Connected to Flash memory
GPIO9 SD2
Connected to Flash memory
GPIO10 SD3
Connected to Flash memory
ADC0 A0
Can be used as the analog input pin only.


Legend
These are your top-priority pins, absolutely safe for use. No concerns here.
!
Pay close attention because their behavior, particularly during boot, can be unpredictable. Also pay attention to their on-board external pull-up/pull-down resistors. Use them only when absolutely necessary.
These pins should NOT be used as digital input/output pins.

La imagen de abajo muestra qué pines GPIO se pueden usar como pines de entrada/salida digitales.

Pines de entrada y salida digitales del ESP8266 NodeMCU NodeMCU

Cómo programar para pines de entrada/salida digitales de ESP8266.

Puede utilizar las siguientes funciones para manipular los pines de entrada/salida digitales del ESP8266.

Por favor, ten en cuenta que debes usar la etiqueta del pin en el código. Por ejemplo, el pin GPIO5 (D1):

void setup() { pinMode(D1, OUTPUT); } void loop() { digitalWrite(D1, HIGH); delay(1000); digitalWrite(D1, LOW); delay(1000); }

Ejemplos de uso del pin de entrada digital del ESP8266:

Ejemplos de uso del pin de salida digital del ESP8266:

Pines del ADC

El ESP8266 viene equipado con un convertidor analógico-digital (ADC) de precisión de 10 bits, que le permite distinguir 1024 (2^10) niveles analógicos distintos. Esencialmente, convierte voltajes de entrada dentro del rango de 0 a 3,3 V (voltaje de operación) en valores enteros que van desde 0 hasta 1024. En consecuencia, esta configuración genera una resolución de 3,3 voltios divididos por 1024 unidades, equivalente a 0,0032 voltios (3,2 mV) por unidad.

Pin ADC de ESP8266 NodeMCU NodeMCU

Ejemplo de código para usar el ADC en ESP8266:

void setup() { Serial.begin(9600); } void loop() { int adc = analogRead(A0); Serial.println(adc); // the raw analog reading }

Ejemplos de sensores analógicos que utilizan el pin A0 del ESP8266:

Pines SPI

El ESP8266 dispone de dos interfaces SPI (SPI y HSPI) en modos maestro y esclavo. Estas interfaces SPI también soportan las características SPI de uso general que se enumeran a continuación:

  • 4 modos de temporización de la transferencia en formato SPI
  • Hasta 80 MHz y los relojes divididos de 80 MHz
  • FIFO de 64 bytes
Pines SPI del ESP8266 NodeMCU NodeMCU

Ejemplos de uso de los pines SPI del ESP8266:

Pines I2C

El ESP8266 no tiene pines I2C integrados, pero aún puedes hacer que funcione mediante 'bitbanging'. Funciona bien, y el ESP8266 es lo suficientemente rápido como para igualar el rendimiento que se espera de Arduino.

Por defecto, GPIO4 (SDA) y GPIO5 (SCL) se configuran como pines I2C para simplificar las cosas para quienes usan código Arduino existente, bibliotecas y sketches.

Sin embargo, tienes la libertad de elegir otros dos pines GPIO para I2C utilizando wire.begin(SDA, SCL) en el IDE de Arduino.

Pines I2C del ESP8266 NodeMCU NodeMCU

Ejemplos de uso de los pines I2C del ESP8266:

Pines UART

El ESP8266 cuenta con dos interfaces UART, UART0 y UART2, que permiten la comunicación asíncrona (RS232 y RS485) a velocidades impresionantes de hasta 4,5 Mbps. Esta capacidad los hace adecuados para aplicaciones de transferencia de datos de alta velocidad.

  • UART0 (los pines TXD0, RXD0, RST0 y CTS0) se utiliza para la comunicación.
  • UART1 (el pin TXD1) solo presenta una señal de transmisión de datos y normalmente se utiliza para imprimir registros.
Pines UART de ESP8266 NodeMCU NodeMCU

RXD0 y TXD0 funcionan como los pines de control serie y de arranque para el módulo ESP, desempeñando un papel crucial en la comunicación con el módulo. Son especialmente importantes durante el proceso de carga del bootloader. Por lo tanto, debes tener cuidado al usarlos, ya que están conectados al convertidor USB-serial y, por lo tanto, recibirán tráfico USB.

Pines PWM

Cada pin GPIO del ESP8266, que va desde GPIO0 hasta GPIO15, es programable para generar salidas de modulación por ancho de pulso (PWM).

La señal PWM en el ESP8266 ofrece una resolución de 10 bits, brindando un control preciso de la salida. Además, el rango de frecuencia del PWM es configurable, variando desde 1000 μs hasta 10000 μs, lo que equivale a un rango de frecuencia flexible entre 100 Hz y 1 kHz. Esta adaptabilidad la hace adecuada para una amplia gama de aplicaciones que requieren diferentes configuraciones de PWM.

Pines de alimentación

  • El pin VIN ofrece una opción conveniente para alimentar directamente el ESP8266 y sus periféricos cuando se suministra una fuente de alimentación regulada de 5 V.
  • El pin 3V3 sirve como la salida del regulador de voltaje a bordo, capaz de proporcionar un sustancial 600 mA. Esto lo convierte en una fuente confiable para alimentar dispositivos y componentes conectados.
  • GND funciona como el pin de tierra, estableciendo el punto de referencia eléctrico para el ESP8266 y los dispositivos conectados. Garantiza una tierra común para el sistema, manteniendo conexiones eléctricas estables y adecuadas.

Pines de interrupción

Cada GPIO (Entrada/Salida de Propósito General) en el ESP8266, excepto GPIO16, puede configurarse como una interrupción.

Esto significa que cada GPIO, desde GPIO0 hasta GPIO15, puede configurarse para activar una interrupción, lo que permite al ESP8266 responder a eventos específicos o cambios en los estados de entrada. GPIO16, sin embargo, no admite esta configuración de interrupción. Esta flexibilidad en el uso de interrupciones mejora la versatilidad del ESP8266 para manejar eventos en tiempo real e interacciones con dispositivos externos.

Pines SDIO

El ESP8266 está equipado con una única interfaz SDIO esclava (Secure Digital Input/Output Interface) diseñada para conectar tarjetas SD. Soporta tanto SDIO v1.1 en modo de 4 bits a 25 MHz como SDIO v2.0 en modo de 4 bits a 50 MHz.

Esta característica permite una integración fluida de las tarjetas SD con el ESP8266, proporcionando capacidades de transferencia de datos a alta velocidad y compatibilidad con diferentes versiones de SDIO. Ya sea utilizando SDIO v1.1 o v2.0, el ESP8266 ofrece versatilidad para conectar y acceder a los datos de las tarjetas SD de manera eficiente.

Pines de control

  • El pin EN (también conocido como CH_PD o Chip Power Down) actúa como el pin de habilitación para el ESP8266 y se mantiene en alto por defecto. Cuando se establece en ALTO, el chip queda habilitado, permitiendo su funcionamiento normal. Por el contrario, cuando se lleva a BAJO, el chip se desactiva, apagándolo efectivamente.
  • El pin RST funciona como el pin de reinicio para el ESP8266, y se mantiene en alto por defecto. Cuando se lleva brevemente a tierra, se activa un reinicio para el ESP8266, similar a pulsar el botón RST en la placa.
  • El pin FLASH es utilizado por el ESP8266 para determinar si debe arrancar en el bootloader. Mantener el pin en BAJO durante el encendido inicia el proceso de arranque en el bootloader, similar a pulsar el botón FLASH en la placa.
  • El pin WAKE se emplea para despertar el ESP8266 del modo de sueño profundo, permitiendo que el dispositivo reanude su funcionamiento normal después de haber estado en un estado de bajo consumo.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!