Ir al contenido principal

ESP32: Mapeo de pines y sensores internos

Cuando realizamos proyectos utilizando este tipo de chip, en muchas ocasiones nos dejamos guiar por los ejemplos publicados en diferentes webs careciendo de un conocimiento básico de los pines que se pueden utilizar y las funciones asignadas a cada uno.

La asignación de pines y el uso de estos puede marcar la diferencia entre un proyecto que sea operativo o uno que nos genere problemas y desconozcamos el motivo. Reinicios, problemas en la programación de la placa, problemas de funcionamiento, inestabilidad, son los problemas más comunes que genera el mal uso de los pines de este componente.

A continuación, a modo de guía y para tratar de evitar este tipo de errores, vamos a tratar de detallar los usos de cada uno de los pines de las placas ESP32.

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

E/S

La conversión analógico-digital (ADC) y la inversa, digital a analógico (DAC) se encuentran asignados a una serie de pines que veremos a continuación. Por el contrario, el uso de UART, I2C, SPI, PWM, se puede asignar a través del código.

Antes de continuar, la información que resumimos en este artículo se ha extraído de la información técnica original de este componente disponible a través de https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/index.html

Los GPIO 6 a 11 están expuestos en la mayoría de placas de desarrollo ESP32. Estos pines están conectados directamente al flash SPI integrado en el chip ESP-WROOM-32 y no es posible su uso para funciones más allá de las establecidas.


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

Touch Sensor

El ESP32 dispone de 10 sensores que se pueden utilizar de forma táctil como sensor capacitativo. Estos pines tienen la capacidad de detectar variaciones en la carga eléctrica, como por ejemplo la piel humana. Para que puedan detectar variaciones inducidas al tocar los GPIO con un dedo. Estas entradas 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 cuando entra en modo Deep-Sleep.
Esos sensores táctiles internos están conectados a los siguientes 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)

Este microcontrolador dispone de canales de entrada ADC de 18 x 12 bits. Los siguientes GPIO que se pueden usar como ADC:

• 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)

Estos pines 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 esto dificulta por ejemplo diferenciar entre 0 y 0.1V, o entre 3.2 y 3.3V. Esto se debe tener en cuenta al diseñar los proyectos, ya que la conversión a 12bit conlleva que en ese rango, tal y como indicábamos en el párrafo anterior, la variación es de 4096 puntos.

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

El ESP32 dispone de 2 canales DAC de 8 bits, útiles para convertir señales digitales en salidas de señal de voltaje analógicas. Están disponibles a través d los siguientes GPIO:

• DAC1 (GPIO25)
• DAC2 (GPIO26)

RTC GPIOs

ESP32 ofrece soporte de RTC GPIO que se encuentran enrutados al subsistema de baja potencia RTC y se pueden usar cuando el ESP32 está en modo Deep-Sleep. Estos RTC GPIO se pueden usar también para reactivar el ESP32 cuando está en uso el el coprocesador Ultra Low Power (ULP). Los siguientes GPIO se pueden usar como una fuente de activación externa RTC:

• 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 cuenta con 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 ya que como indicábamos al principio de este artículo no disponen de resistencia Pull-Up/Down.

Para producir una señal PWM,es necesario definir a través del código lo siguiente:
• frecuencia de la señal;
• Ciclo de trabajo;
• canal PWM;
• GPIO que emite la señal.

I2C

El ESP32 también dispone de soporte I2C, para poder utilizar este protocolo de comunicación, habitual en algunos display, pantallas de tinta electrónico y algunos sensores, hay que utilizar los pines específicos del ESP32 I2C (soportados por la biblioteca de Wire):
• GPIO 21 (SDA)
• GPIO 22 (SCL)

SPI

El Bus SPI (del inglés Serial Peripheral Interface) es un estándar de comunicaciones, usado principalmente para la transferencia de información entre circuitos integrados en equipos electrónicos. El bus de interfaz de periféricos serie o bus SPI es un estándar para controlar casi cualquier dispositivo electrónico digital que acepte un flujo de bits serie regulado por un reloj (comunicación sincrónica).

Por defecto, la asignación de pines para SPI es:

SPIMOSIMISOCLKCS
VSPIGPIO 23GPIO 19GPIO 18GPIO 5
HSPIGPIO 13GPIO 12GPIO 14GPIO 15

Interrupciones

Una mejora más con respecto a las versiones anteriores como el ESP8266 es la posibilidad de utilizar todos los pines como interrupciones. De esta forma podemos generar a través del código una señal de interrupción para realizar una operación en cualquier momento, por ejemplo con un pulsador.

Pines en estado HIGH durante el reinicio

Algunos GPIO cambien de estado HIGH o salida PPWM durante el reinicio de la placa. Esto puede generar problemas y resultados inesperados durante el arranque o incluso impedir el reinicio de la placa. Los pines que modifican así su estado son los siguientes:

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 to GPIO 11
  • GPIO 14
  • GPIO 15

Pin EN (Enable)

Este pin es el de habilitación del regulador 3.3V. Para deshabilitar el regulador de 3.3V será suficiente conectar este pin a tierra. Esto implica que se puede usar este pin conectado a un botón para reiniciar el ESP32.

Consumo de corriente de los GPIO

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.

Sensor Magnético Integrado (Hall Effect Sensor)

Entre las prestaciones, este integrado incluye un sensor magnético que permite detectar modificaciones en los campos magnéticos de su entorno. Se puede activar a través de código y puede resultar útil en algunas aplicaciones.

Para la lectura del valor de este sensor, se puede utilizar la función integrada hallRead();

Sensor de Temperatura Integrado

Junto con el sensor de campos magnéticos, el ESP32 dispone de un sensor interno de temperatura. El valor de este sensor se puede obtener con la función temperature_sens_read();

 

Comentarios

Populares

Easyworship 2009 full español mega

  Requerimientos básicos del sistema: Sistema operativo: Windows XP SP3 / Vista/ 7. CPU: Procesador Intel Pentium 1GHz (32 /64bits) o procesador AMD. -Memoria: 512MB de RAM por lo menos, para funcionar correctamente. -Espacio libre en disco duro: 5GB DESCARGAR POR MEGA AQUI

Discografias Cristianas Completas Descarga MEGA

Marcos Witt Jaime Murrell Generacion de Jesus En Espiritu y En Verdad Duo Esperanza Nancy Ramirez 33 DC Danny Berrios Jesus Adrian Romero Abel Zavala Alex Campos Annette Moreno Biper y Sus Amigos Christine D Clario Coalo Zamorano Danilo Montero Daniel Calveti Dc Reto Lilly Goodman Marcela Gandara Jaci Velasquez La Hormiga M Kaddesh Michael Rodriguez Pablo Olivares Rabito Rojo Sacro Musical Tercer Cielo Vico C Funky Gerardo Mejia Julissa Los Voceros de Cristo Rene Gonzalez Roberto Orellana Roca Eterna Torre Fuerte Uncion Tropical Manny Montes Nancy Amancio Oscar Medina Peregrinos y Extranjeros Veinte Veinte Triple Seven Alex Rodríguez Juan Carlos Alvarado Discos Cristianos Para Niños Marcos Vidal Palabra En Accion Puerto Seguro Redimi2 Radames Marrero Samuel Hernandez Alex Zurdo Marco Barrientos Fermin IV Grupo Inspiracion Julio Melgar Los Hermanos Chacon Jose Luis Reyes

20 excelentes herramientas y apps para pastores

Aquí hay 20 excelentes herramientas y aplicaciones para pastores Preparación de predicaciones Google Docs es excelente porque se sincroniza en todos los dispositivos y son muy útiles para proyectos colaborativos. Así que si tienes un equipo de planificación de predicaciones y quieres poder trabajar en un documento al mismo tiempo, Google Docs te ofrece lo que necesitas. Múltiples personas pueden editar el mismo documento al mismo tiempo. También puedes trabajar sin conexión en Google Docs si usas el navegador web de Google Chrome. Tan pronto como reciba la conexión a Internet de nuevo, el documento se sincronizará. También puedes usar Google Docs para escribir tu predicación. Evernote es una potente aplicación para tomar notas que te permite organizar cuadernos o pilas de cuadernos alrededor de temas que son importantes para ti. También tiene capacidades de etiquetado para que puedas organizar tus notas de una manera aún más profunda. En cuanto a la prepara

Canciones Easyworship y Openlp

Paquete de canciones en total mas de 150: -Declaramos (Marcos Brunet). -Aquí Estoy (Rey de Reyes) -Agnus Dei (o Aleluya) -Abre los Cielos (Jesús Adrián Romero) -Abre los Cielos (Ingrid Rosario) -Hosanna (Marcos Barrientos)   Lista de canciones: A Dios dale Gloria A tus pies A Tí A Él sea la gloria Abba padre Abre hoy los Cielos Abre las puertas del Cielo Abre los Cielos Abre mis ojos Aclamad a Dios Adoramos Agnus dei Aguas profundas Ahora vivo para Tí Al borde de tu Gran Trono Al que me ciñe Al rey de Gloria Alabanzas Alcanza oh Dios mi corazón Aleluya (Hillsong) Aleluya a nuestro Dios Aleluya2222222 Alfarero Algo esta cayendo aquí Algo grande viene Alza tus ojos y mira Amado salvador Amor sin condición Anhelo conocerte Aquí se siente la presencia de dios Aquí estoy Aquí estoy (Hillsong) Atrae mi corazón Atráeme a Tí Aunque esa tierra sea de gigantes Aunque un ejercito Bendito Jesús Bueno es alabar Cada d

Biblias para OpenLP

  RESUMEN: Estas son las Biblias que yo he podido convertir desde e-Sword y se pueden usar en OpenLP Lista Completa de todas las Biblias disponibles para descarga: Biblia International Standard Version Biblia Jerusalen Biblia Latinoamericana 95 Biblia Latinoamericana de Hoy Biblia Lenguaje Sencillo Dios Habla Hoy Easy To Read Version King James 2000 La Biblia de Las Americas Modern King James Version Nueva Biblia de Jerusalén Nueva Biblia de los Hispanos Nueva Biblia Latinoamericana de Hoy Nueva Traducción Viviente NVI Palabra de Dios para Todos Reina Valera Contemporanea Reina Valera Gómez 2004 Reina-Valera 1960 Traducción en Lenguaje Actual Descargue de MEGA: https://mega.nz/#F!Shlg3ZxT!7yhz05bD2Sw86oFgqMApJQ