Tabla de contenido:

ESP32: Detalles internos y configuración de pines: 11 pasos
ESP32: Detalles internos y configuración de pines: 11 pasos

Video: ESP32: Detalles internos y configuración de pines: 11 pasos

Video: ESP32: Detalles internos y configuración de pines: 11 pasos
Video: Tutorial (Curso) de ESP32: Configuración y control de pines GPIO con Arduino IDE 2024, Junio
Anonim
Image
Image

En este artículo, hablaremos sobre los detalles internos y la fijación de ESP32. Te mostraré cómo identificar correctamente los pines mirando la hoja de datos, cómo identificar cuál de los pines funciona como SALIDA / ENTRADA, cómo tener una visión general de los sensores y periféricos que nos ofrece el ESP32, además de la bota. Por eso, creo que, con el video a continuación, podré responder varias preguntas que he recibido en mensajes y comentarios sobre las referencias de ESP32, entre otra información.

Paso 1: NodeMCU ESP-WROOM-32

ESP-WROOM-32
ESP-WROOM-32

Aquí tenemos el PINOUT del

WROOM-32 que sirve como una buena referencia para cuando programes. Es importante prestar atención a la entrada / salida de uso general (GPIO), es decir, los puertos de entrada y salida de datos programables, que aún pueden ser un convertidor AD o un pin táctil, como GPIO4, por ejemplo. Esto también ocurre con Arduino, donde los pines de entrada y salida también pueden ser PWM.

Paso 2: ESP-WROOM-32

En la imagen de arriba, tenemos el ESP32 en sí. Existen varios tipos de insertos con diferentes características según el fabricante.

Paso 3: Pero, ¿cuál es el pinout correcto que debo usar para mi ESP32?

Pero, ¿cuál es el pinout correcto que debo utilizar para mi ESP32?
Pero, ¿cuál es el pinout correcto que debo utilizar para mi ESP32?
Pero, ¿cuál es el pinout correcto que debo usar para mi ESP32?
Pero, ¿cuál es el pinout correcto que debo usar para mi ESP32?
Pero, ¿cuál es el pinout correcto que debo utilizar para mi ESP32?
Pero, ¿cuál es el pinout correcto que debo utilizar para mi ESP32?
Pero, ¿cuál es el pinout correcto que debo utilizar para mi ESP32?
Pero, ¿cuál es el pinout correcto que debo utilizar para mi ESP32?

ESP32 no es difícil. Es tan fácil que podemos decir que no existe una preocupación didáctica en su entorno. Sin embargo, tenemos que ser didácticos, sí. Si desea programar en Assembler, está bien. Pero el tiempo de ingeniería es caro. Entonces, si todo lo que es un proveedor de tecnología te brinda una herramienta que requiere tiempo para entender su funcionamiento, esto puede convertirse fácilmente en un problema para ti, porque todo esto aumentará el tiempo de ingeniería, mientras que el producto se vuelve cada vez más caro. Esto explica mi preferencia por las cosas fáciles, aquellas que pueden facilitar nuestro día a día, porque el tiempo es importante, especialmente en el ajetreado mundo de hoy.

Volviendo al ESP32, en una hoja de datos, como en la de arriba, tenemos la identificación correcta del pin en los aspectos más destacados. A menudo, la etiqueta del chip no coincide con el número real del pin, ya que tenemos tres situaciones: el GPIO, el número de serie y también el código de la propia tarjeta.

Como se muestra en el siguiente ejemplo, tenemos una conexión de un LED en el ESP y el modo correcto de configuración:

Nótese que la etiqueta es TX2, pero debemos seguir la identificación correcta, como se resalta en la imagen anterior. Por lo tanto, la identificación correcta del pin será 17. La imagen muestra qué tan cerca debe permanecer el código.

Paso 4: ENTRADA / SALIDA

DE ENTRADA Y SALIDA
DE ENTRADA Y SALIDA

Al realizar las pruebas de ENTRADA y SALIDA en los pines, obtuvimos los siguientes resultados:

INPUT no funcionó solo en GPIO0.

OUTPUT no funcionó solo en los pines GPIO34 y GPIO35, que son VDET1 y VDET2, respectivamente.

* Los pines VDET pertenecen al dominio de potencia del RTC. Esto significa que se pueden utilizar como pines ADC y que el coprocesador ULP puede leerlos. Solo pueden ser entradas y nunca salidas.

Paso 5: diagrama de bloques

Diagrama de bloques
Diagrama de bloques

Este diagrama muestra que el ESP32 tiene doble núcleo, un área de chip que controla WiFi y otra área que controla Bluetooth. También cuenta con aceleración de hardware para encriptación, que permite la conexión a LoRa, una red de larga distancia que permite una conexión de hasta 15km, mediante antena. También observamos el generador de reloj, reloj de tiempo real y otros puntos que involucran, por ejemplo, PWM, ADC, DAC, UART, SDIO, SPI, entre otros. Todo esto hace que el dispositivo sea bastante completo y funcional.

Paso 6: Periféricos y sensores

Periféricos y sensores
Periféricos y sensores

El ESP32 tiene 34 GPIO que se pueden asignar a varias funciones, como:

Solo digital;

Analógico habilitado (se puede configurar como digital);

Capacidad táctil capacitiva (se puede configurar como digital);

Y otros.

Es importante tener en cuenta que la mayoría de los GPIO digitales pueden configurarse como pull-up o pull-down internos, o configurarse para alta impedancia. Cuando se establece como entrada, el valor se puede leer a través del registro.

Paso 7: GPIO

Convertidor de analógico a digital (ADC)

El Esp32 integra ADC de 12 bits y admite mediciones en 18 canales (pines con capacidad analógica). El coprocesador ULP en el ESP32 también está diseñado para medir voltajes mientras opera en modo de suspensión, lo que permite un bajo consumo de energía. La CPU puede activarse mediante un ajuste de umbral y / o mediante otros activadores.

Convertidor de digital a analógico (DAC)

Se pueden usar dos canales DAC de 8 bits para convertir dos señales digitales en dos salidas de voltaje analógicas. Estos DAC duales admiten la fuente de alimentación como referencia de voltaje de entrada y pueden controlar otros circuitos. Los canales duales admiten conversiones independientes.

Paso 8: Sensores

Sensores
Sensores
Sensores
Sensores

Sensor tactil

El ESP32 tiene 10 GPIO de detección capacitiva que detectan variaciones inducidas al tocar o acercarse a un GPIO con un dedo u otros objetos.

El ESP32 también tiene un sensor de temperatura y un sensor de pasillo interno, pero para trabajar con ellos, debe cambiar la configuración de los registros. Para más detalles, consulte el manual técnico a través del enlace:

www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf

Paso 9: perro guardián

El ESP32 tiene tres temporizadores de vigilancia: uno en cada uno de los dos módulos de temporizador (llamado Temporizador de vigilancia principal o MWDT) y uno en el módulo RTC (llamado Temporizador de vigilancia de RTC o RWDT).

Paso 10: Bluetooth

Bluetooth
Bluetooth
Bluetooth
Bluetooth

Interfaz Bluetooth v4.2 BR / EDR y Bluetooth LE (baja energía)

El ESP32 integra un controlador de conexión Bluetooth y banda base Bluetooth, que realizan protocolos de banda base y otras rutinas de enlace de bajo nivel, como modulación / demodulación, procesamiento de paquetes, procesamiento de flujo de bits, salto de frecuencia, etc.

El controlador de conexión opera en tres estados principales: espera, conexión y olfateo. Permite múltiples conexiones y otras operaciones, como consulta, búsqueda y emparejamiento simple seguro, y por lo tanto permite Piconet y Scatternet.

Paso 11: arranque

Bota
Bota
Bota
Bota

En muchas placas de desarrollo con USB / Serial integrado, esptool.py puede restablecer automáticamente la placa al modo de arranque.

ESP32 ingresará al cargador de arranque en serie cuando el GPIO0 se mantenga bajo en el reinicio. De lo contrario, ejecutará el programa en flash.

GPIO0 tiene una resistencia pullup interna, por lo que si no tiene conexión, subirá.

Muchas placas usan un botón etiquetado como "Flash" (o "BOOT" en algunas placas de desarrollo Espressif) que lleva el GPIO0 hacia abajo cuando se presiona.

GPIO2 también debe dejarse desconectado / flotante.

En la imagen de arriba, puedes ver una prueba que realicé. Puse el osciloscopio en todos los pines del ESP para ver qué pasaba cuando se encendía. Descubrí que cuando obtengo un pin, genera oscilaciones de 750 microsegundos, como se muestra en el área resaltada en el lado derecho. ¿Qué podemos hacer al respecto? Tenemos varias opciones, como dar un retardo con un circuito con un transistor, un expansor de puerta, por ejemplo. Señalo que GPIO08 está al revés. La oscilación sale hacia arriba y no hacia abajo.

Otro detalle es que tenemos unos pines que empiezan en Alto y otros en Bajo. Por lo tanto, este PINOUT es una referencia a cuándo se enciende el ESP32, especialmente cuando está trabajando con una carga para disparar, por ejemplo, un triac, un relé, un contactor o algo de energía.

Recomendado: