[Notas de estudio más completas de ESP32 (básicas) - 4. Introducción del pin ESP32]

Acerca de este tutorial:

Conceptos básicos de ESP32                                

1. Introducción a ESP32                                                                

2. Entorno de desarrollo integrado ESP32 Arduino

3. Código VS y PlatformIO

4. Pines ESP32 ☑ 

5. Entrada y salida ESP32

6. Modulación de ancho de pulso ESP32

7. Entrada analógica ESP32

8. Temporizador de interrupción ESP32

9 ESP32 sueño profundo

Protocolo ESP32

servidor web ESP32

ESP32 LoRa

ESP32 BLE

ESP32 BLE Cliente-Servidor

Bluetooth ESP32

ESP32 MQTT

ESP32 ESP-AHORA

Wifi ESP32

ESP32 WebSocket

ESP32 ESP-MALLA

buzón ESP32

SMS ESP32

ESP32 HTTP obtener POST

HTTP GET Web API

API web HTTP POST

 Artículos del servidor ESP32

¡Sigue actualizando, sigue a los bloggers y no te pierdas! ! !

 Módulo sensor ESP32

¡Sigue actualizando, sigue a los bloggers y no te pierdas! ! !

Combate definitivo ESP32

Más de 100 proyectos prácticos ESP32, ¡presta atención! ! !

El chip ESP32 tiene 48 pines con varias funciones. No todos los pines de las placas de desarrollo ESP32 están expuestos y algunos pines no se pueden usar.

Hay muchas preguntas sobre cómo usar ESP32 GPIO. ¿Qué pines debes usar? ¿Qué pines debes evitar en tu proyecto? Este artículo pretende ser una guía de referencia fácil de entender para ESP32 GPIO.

La siguiente figura ilustra el pinout del ESP-WROOM-32. Si construye una placa personalizada con el chip básico ESP32, puede usar esto como referencia:

         NOTA: No todas las placas tienen acceso a todos los GPIO, pero cada GPIO específico funciona igual sin importar qué placa tenga. Si recién está comenzando con el ESP32, le recomendamos leer nuestra guía: Primeros pasos con la placa de desarrollo ESP32 .

 Periféricos ESP32

Los periféricos ESP32 incluyen:

18 canales convertidores de analógico a digital (ADC)
3 interfaces SPI
3 interfaces UART
2 interfaces I2C
16 canales de salida PWM
2 convertidores de digital a analógico (DAC)
2 interfaces I2S
10 GPIO de detección capacitiva

         Las funciones ADC (Convertidor analógico a digital) y DAC (Convertidor digital a analógico) se asignan a pines estáticos específicos. Sin embargo, puede decidir qué pines son UART, I2C, SPI, PWM, etc.; solo los asigna en código. Esto es posible gracias a las capacidades de multiplexación del chip ESP32.

        Si bien puede definir las propiedades de los pines en el software, los pines asignados predeterminados son los que se muestran en la imagen a continuación (este es un ejemplo de 36 pines para la placa ESP32 DEVKIT V1 DOIT; las ubicaciones de los pines pueden variar según el fabricante).

        Además, hay pines que tienen funciones específicas que los hacen adecuados o inadecuados para proyectos específicos. La siguiente tabla muestra qué pines se utilizan mejor como entrada, salida y a qué pines debe prestar atención.

        Los pines resaltados en verde están listos para usar. Los resaltados en amarillo son utilizables, pero debe tener cuidado ya que pueden tener un comportamiento inesperado principalmente al inicio. Los pines resaltados en rojo no se recomiendan para uso como entradas o salidas.

GPIO Aporte Producción ilustrar
0 arrancados DE ACUERDO La señal PWM de salida cuando se enciende, debe ser BAJA para ingresar al modo intermitente
1 pasador de transmisión DE ACUERDO salida de depuración
2 DE ACUERDO DE ACUERDO Conectado al LED incorporado, debe dejarse flotando o bajo para ingresar al modo de parpadeo
3 DE ACUERDO pasador RX Alto al arrancar
4 DE ACUERDO DE ACUERDO
5 DE ACUERDO DE ACUERDO Señal de salida PWM al inicio, pines de flejado
6 X X Conéctese al flash SPI integrado
7 X X Conéctese al flash SPI integrado
8 X X Conéctese al flash SPI integrado
9 X X Conéctese al flash SPI integrado
10 X X Conéctese al flash SPI integrado
11 X X Conéctese al flash SPI integrado
12 DE ACUERDO DE ACUERDO Si se tira hacia arriba, el arranque falla y la aguja flejadora
13 DE ACUERDO DE ACUERDO
14 DE ACUERDO DE ACUERDO Señal PWM de salida de encendido
15 DE ACUERDO DE ACUERDO Señal de salida PWM al inicio, pines de flejado
dieciséis DE ACUERDO DE ACUERDO
17 DE ACUERDO DE ACUERDO
18 DE ACUERDO DE ACUERDO
19 DE ACUERDO DE ACUERDO
21 DE ACUERDO DE ACUERDO
22 DE ACUERDO DE ACUERDO
23 DE ACUERDO DE ACUERDO
25 DE ACUERDO DE ACUERDO
26 DE ACUERDO DE ACUERDO
27 DE ACUERDO DE ACUERDO
32 DE ACUERDO DE ACUERDO
33 DE ACUERDO DE ACUERDO
34 DE ACUERDO
35 DE ACUERDO
36 DE ACUERDO
39 DE ACUERDO

Siga leyendo para obtener un análisis más detallado y profundo de los GPIO ESP32 y sus capacidades.

pin de entrada solamente

GPIO 34 a 39 son GPI: pines de solo entrada. Estos pines no tienen resistencias pull-up o pull-down internas. No se pueden usar como salidas, así que solo use estos pines como entradas:

  • GPIO34
  • GPIO35
  • GPIO36
  • GPIO39

Flash SPI integrado en ESP-WROOM-32

Algunas placas de desarrollo ESP32 exponen GPIO 6 a GPIO 11. Sin embargo, estos pines están conectados al flash SPI integrado en el chip ESP-WROOM-32 y no se recomiendan para otros usos. Por lo tanto, no use estos pines en su proyecto:

  • GPIO 6 (SCK/reloj)
  • GPIO 7 (SDO/SD0)
  • GPIO 8 (SDI/SD1)
  • GPIO 9 (SHD/SD2)
  • GPIO 10 (SWP/SD3)
  • GPIO 11 (CSC/CMD)

GPIO táctil capacitivo

        ESP32 tiene 10 sensores táctiles capacitivos internos. Pueden detectar cambios en cualquier objeto cargado eléctricamente, como la piel humana. Por lo tanto, pueden detectar cambios provocados al tocar el GPIO con un dedo. Estos pines se pueden integrar fácilmente en almohadillas capacitivas y reemplazar botones mecánicos. El pin táctil capacitivo también se puede usar para despertar el ESP32 del modo de suspensión profunda

Estos sensores táctiles internos están conectados a estos GPIO:

  • T0 (GPIO 4)
  • T1 (GPIO 0)
  • T2 (GPIO 2)
  • T3 (GPIO 15)
  • T4 (GPIO 13)
  • T5 (GPIO 12)
  • T6 (GPIO 14)
  • T7 (GPIO 27)
  • T8 (GPIO 33)
  • T9 (GPIO 32)

Convertidor de analógico a digital (ADC)

ESP32 tiene 18 canales de entrada ADC de 12 bits (mientras que ESP8266 tiene solo 1 ADC de 10 bits). Estos son los GPIO disponibles como ADC y canales correspondientes:

  • ADC1_CH0 (GPIO36)
  • ADC1_CH1 (GPIO37)
  • ADC1_CH2 (GPIO38)
  • ADC1_CH3 (GPIO 39)
  • ADC1_CH4 (GPIO 32)
  • ADC1_CH5 (GPIO 33)
  • ADC1_CH6 (GPIO 34)
  • ADC1_CH7 (GPIO 35)
  • ADC2_CH0 (GPIO 4)
  • ADC2_CH1 (GPIO 0)
  • ADC2_CH2 (GPIO 2)
  • ADC2_CH3 (GPIO 15)
  • ADC2_CH4 (GPIO 13)
  • ADC2_CH5 (GPIO 12)
  • ADC2_CH6 (GPIO 14)
  • ADC2_CH7 (GPIO 27)
  • ADC2_CH8 (GPIO 25)
  • ADC2_CH9 (GPIO 26)

 了解如何使用 ESP32 ADC 引脚:

带 Arduino IDE 的 ESP32 ADC 引脚
带有 MicroPython 的 ESP32 ADC 引脚

注意:使用 Wi-Fi 时不能使用 ADC2 引脚。因此,如果您使用 Wi-Fi 并且无法从 ADC2 GPIO 获取值,您可以考虑改用 ADC1 GPIO。那应该可以解决您的问题。

ADC 输入通道具有 12 位分辨率。这意味着您可以获得 0 到 4095 范围内的模拟读数,其中 0 对应 0V,4095 对应 3.3V。您还可以根据代码和 ADC 范围设置通道的分辨率。

ESP32 ADC 引脚没有线性行为。您可能无法区分 0 和 0.1V,或 3.2 和 3.3V。使用 ADC 引脚时需要牢记这一点。您将获得类似于下图中所示的行为。

数模转换器 (DAC)

ESP32 上有 2 x 8 位 DAC 通道,用于将数字信号转换为模拟电压信号输出。这些是 DAC 通道:

  • DAC1 (GPIO25)
  • DAC2(GPIO26)

RTC GPIO

ESP32 支持 RTC GPIO。当 ESP32 处于深度睡眠时,可以使用路由到 RTC 低功耗子系统的 GPIO。当超低功耗 (ULP) 协处理器运行时,这些 RTC GPIO 可用于将 ESP32 从深度睡眠中唤醒。以下 GPIO 可用作外部唤醒源。

  • RTC_GPIO0 (GPIO36)
  • RTC_GPIO3 (GPIO39)
  • RTC_GPIO4 (GPIO34)
  • RTC_GPIO5 (GPIO35)
  • RTC_GPIO6 (GPIO25)
  • RTC_GPIO7 (GPIO26)
  • RTC_GPIO8 (GPIO33)
  • RTC_GPIO9 (GPIO32)
  • RTC_GPIO10 (GPIO4)
  • RTC_GPIO11 (GPIO0)
  • RTC_GPIO12 (GPIO2)
  • RTC_GPIO13 (GPIO15)
  • RTC_GPIO14 (GPIO13)
  • RTC_GPIO15 (GPIO12)
  • RTC_GPIO16 (GPIO14)
  • RTC_GPIO17 (GPIO27)

脉宽调制

ESP32 LED PWM 控制器有 16 个独立的通道,可以配置为产生不同属性的 PWM 信号。所有可以作为输出的引脚都可以用作 PWM 引脚(GPIO 34 到 39 不能生成 PWM)。

要设置 PWM 信号,您需要在代码中定义这些参数:

  • 信号频率;
  • 占空比;
  • 脉宽调制通道;
  • 要输出信号的 GPIO。

I2C接口

ESP32 有两个 I2C 通道,任何引脚都可以设置为 SDA 或 SCL。将 ESP32 与 Arduino IDE 一起使用时,默认的 I2C 引脚为:

  • GPIO 21 (SDA)
  • GPIO 22 (SCL)

如果在使用线库的时候还想使用其他管脚,只需要调用:

Wire.begin(SDA, SCL);

SPI接口

默认情况下,SPI 的引脚映射为:

中断

所有 GPIO 都可以配置为中断。

开机时引脚为高电平

一些 GPIO 在启动或复位时将其状态更改为高电平或输出 PWM 信号。这意味着如果您将输出连接到这些 GPIO,您可能会在 ESP32 重置或启动时得到意想不到的结果。

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 到 GPIO 11(连接到 ESP32 集成 SPI 闪存 – 不建议使用)。
  • GPIO 14
  • GPIO 15

启用(EN)

启用 (EN) 是 3.3V 稳压器的启用引脚。它被拉高,所以接地以禁用 3.3V 稳压器。这意味着您可以使用连接到按钮的此引脚来重启 ESP32,例如。

消耗的 GPIO 电流

根据 ESP32 数据表中的“推荐工作条件”部分,每个 GPIO 消耗的绝对最大电流为 40mA。

ESP32 内置霍尔效应传感器

ESP32 还具有内置霍尔效应传感器,可检测周围磁场的变化。

总结

         我们希望您发现本 ESP32 GPIO 参考指南很有用。如果您有更多关于 ESP32 GPIO 的技巧,请在下方留言分享。

Supongo que te gusta

Origin blog.csdn.net/m0_46509684/article/details/129105888
Recomendado
Clasificación