Esta guía Pinout para ESP32 contiene el siguiente contenido:
1: Introducción a ESP32
Pins GPIO de 2: ESP32
Pins ADC 3: ESP32
4: Pins DAC
5: alfileres PWM
6: Pins SPI en ESP32
Pins de 7: I2C
Pins 8: I2s
9: Uart
10: Pines táctil capacitivo
Pins de tirantes 11: esp32
12: alfileres en alto en el arranque
13: Habilitar (en) pin
Pins de potencia de 14: ESP32
Sensor de efecto Hall de 15: ESP32
Antes de avanzar aquí, resumimos una breve introducción al tablero de IoT ESP32.
1: Introducción a ESP32
1.1: esp32 pinout
Múltiples variantes de ESP32 están disponibles en el mercado, hoy cubriremos el Pinout detallado de la variante de 30 pines que viene con el microcontrolador ESP32-Wroom-32 a veces también denominado Wreom32.
Un total de 48 pines están disponibles en chips ESP32, entre los cuales 30 pines están expuestos al usuario, mientras que otros están integrados dentro del microcontrolador; Algunos tableros también contienen seis pines integrados de flash SPI adicionales que resumen el pin total a 36.
1.Tablero de versión 2: ESP32 30 pines
La imagen a continuación representa el pinout detallado de la variante ESP32 de 30 pin que contiene todos sus periféricos que discutimos uno por uno en detalle.
Algunos periféricos principales dentro de ESP32 son:
*El chip ESP32 contiene un total de 48 pines de los cuales solo 30 pines disponibles para la interfaz externa (en algunos tableros 36 que incluyen 6 pines SPI adicionales) se integran 18 pines restantes dentro del chip para comunicación.
1.3: ESP32 36 PIN Version Board
Aquí hay una imagen de un tablero ESP32 que tiene un total de 36 pines.
1.4: Diferencia entre la versión ESP32 de 30 pines y la versión ESP32 36 PIN
Ambos Board de ESP32 comparten la misma especificación La única diferencia principal aquí es 6 pines adicionales que están expuestos en la placa ESP32 (36 pines) son el pin integrado SPI Flash y, en segundo lugar, el GPIO 0 se reemplaza con PIN GND en la placa ESP32 (30 pines) que resulta en el resultado falta de Toque 1 y ADC2 CH1 alfiler.
Pins GPIO de 2: ESP32
Como se mencionó anteriormente, ESP32 tiene un total de 48 pines de los cuales solo 30 pines son accesibles para los usuarios. Cada uno de estos 30 pines de salida de entrada de propósito general tienen una función específica y se pueden configurar utilizando un registro específico. Hay diferentes pines GPIO como UART, PWM, ADC y DAC.
De estos 30 pines, algunos son de potencia, mientras que algunos se pueden configurar como entrada y salida, mientras que hay ciertos pines que son solo de entrada.
2.1: pines de entrada/salida
Casi todos los pines GPIO se pueden configurar como entrada y salida, excepto los 6 pines de flash de interfaz periférica serial (SPI) que no se pueden configurar para fines de entrada o salida. Estos 6 alfileres SPI están disponibles en el tablero de versiones de 36 pines.
La tabla que se detalla a continuación explica el estado de los pines GPIO ESP32 que se pueden usar como entrada y salida:
Aquí DE ACUERDO significa que el pin correspondiente se puede usar como entrada o salida.
Pasador de gpio | APORTE | PRODUCCIÓN | Descripción |
GPIO 0 | Arrancados | DE ACUERDO | Salida PWM al arranque |
GPIO 1 | TX PIN | DE ACUERDO | DEPUMTA DE SALIDA EN BOOT |
GPIO 2 | DE ACUERDO | DE ACUERDO | A bordo de LED |
GPIO 3 | DE ACUERDO | Pasador de rx | Alto en el arranque |
GPIO 4 | DE ACUERDO | DE ACUERDO | - |
GPIO 5 | DE ACUERDO | DE ACUERDO | Salida PWM al arranque |
GPIO 6 | - | - | Pin flash SPI |
GPIO 7 | - | - | Pin flash SPI |
GPIO 8 | - | - | Pin flash SPI |
GPIO 9 | - | - | Pin flash SPI |
GPIO 10 | - | - | Pin flash SPI |
GPIO 11 | - | - | Pin flash SPI |
GPIO 12 | DE ACUERDO | DE ACUERDO | FALLO DE BOOT A HIGH PILL |
GPIO 13 | DE ACUERDO | DE ACUERDO | - |
GPIO 14 | DE ACUERDO | DE ACUERDO | Salida PWM al arranque |
GPIO 15 | DE ACUERDO | DE ACUERDO | Salida PWM al arranque |
GPIO 16 | DE ACUERDO | DE ACUERDO | - |
GPIO 17 | DE ACUERDO | DE ACUERDO | - |
GPIO 18 | DE ACUERDO | DE ACUERDO | - |
GPIO 19 | DE ACUERDO | DE ACUERDO | - |
GPIO 21 | DE ACUERDO | DE ACUERDO | - |
GPIO 22 | DE ACUERDO | DE ACUERDO | - |
GPIO 23 | DE ACUERDO | DE ACUERDO | - |
GPIO 25 | DE ACUERDO | DE ACUERDO | - |
GPIO 26 | DE ACUERDO | DE ACUERDO | - |
GPIO 27 | DE ACUERDO | DE ACUERDO | - |
GPIO 32 | DE ACUERDO | DE ACUERDO | - |
GPIO 33 | DE ACUERDO | DE ACUERDO | - |
GPIO 34 | DE ACUERDO | Solo entrada | |
GPIO 35 | DE ACUERDO | Solo entrada | |
GPIO 36 | DE ACUERDO | Solo entrada | |
GPIO 39 | DE ACUERDO | Solo entrada |
2.2: Pins solo de entrada
Los pines GPIO 34 a 39 no se pueden configurar como salida, ya que son solo para el propósito de entrada. Esto se debe a la falta de resistencia interna de pull up o desplegable, por lo tanto, solo se puede usar como entrada.
Además, GPIO 36 (VP) y GPIO 39 (VN) se utilizan para preamplificadores de ruido ultra bajos en ESP32 ADC.
Para resumir los siguientes son los solo pines de entrada en ESP32:
2.3: Pins de interrupción
Todos los pines GPIO en ESP32 pueden tomar interrupciones externas. Esto ayuda a monitorear el cambio en una interrupción específica en lugar de monitorear continuamente.
2.4: Pins RTC
ESP32 también tiene algunos pines RTC GPIO. Estos pines RTC permiten que ESP32 funcione en modo de suspensión profunda. Cuando ESP32 está dentro del modo de suspensión profunda mientras se ejecuta un coprocesador de potencia ultra baja (ULP), estos pines RTC pueden despertar ESP32 del sueño profundo ahorrando un gran porcentaje de potencia.
Estos pines GPIO RTC pueden actuar como una fuente de excitación externa para despertar ESP32 del sueño profundo en un momento particular o interrumpir. RTC GPIO Pins incluye:
Pins ADC 3: ESP32
La Junta ESP32 tiene dos ADC integrados de 12 bits también conocidos como ADC SAR (Registros de aproximación sucesivos). Los ADC de la placa ESP32 admiten 18 canales de entrada analógicos diferentes, lo que significa que podemos conectar 18 sensores analógicos diferentes para tomar la entrada de ellos.
Pero este no es el caso aquí; Estos canales analógicos se dividen en dos categorías Channel 1 y Channel 2, ambos canales tienen algunos pines que no siempre están disponibles para la entrada ADC. Veamos cuáles son esos alfileres ADC junto con otros.
3.1: esp32 adc pinout
Como se mencionó anteriormente, la Junta ESP32 tiene 18 canales ADC. De 18 solo 15 están disponibles en el tablero de devkit v1 doit que tiene un total de 30 gpios.
Eche un vistazo a su tablero e identifique los pines ADC mientras los destacamos en la imagen a continuación:
3.2: Pin de ADC del canal 1
El siguiente es la asignación de pin dada de la placa DOIT de Devkit ESP32. ADC1 en ESP32 tiene 8 canales, sin embargo, la placa Doit Devkit solo admite 6 canales. Pero garantizo que estos son más que suficientes.
ADC1 | GPIO PIN ESP32 |
CH0 | 36 |
CH1 | 37* (na) |
CH2 | 38* (na) |
CH3 | 39 |
CH4 | 32 |
CH5 | 33 |
CH6 | 34 |
CH7 | 35 |
*Estos alfileres no están disponibles para la interfaz externa; Estos están integrados dentro de los chips ESP32.
La siguiente imagen muestra los canales ADC1 ESP32:
3.3: Pin de ADC del canal 2
Los tableros de Devkit doit tienen 10 canales analógicos en ADC2. Aunque ADC2 tiene 10 canales analógicos para leer datos analógicos, estos canales no siempre están disponibles para usar. ADC2 se comparte con los controladores WiFi integrados, lo que significa que en el momento en que la placa está usando wifi, estos ADC2 no estarán disponibles. La solución a este problema es usar ADC2 solo cuando el controlador Wi-Fi esté apagado.
ADC2 | GPIO PIN ESP32 |
CH0 | 4 |
CH1 | 0 (Na en 30 pin versión esp32-devkit doit) |
CH2 | 2 |
CH3 | 15 |
CH4 | 13 |
CH5 | 12 |
CH6 | 14 |
CH7 | 27 |
Ch8 | 25 |
CH9 | 26 |
La imagen de abajo muestra la asignación de pines del canal ADC2.
3.4: Cómo usar ESP32 ADC
ESP32 ADC funciona de manera similar como la diferencia de solo Arduino aquí es que tiene ADC de 12 bits. Entonces, la placa ESP32 asigna los valores de voltaje analógico que van de 0 a 4095 en valores discretos digitales.
Nota: ESP32 ADC se establece por defecto en 12 bits, sin embargo, es posible configurarlo en 0 bits, 10 bits y 11 bits. El ADC predeterminado de 12 bits puede medir el valor 2^12 = 4096 y el voltaje analógico varía de 0V a 3.3V.
3.5: Limitación de ADC en ESP32
Aquí hay algunas limitaciones de ESP32 ADC:
El comportamiento de no linealidad de ESP32 se puede ver en el monitor en serie de Arduino IDE.
4: Pins DAC
ESP32 presenta dos a bordo DAC de 8 bits (Convertidor digital a analógico). Usando pines DAC ESP32, cualquier señal digital se puede transformar en analógico. La aplicación DAC PINS incluye voltaje y control PWM.
Los siguientes son los dos pines DAC en el tablero ESP32.
5: alfileres PWM
La placa ESP32 contiene 16 canales de modulación de ancho de pulso independiente (PWM) que pueden generar diferentes señales PWM. Casi todos los GPIO pueden generar una señal PWM, sin embargo, la entrada solo los pasadores 34,35,36,39 no se puede usar como pines PWM ya que no pueden emitir una señal.
Nota: En 36 pin ESP32, Pins integrados SPI Flash a bordo 6 (GPIO 6, 7, 8, 9, 10, 11) no se puede usar como PWM.
Lea aquí una guía completa para principiantes para controlar pines PWM ESP32 usando Arduino IDE.
6: Pins SPI en ESP32
ESP32 tiene cuatro periféricos SPI integrados en su microcontrolador:
La mayoría de los tableros ESP32 vienen con pines SPI preasignados para SPI2 y SPI3. Sin embargo, si no se asigna, siempre podemos asignar pines SPI en el código. Los siguientes son los pines SPI que se encuentran en la mayoría de la placa ESP32 que son preasignadas:
Interfaz SPI | Mosi | MISO | Sclk | CS |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
Los pines SPI mencionados anteriormente pueden variar según el tipo de tablero. Ahora escribiremos un código para verificar los pines SPI ESP32 usando Arduino IDE.
Para obtener un tutorial completo sobre la interfaz periférica en serie, haga clic aquí.
Pins de 7: I2C
El tablero ESP32 viene con un solo bus I2C que admite hasta 120 dispositivos I2C. Por defecto, dos pines SPI para SDA y SCL se definen en GPIO 21 y 22 respectivamente. Sin embargo, usando el comando cable.Begin (SDA, SCL) Podemos configurar cualquier GPIO como interfaz I2C.
Los siguientes dos pines GPIO están configurados por defecto para I2C:
Pins 8: I2s
I2S (Sound Inter-IC) es un protocolo de comunicación sincrónica que transmite señales de audio entre dos dispositivos de audio digitales en serie.
ESP32 tiene dos periféricos I2S, cada uno de ellos opera en modo de comunicación de medio dúplex, sin embargo, también podemos combinarlos para operar en modo dúplex completo.
Normalmente, los dos pines DAC en ESP32 se usan para la comunicación de audio I2S. Los siguientes son los pines I2S en ESP32:
Para los pines de datos de serie I2S (SD) podemos configurar cualquier pin GPIO.
9: Uart
Por defecto, ESP32 tiene tres interfaces UART que son UART0, UART1 y UART2. Tanto UART0 como UART2 se pueden usar externamente, sin embargo, el UART1 no está disponible para la interfaz y comunicación externos porque está conectado internamente a la memoria Flash SPI integrada.
Nota: El chip ESP32 tiene capacidad de multiplexación, lo que significa que también se pueden usar diferentes pines para comunicaciones, como podemos configurar cualquier pin GPIO en ESP32 para la comunicación UART1, definiéndolo dentro del código Arduino.
El siguiente es los pines UART de ESP32:
Autobús UART | Rx | Tx | Descripción |
Uart0 | GPIO 3 | GPIO 1 | Se puede usar pero no recomendado porque conectado internamente al convertidor USB a serial |
UART1 | GPIO 9 | GPIO 10 | No use la memoria flash ESP32 conectada a SPI ESP32 |
Uart2 | GPIO 16 | GPIO 17 | Permitido usar |
10: Pines táctil capacitivo
ESP32 tiene 10 pines GPIO que tienen soporte incorporado para sensores táctiles capacitivos. Usar estos pines se puede detectar cualquier cambio en la carga eléctrica. Estos alfileres actúan como una almohadilla táctil, como la entrada sensorial de un dedo humano o cualquier otra interrupción táctil causada.
Usando estos pines, también podemos diseñar una fuente de atención externa para ESP32 desde el modo de suspensión profunda.
Los pasadores táctiles incluyen:
Los siguientes son los pines del sensor táctil en el tablero ESP32:
Touch_1 Falta el pin en esta versión de la placa ESP32 (30 pin). Touch_1 Pin está en (GPIO0) que está presente en el ESP32 de 36 pines.
Aquí hay un tutorial sobre el sensor táctil capacitivo ESP32 con Arduino IDE.
Pins de tirantes 11: esp32
ESP32 tiene pines con fataje que pueden poner ESP32 en diferentes modos como el cargador de arranque o el modo de flasheo. En la mayoría de los tableros que cuentan con la serie USB incorporada, no tenemos que preocuparnos por estos pines, ya que el tablero mismo pone ESP32 en modo correcto, ya sea flashing o arranque en modo.
Sin embargo, en caso de que estos pines estén en uso, uno puede encontrar problemas para cargar un nuevo código, intermitir firmware o restablecer la placa ESP32.
A continuación se encuentran los alfileres de tirantes ESP32 disponibles:
12: alfileres en alto en el arranque
Algunos pines GPIO muestran un comportamiento inesperado cuando las salidas conectadas a estos pines porque estos pines muestran un estado alto o generan una señal PWM una vez que se inicia o se restablece la placa ESP32.
Estos alfileres son:
13: Habilitar (en) pin
Este pin se utiliza para habilitar la placa ESP32. Usando esto podemos controlar el regulador de voltaje ESP32. Este pin habilita el chip cuando se tira alto y cuando se hace bajo, ESP32 funciona con potencia mínima.
Conectando el pin (habilitar) para GND el 3.3V El regulador de voltaje de 3V deshabilita esto, lo que significa que podemos usar un botón externo para reiniciar ESP32 si es necesario.
Pins de potencia de 14: ESP32
ESP32 tiene múltiples fuentes de entrada de energía. Principalmente se pueden usar dos pines para alimentar ESP32 que incluyen el pin Vin (VIN) y el 3V3 (3.3V) PIN. La principal fuente de encendido ESP32 está utilizando el cable USB. Las otras dos fuentes requerían suministro regulado externo.
El ESP32 tiene un a bordo regulador de voltaje de salida 3.3V que toma la entrada de dos fuentes USB y el pin VN después de eso, convierte el voltaje de entrada (5V) a 3.3V para ESP32 funcionando.
Las siguientes son las tres fuentes de energía para ESP32:
Nota: El pin 3v3 de ESP32 no está conectado al regulador de voltaje en la placa, no se recomienda usar esto para la entrada de energía porque el ligero aumento en el voltaje dará como resultado un flujo más de corriente desde el terminal de salida del regulador LDO (AMS1117) a la entrada que resulta en un daño permanente del regulador de voltaje ESP32.
Sin embargo, si tienes constante 3.Suministro de 3V, entonces se puede usar.
En segundo lugar, no dé más de 9V al pin VN ya que ESP32 solo necesita 3.3V para trabajar; Todos los voltajes restantes se disiparán como calor.
Para obtener una guía más detallada sobre las fuentes de energía ESP32 y los requisitos de voltaje, verifique este tutorial cómo alimentar ESP32.
Sensor de efecto Hall de 15: ESP32
ESP32 presenta un sensor de efectos de pasillo incorporado que usamos el cual podemos detectar cambios en el campo magnético y ejecutar una salida específica en consecuencia.
Aquí hay un tutorial sobre cómo usar el sensor ESP32 integrado en el efecto Hall e imprimir los datos de lectura a través del monitor en serie.
Conclusión
Comenzar con ESP32 nunca ha sido fácil, pero usar este artículo en ESP32 Pinout cualquiera puede comenzar con un tablero basado en IoT en unos minutos. Aquí este artículo cubre todos los detalles sobre ESP32 Pinout. Cada pin ESP32 se discute en detalle extenso. Para obtener más tutoriales sobre alfileres específicos, consulte otros tutoriales en la placa ESP32.