0
You have 0 items in your cart

Mapeo de pines en el ESP32

Siempre es recomendable probar y lanzarse al saber, más cuando se trata de Arduino. Hay que tener nociones de electrónica básica para no dañar nuestros componentes pero quién más prueba, cambia y piensa es quién más aprende. Pero cuando uno elige un ESP32, ya el proyecto es probable que tenga cierta complejidad; por tener muchos más pines que su exitoso hermano, el ESP8266, hay que ver cuáles uno usa con qué dispositivo conectado para evitar problemas de arranque, conflicto con librerías (por ejemplo Wifi) o que simplemente los pines no funcionen como entrada o salida.

El chip ESP32 viene con 48 pines con múltiples funciones. No todos los pines están expuestos en todas las placas de desarrollo ESP32, y hay algunos pines que no se pueden usar.Hay muchas preguntas sobre cómo usar los GPIO ESP32.

¿Qué alfileres debes usar?
¿Qué pines debes evitar usar en tus proyectos?

Esta publicación pretende ser una guía de referencia simple y fácil de seguir para los GPIO (General Purpose Input/Output) del ESP32.

 

Mira el circuito

Entrada/Input

Los GPIO 34 al 39 en realidad son GPI (General Purpose Input)

Estos pines no tienen resistencias Pull-up o Pull down y no pueden ser usados como salida

• GPIO 34
• GPIO 35
• GPIO 36
• GPIO 37
• GPIO 38
• GPIO 39

Entrada/Input

Los GPIO 34 al 39 en realidad son GPI (General Purpose Input)

Estos pines no tienen resistencias Pull-up o Pull down y no pueden ser usados como salida

• GPIO 34
• GPIO 35
• GPIO 36
• GPIO 37
• GPIO 38
• GPIO 39

 

 

Pines en el ESP32

Las funciones ADC (convertidor analógico a digital) y DAC (convertidor digital a analógico) están asignadas a pines estáticos específicos. Sin embargo, puede decidir qué pines son UART, I2C, SPI, PWM, etc., solo tiene que asignarlos en el código. Esto es posible debido a la característica de multiplexación del chip ESP32.
Aunque puede definir las propiedades de los pines en el software, hay pines asignados de forma predeterminada

Además, hay pines con características específicas que los hacen adecuados o no para un proyecto específico. Continúa leyendo para aprender más sobre los GPIOs ESP32.
La siguiente figura ilustra el pinout ESP-WROOM-32. Puedes usarlo como referencia si estás usando un chip simple para construir una placa personalizada:

Siempre es bueno ir a la fuente:

https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/adc.html

Los GPIO 6 to GPIO 11 están expuestos en algunas placas de desarrollo ESP32. 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 uses estos pines en tus proyectos, a menos que lo tengas todo controlado!
• GPIO 6 (SCK/CLK)
• GPIO 7 (SDO/SD0)
• GPIO 8 (SDI/SD1)
• GPIO 9 (SHD/SD2)
• GPIO 10 (SWP/SD3)
• GPIO 11 (CSC/CMD)
Capacitive touch GPIOs

 

Touch Sensor

El ESP32 tiene 10 sensores táctiles capacitivos internos (para utilizar botones touch). Estos pueden detectar variaciones en cualquier cosa que tenga una carga eléctrica, como la piel humana. Para que puedan detectar variaciones inducidas al tocar los GPIO con un dedo. Estas clavijas se pueden integrar fácilmente en las almohadillas capacitivas y reemplazan los botones mecánicos. Las clavijas táctiles capacitivas también se pueden usar para activar el ESP32 desde el sueño profundo.
Esos sensores táctiles internos están conectados a estos GPIOs:

• 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 analógico a digital (ADC de Analog to Digital Converter)

El ESP32 tiene canales de entrada ADC de 18 x 12 bits (mientras que el ESP8266 solo tiene un ADC de 1x 10 bits). Estos son los GPIO que se pueden usar como ADC y canales respectivos:

• ADC1_CH0 (GPIO 36)
• ADC1_CH1 (GPIO 37)
• ADC1_CH2 (GPIO 38)
• 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)
Los canales de entrada ADC tienen una resolución de 12 bits. Esto significa que puede obtener lecturas analógicas que van de 0 a 4095, en las que 0 corresponde a 0V y 4095 a 3.3V. También tiene la capacidad de establecer la resolución de sus canales en el código, así como el rango ADC.
Los pines ADC ESP32 no tienen un comportamiento lineal. Probablemente no podrá distinguir entre 0 y 0.1V, o entre 3.2 y 3.3V. Debe tener eso en cuenta al usar los pines ADC. Obtendrá un comportamiento similar al que se muestra en la siguiente figura.

 

Convertidor digital a analógico (DAC de Digital Analog Converter)

Hay 2 canales DAC de 8 bits en el ESP32 para convertir señales digitales en salidas de señal de voltaje analógicas. Estos son los canales DAC:

• DAC1 (GPIO25)
• DAC2 (GPIO26)

 

RTC GPIOs

Hay soporte de RTC GPIO en el ESP32. Los GPIO enrutados al subsistema de baja potencia RTC se pueden usar cuando el ESP32 está en suspensión profunda. Estos RTC GPIO se pueden usar para activar el ESP32 del sueño profundo cuando se está ejecutando el coprocesador Ultra Low Power (ULP). Los siguientes GPIO se pueden usar como una fuente de activación externa
• 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)

 

PWM

El controlador ESP32 LED PWM tiene 16 canales independientes que pueden configurarse para generar señales PWM con diferentes propiedades. Todos los pines que pueden actuar como salidas se pueden usar como pines PWM (los GPIOs 34 a 39 no pueden generar PWM).
Para establecer una señal PWM, necesita definir estos parámetros en el código:
• frecuencia de la señal;
• Ciclo de trabajo;
• canal PWM;
• GPIO donde quieres emitir la señal.

 

I2C

Cuando use el ESP32 con el IDE de Arduino, debe usar los pines por defecto de ESP32 I2C (soportados por la biblioteca de Wire):
• GPIO 21 (SDA)
• GPIO 22 (SCL)
SPI
Por defecto, la asignación de pines para SPI es:
SPI MOSI MISO CLK CS
VSPI GPIO 23 GPIO 19 GPIO 18 GPIO 5
HSPI GPIO 13 GPIO 12 GPIO 14 GPIO 15

 

Interrupciones

Todos los GPIOs se pueden configurar como interrupciones.
Habilitar (EN)
Habilitar (EN) es el pin de habilitación del regulador 3.3V. Se ha levantado, así que conecte a tierra para deshabilitar el regulador de 3.3V. Esto significa que puede usar este pin conectado a un botón para reiniciar su ESP32, por ejemplo.
Corriente GPIO dibujada
La corriente máxima absoluta consumida por GPIO es de 40 mA según la sección «Condiciones de funcionamiento recomendadas» en la hoja de datos de ESP32.

Leave a Reply

We are using cookies to give you the best experience. You can find out more about which cookies we are using or switch them off in privacy settings.
AcceptPrivacy Settings

GDPR

  • Privacy statement
  • Cookies
  • Log information

Privacy statement

The ECB is committed to user privacy. It only processes your personal data for the purposes described below; it does not divulge them for marketing purposes.

All personal information is processed in line with EU data protection law and the ECB’s IT security and confidentiality rules.

Who is responsible for your personal data?

The ECB is the data controller and the Directorate General Communications is responsible for processing personal data. Only dedicated ECB staff will have access to your personal data.

What information does the ECB collect through this website and for what purpose?

 

Cookies

Cookies are small bits of data sent by a website server to the browser on your computer. The browser informs the server when you next visit that particular website. Cookies help us to store user preferences, track usage trends on an aggregate basis and improve the user experience.

Functional cookies

These cookies enable us to improve the usability and performance of this website by allowing it to remember choices and customisations you make during your visit, such as your preferred language.

 

Performance cookies

These cookies collect information about how you use our website and help us, for example, to understand what interests our users and measure how effective our communications are. In this way, we can adapt the content of our website more specifically to your needs and thereby improve what we offer you, for example by ensuring that you can easily find what you are looking for. These performance cookies include those set by social media platforms and by Google services deployed on the site.

For example, we rely on Google Analytics to obtain statistics about the usage of the website. Data are sent to servers operated by Google (which might be located outside the EU) and are used to provide the ECB with aggregate statistics about the number and duration of visits, usage patterns, traffic sources, users’ demographics and searches performed on this website.

Additionally, we may also conduct A/B testing with Google Optimize.

We collect data to keep track of the number of visitors to the various parts of the site, manage visitor traffic and improve functionality and usability. We do not identify individual visitors and we receive anonymised aggregate data.

Google has its own privacy policy. Google self-certifies compliance with the EU-US “Privacy Shield” framework that the US Department of Commerce developed in consultation with the European Commission in order to meet the European “adequacy” standard for privacy protection.

Google Analytics

Google’s Privacy policy

Privacy Shield certification

Log information

Servers automatically record information that your browser sends whenever you visit a website. These server logs may include information such as the date and time of your visit, your Internet Protocol address, browser type, browser language, browser screen size, and one or more cookies that identify your browser. Such logs are stored for a maximum of ten months and then deleted. The information the ECB collects is only used to compile statistics, on an aggregate basis, on the usage of this site and for maintenance and security purposes.

Personal information communicated via the website or by email

We collect further personal data only with your consent, such as an email address if you wish to sign up to a mailing list. The relevant pages provide more information about the personal data we collect.

Legal basis for the processing of personal data

Personal data are collected and processed by the ECB based on your consent. You can withdraw your consent at any time. Your personal data will no longer be processed once you have withdrawn your consent but prior processing will remain lawful.

Data subject rights

You have the right to access and rectify your personal data, to restrict the processing of your data and, under certain conditions, to ask for your data to be deleted.

You can exercise your rights by contacting the Directorate General Communications at webmaster@ecb.europa.eu. If you have any further questions, you can also contact the ECB’s Data Protection Officer at dpo@ecb.europa.eu.

Furthermore, you have the right to contact the European Data Protection Supervisor at any time about the processing of your personal data.