Referencia de distribución de pines ESP32

La placa de desarrollo ESP32 es conocida por su versatilidad y amplias capacidades, pero a veces puede resultar abrumador descubrir todas las funcionalidades de sus pines. En este artículo, te proporcionaremos una referencia completa de distribución de pines ESP32 para que puedas sacar el máximo provecho de esta potente placa. ¡Sigue leyendo para descubrir todo lo que necesitas saber!

Una de las ventajas del ESP32 es que tiene muchos más GPIO que el ESP8266. No es necesario hacer malabares ni multiplexar sus pines IO. Sin embargo, hay algunas cosas a tener en cuenta, así que lea atentamente el pinout.

Nota:

Tenga en cuenta que la siguiente distribución de pines es para el popular modelo de 30 pines. ESP32 kit de desarrollo v1 Tablero de desarrollo.

Referencia de distribución de pines ESP32

No todas las placas de desarrollo ESP32 proporcionan todos los pines, pero cada pin funciona exactamente igual sin importar qué placa de desarrollo utilice.

Periféricos y E/S ESP32

Aunque el ESP32 48 pines GPIO En total, sólo 25 de ellos están divididos entre los cabezales de pines a ambos lados de la placa de desarrollo. A estos pines se les pueden asignar varias tareas periféricas, que incluyen:

15 canales ADC 15 canales de SAR ADC de 12 bits con rangos seleccionables de 0-1 V, 0-1,4 V, 0-2 V o 0-4 V
2 interfaces UART 2 interfaces UART con control de flujo y soporte IrDA
25 salidas PWM 25 pines PWM para controlar cosas como la velocidad del motor o el brillo del LED
2 canales DAC Dos DAC de 8 bits para generar voltajes analógicos reales
Interfaz SPI, I2C e I2S Tres interfaces SPI y una I2C para conectar varios sensores y periféricos, así como dos interfaces I2S para agregar sonido a su proyecto.
9 paneles táctiles 9 GPIO con detección táctil capacitiva

Gracias al ESP32 Multiplexación de pines Característica que permite que múltiples periféricos compartan un solo pin GPIO. Por ejemplo, un solo pin GPIO puede funcionar como entrada ADC, salida DAC o panel táctil.

Puede encontrar información detallada sobre el ESP32 en la hoja de datos.

Configuración de pines ESP32

La placa de desarrollo ESP32 DevKit V1 tiene un total de 30 pines. Por conveniencia, los pines con funcionalidad similar se agrupan. La asignación de pines es la siguiente:

Referencia de distribución de pines ESP32

Echemos un vistazo más de cerca a los pines ESP32 y sus funciones uno por uno.

ESP32 pines GPIO

La placa de desarrollo ESP32 tiene 25 pines GPIO a los que se les pueden asignar diferentes funciones programando los registros correspondientes. Hay diferentes tipos de GPIO: digitales puros, analógicos habilitados, táctiles capacitivos, etc. Los GPIO analógicos habilitados y los GPIO táctiles capacitivos se pueden configurar como GPIO digitales. La mayoría de estos GPIO digitales se pueden configurar con pull-up o pull-down interno o configurarse en alta impedancia.

Referencia de distribución de pines ESP32

¿Qué GPIO ESP32 son seguros de usar?

Aunque el ESP32 tiene muchos pines con diferentes funciones, algunos de ellos pueden no ser adecuados para tus proyectos. La siguiente tabla muestra qué pines son seguros de usar y cuáles requieren precaución.

  • – Tus pines de mayor prioridad. Son completamente seguros de usar.
  • – Presta mucha atención porque su comportamiento, especialmente al arrancar, puede ser impredecible. Úsalos sólo cuando sea absolutamente necesario.
  • – Se recomienda evitar el uso de estos pines.
etiqueta GPIO ¿Seguro de usar? Razón
T0 0 debe ser ALTO al arrancar y BAJO al programar
TX0 1 Pin Tx, utilizado para flashear y depurar
T2 – El segundo día 2 debe estar BAJO durante el arranque y también conectado al LED integrado
RX0 3 Pin Rx, utilizado para flashear y depurar
T4 – El gran sueño 4
T5 – El gran éxito 5 debe estar ALTO durante el arranque
T6 6 Conectado a la memoria flash
T7 – El gran sueño 7 Conectado a la memoria flash
T8 – El gran sueño octavo Conectado a la memoria flash
T9 – El gran éxito 9 Conectado a la memoria flash
T10 – El gran sueño 10 Conectado a la memoria flash
T11 – El maravilloso mundo de los sueños 11 Conectado a la memoria flash
T12 – El maravilloso mundo de la vida 12 debe estar BAJO durante el arranque
T13 – El maravilloso mundo de los sueños 13
T14 – El maravilloso mundo de la vida 14
T15 – El maravilloso mundo de los sueños 15 debe estar en ALTO durante el arranque, evita el registro de arranque si se coloca en BAJO
RX2 dieciséis
TX2 17
T18 – El maravilloso mundo de los sueños 18
Ubicaciones T19 19
T21 – El maravilloso mundo de los sueños 21
T22 – El maravilloso mundo de la locura 22
T23 – El maravilloso mundo de los sueños 23
Serie T25 25
T26 – El maravilloso mundo de los sueños 26
Serie T27 27
T32 – El maravilloso mundo de los sueños 32
T33 – El maravilloso mundo de los sueños 33
Serie T34 34 Solo entrada GPIO, no se puede configurar como salida
T35 – La solución definitiva 35 Solo entrada GPIO, no se puede configurar como salida
vicepresidente 36 Solo entrada GPIO, no se puede configurar como salida
VN 39 Solo entrada GPIO, no se puede configurar como salida

La siguiente imagen muestra qué pines GPIO son seguros de usar.

Referencia de distribución de pines ESP32

Entrada GPIO únicamente

Los pines GPIO34, GPIO35, GPIO36(VP) y GPIO39(VN) no se pueden configurar como salidas. Se pueden utilizar como entradas digitales o analógicas o para otros fines. A diferencia de los otros pines GPIO, tampoco tienen resistencias internas de subida y bajada.

Pines de interrupción ESP32

Todos los GPIO se pueden configurar como interrupciones. Para obtener más información, consulte este tutorial.

Referencia de distribución de pines ESP32
Configuración y manejo de interrupciones GPIO ESP32 en Arduino IDE
En proyectos, a menudo desea que el ESP32 ejecute su programa normal mientras monitorea continuamente eventos específicos. Una solución ampliamente utilizada…

ESP32 pines del ADC

ESP32 integra dos ADC SAR de 12 bits y admite mediciones en 15 canales (pines con capacidad analógica).

Referencia de distribución de pines ESP32

El ADC del ESP32 es un ADC de 12 bits, lo que significa que puede detectar 4096 (2^12) 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 4095. Esto da como resultado una resolución de 3,3 voltios/4096 unidades o 0,0008 voltios (0,8 mV) por unidad.

Además, la resolución del ADC y el rango de canales se pueden ajustar mediante programación.

Advertencia:

Los pines ADC2 no se pueden usar cuando WiFi está habilitado. Si su proyecto requiere WiFi, debería usar los pines ADC1 en su lugar.

ESP32 pines DAC

El ESP32 cuenta con dos canales DAC de 8 bits para convertir señales digitales en voltajes analógicos reales. Se puede utilizar como un «potenciómetro digital» para controlar dispositivos analógicos.

Referencia de distribución de pines ESP32

Estos DAC tienen una resolución de 8 bits, lo que significa que los valores en el rango de 0 a 256 se convierten a un voltaje analógico en el rango de 0 a 3,3 V.

Es posible que la resolución de 8 bits del DAC no sea suficiente para su uso en aplicaciones de audio. En este caso, es preferible un DAC externo con una resolución más alta (12-24 bits).

ESP32 Alfileres táctiles

El ESP32 tiene 9 GPIO capacitivos sensibles al tacto. Cuando una carga capacitiva (por ejemplo, un dedo humano) está muy cerca del GPIO, el ESP32 detecta el cambio en la capacitancia.

Referencia de distribución de pines ESP32

Puede crear un panel táctil conectando cualquier objeto conductor a estos pines, como papel de aluminio, tela conductora, pintura conductora, etc. Debido al diseño de bajo ruido y la alta sensibilidad del circuito, se pueden fabricar paneles relativamente pequeños.

Además, estos pines táctiles capacitivos se pueden utilizar para despertar el ESP32 del sueño profundo.

ESP32 pines I2C

El ESP32 tiene dos interfaces de bus I2C, pero no tiene pines I2C dedicados. En cambio, permite una asignación de pines flexible, lo que significa que cada pin GPIO se puede configurar como I2C SDA (línea de datos) y SCL (línea de reloj).

Sin embargo, GPIO21 (SDA) y GPIO22 (SCL) se utilizan a menudo como pines I2C estándar para simplificar el trabajo de los usuarios que utilizan código, bibliotecas y bocetos existentes de Arduino.

Referencia de distribución de pines ESP32

ESP32 pines SPI

ESP32 tiene tres SPI (SPI, HSPI y VSPI) 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
Referencia de distribución de pines ESP32

Sólo VSPI y HSPI son interfaces SPI utilizables, y el tercer bus SPI lo utiliza el chip de memoria flash integrado. Los pines VSPI se utilizan a menudo en bibliotecas estándar.

HSPI frente a VSPI

A veces, HSPI se interpreta incorrectamente como un SPI de “hardware” y VSPI como un SPI “virtual o de software”. Sin embargo, ¡en realidad son idénticos!

Al igual que con I2C, puede utilizar el protocolo SPI en todos los pines GPIO con el bus.begin(CLK_PIN, MISO_PIN, MOSI_PIN, SS_PIN); Dominio.

ESP32 pines UART

La placa de desarrollo ESP32 tiene tres interfaces UART, UART0, UART1 y UART2, que admiten comunicación asíncrona (RS232 y RS485) e IrDA de hasta 5 Mbps.

  • Los pines UART0 están conectados al convertidor de USB a serie y se utilizan para flashear y depurar. Por lo tanto, no se recomienda utilizar los pines UART0.
  • Los pines UART1 están reservados para el chip de memoria flash integrado.
  • UART2, por otro lado, es una opción segura para conectarse a dispositivos UART como GPS, sensor de huellas dactilares, sensor de distancia, etc.
Referencia de distribución de pines ESP32

Además, UART proporciona gestión de hardware de las señales CTS y RTS, así como control de flujo de software (XON y XOFF).

ESP32 pines pwm

La placa tiene 21 canales (todos los GPIO excepto los GPIO de entrada pura) con pines PWM controlados por un controlador PWM. La salida PWM se puede utilizar para controlar motores digitales y LED.

Referencia de distribución de pines ESP32

El controlador PWM consta de temporizadores PWM, el operador PWM y un submódulo de detección dedicado. Cada temporizador proporciona control de temporización síncrono o independiente y cada operador PWM genera una forma de onda para un canal PWM. El submódulo de captura dedicado puede capturar eventos con precisión con sincronización externa.

ESP32 Pines GPIO RTC

Algunos GPIO se reenvían al subsistema de baja potencia RTC y se denominan RTC GPIO. Estos pines se utilizan para despertar el ESP32 del modo de suspensión profunda cuando el coprocesador de potencia ultrabaja (ULP) está en ejecución. Los GPIO resaltados a continuación se pueden utilizar como fuentes de activación externas.

Referencia de distribución de pines ESP32

ESP32 pasadores de flejado

Hay cinco pines de conexión: GPIO0, GPIO2, GPIO5, GPIO12 y GPIO15.

Referencia de distribución de pines ESP32

Estos pines se utilizan para poner el ESP32 en modo BOOT (para ejecutar el programa almacenado en la memoria flash) o modo FLASH (para cargar el programa en la memoria flash). Dependiendo del estado de estos pines, el ESP32 ingresa al modo BOOT o FLASH cuando se enciende.

Para la mayoría de las placas de desarrollo con un puerto USB/serie integrado, no necesita preocuparse por el estado de estos pines porque la placa los coloca en el estado correcto para el modo flash o de arranque.

Sin embargo, si hay periféricos conectados a estos pines, pueden ocurrir problemas al intentar cargar un nuevo código o actualizar el ESP32 con un nuevo firmware, ya que estos periféricos impedirán que el ESP32 ingrese al modo correcto.

Los pasadores giratorios funcionan normalmente después de la liberación del reinicio, pero aún así deben usarse con precaución.

ESP32 Conexiones de alimentación

Hay dos conectores de alimentación: el conector VIN y el conector 3V3. El conector VIN se puede utilizar para alimentar directamente el ESP32 y sus periféricos si tiene una fuente de alimentación regulada de 5V. El puerto 3V3 es la salida del regulador de voltaje integrado; Puede obtener hasta 600 mA. GND es la conexión a tierra.

Referencia de distribución de pines ESP32

ESP32 Activar pin

El pin EN es el pin de habilitación para el ESP32 y está configurado en ALTO de forma predeterminada. Cuando se establece en ALTO, el chip se activa; si se establece LOW, el chip se desactiva.

El pin EN también está conectado a un interruptor de botón que puede bajar el pin y activar un reinicio.

Referencia de distribución de pines ESP32
Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Referencia de Distribución de Pines ESP32

Una de las ventajas del ESP32 es que tiene muchos más GPIOs que el ESP8266. No tendrás que malabarear o multiplexar tus pines IO. Sin embargo, hay algunas cosas que debes tener en cuenta, así que por favor lee detenidamente el esquema de pines.

Nota: Ten en cuenta que la siguiente referencia de pines es para la popular placa de desarrollo ESP32 Devkit V1 de 30 pines. No todas las placas de desarrollo ESP32 exponen todos los pines, pero cada pin funciona exactamente de la misma manera, sin importar qué placa de desarrollo utilices.

Periféricos y E/S de ESP32

A pesar de que el ESP32 tiene un total de 48 pines GPIO, solo 25 de ellos están expuestos en los encabezados de pines en ambos lados de la placa de desarrollo. Estos pines pueden asignarse a una variedad de funciones periféricas, incluyendo:

  • 15 canales de ADC
  • 2 interfaces UART
  • 25 salidas PWM
  • 2 canales DAC
  • Interfaces SPI, I2C e I2S
  • 9 pads táctiles

Gracias a la función de multiplexación de pines del ESP32, que permite que varios periféricos compartan un solo pin GPIO. Por ejemplo, un único pin GPIO puede actuar como entrada de ADC, salida de DAC o pad táctil.

Para obtener información extensa sobre el ESP32, consulta hoja técnica del ESP32.

Esquema de Pines del ESP32

La placa de desarrollo ESP32 DevKit V1 tiene un total de 30 pines. Por comodidad, los pines con funcionalidades similares se agrupan juntos. El esquema de pines es el siguiente:

Veamos más de cerca los pines del ESP32 y sus funciones uno por uno.

Pines GPIO del ESP32

La placa de desarrollo ESP32 cuenta con 25 pines GPIO que pueden asignarse diferentes funciones programando los registros correspondientes. Hay varios tipos de GPIOs: solo digitales, habilitados para analógico, habilitados para táctil capacitivo, etc. Los GPIOs habilitados para analógico y los habilitados para táctil capacitivo pueden configurarse como GPIOs digitales. La mayoría de estos GPIOs digitales pueden configurarse con resistencias pull-up o pull-down internas, o configurarse en alta impedancia.

¿Qué GPIOs del ESP32 son seguros de usar?

Si bien el ESP32 tiene muchos pines con diversas funciones, algunos de ellos pueden no ser adecuados para tus proyectos. La tabla a continuación muestra qué pines son seguros de usar y cuáles deben usarse con precaución:

  1. D0 – Pines de máxima prioridad. Son perfectamente seguros de usar.
  2. RX/TX – Presta atención porque su comportamiento, particularmente durante el arranque, puede ser impredecible. Úsalos solo cuando sea absolutamente necesario.
  3. D22, D4, D5, D6, D7, D8 – Se recomienda evitar usar estos pines.

La imagen a continuación muestra qué pines GPIO pueden usarse de forma segura.

Pines GPIO de Entrada Única

Los pines GPIO34, GPIO35, GPIO36 (VP) y GPIO39 (VN) no pueden configurarse como salidas. Pueden usarse como entradas digitales o analógicas, o para otros propósitos. También carecen de resistencias internas pull-up y pull-down, a diferencia de los otros pines GPIO.

Conclusión

El ESP32 es un microcontrolador poderoso con una amplia gama de funciones periféricas y GPIOs para satisfacer las necesidades de tus proyectos. Asegúrate de comprender el esquema de pines y las funciones de cada uno para maximizar el rendimiento del ESP32 en tus aplicaciones.

4 comentarios en «Referencia de distribución de pines ESP32»

Deja un comentario