ESP32_OLED descripción general
Este laboratorio remoto consiste de un ESP32 conectado a diversos componentes:
- Una pantalla OLED
- Cinco leds: tres rojos, uno verde y uno azul
- Un servomotor
- Conexión a un ESP32 auxiliar que permite emular cuatro pulsadores y emular un sistema de hasta dos entradas y dos salidas.
ESP32 y pantalla OLED
El ESP32 tiene una conexíon por I2C a un módulo display OLED tipo SH110X de 128x64 pixels. La conexión de pines se puede ver en la siguiente figura.
En el siguiente video se puede ver una prueba inicial para generar un archivo .bin desde el Arduino IDE y usarlo en el laboratorio remoto ESP32-OLED:
Los archivos generados en el video anterior también se puede descargar en los enlaces:
- Prender y apagar led interno: blink.ino.bin
- Análisis de caracteres: CharacterAnalysis.ino.bin
- Diversas formas en la pantalla oled: Ejemplo_arduino.ino.bin.
Retos con la pantalla OLED
A partir del programa generado desde el Arduino IDE se proponen los siguientes retos:
- Escribir en la pantalla el texto que se envíe por el puerto serie. Escribe_texto_serial.ino.bin
- Escribir un punto según la coordenada del mouse donde se presiona click Dibuja_coordenada_serial.ino.bin
- Prender o apagar el led cada vez que se presiona un click. Cambia_led_con_click.ino.bin
- Programa Iot. pantalla_sh110x_iot.ino.bin
ESP32 y Servomotor
El ESP32 tiene conectado el pin GPIO13 a un servomotor MG90S de 180 grados. El servomotor requiere para la variación del ángulo una señal rectangular de 50 Hz con un ciclo útil variando entre 0.035 y 0.125 aproximadamente.Se muestra un programa ejemplo que permite ingresar por el puerto serial un número decimal que define el ciclo útil de la señal y cambia la posición del servomotor según el ángulo respectivo.
-
Archivo con código para editar en Arduino IDE:
- pwm_servo_2026-03-10.ino.
-
Archivo para cargar directamente:
- pwm_servo_2026-03-10.ino.bin.
ESP32 y Leds
El ESP32 tiene conectados cinco LEDS a los siguientes pines:- Leds rojos a los pines GPIO12, GPIO14 y GPIO27
- Led verde al pin GPIO5
- Led Azul al pin GPIO4
-
Archivo con código para editar en Arduino IDE:
- prueba_leds_2026-03-10.ino.
-
Archivo para cargar directamente:
- prueba_leds_2026-03-10.ino.bin.
ESP32 y ESP32 Auxiliar
El ESP32 tiene conectado otro ESP32 auxiliar que permite emular pulsadores y emular un sistema de prueba de hasta 2 entradas y 2 salidas analógicas.Inicialmente la emulación funciona de la siguiente manera
- GPIO16 emula presionar el pulsador amarillo
- GPIO17 emula presionar el pulsador azul
- GPIO18 emula presionar el pulsador rojo
- GPIO19 emula presionar el pulsador negro
- DAC1 en el GPIO25 emula enviar señales analógicas al sistema de prueba
- DAC2 en el GPIO26 emula enviar señales analógicas al sistema de prueba
- ADC6 en el GPIO34 emula recibir señales analógicas desde el sistema de prueba
- ADC7 en el GPIO35 emula recibir señales analógicas desde el sistema de prueba
-
Archivo de emulación incial para el ESP32 auxiliar con código para editar en Arduino IDE:
- pulsos_y_sistema_2026_03_11.ino.
-
Archivo para cargar directamente:
- pulsos_y_sistema_2026_03_11.ino.bin.
ESP32 y ESP32 Auxiliar emulando pulsos
El ESP32 tiene conectado otro ESP32 auxiliar que permite emular pulsadores cuyo estado normal es en bajo. Cada vez que se hace click con el mouse en alguno de los pulsadores en la imagen, se genera un pulso de medio segundo con salida en alto.- GPIO16 emula presionar el pulsador amarillo
- GPIO17 emula presionar el pulsador azul
- GPIO18 emula presionar el pulsador rojo
- GPIO19 emula presionar el pulsador negro
-
Código para editar en Arduino IDE:
- prueba_pulsadores_2026_03_11.ino.
-
Archivo para cargar directamente:
- prueba_pulsadores_2026_03_11.ino.bin.
- Pulsador amarillo cambia el estado del un led rojo
- Pulsador azul cambia el estado de otro led rojo
- Pulsador rojo cambia el estado de otro led azul
- Pulsador negro cambia el estado de otro led verde
ESP32 y ESP32 Auxiliar emulando un sistema (datos en binario)
El ESP32 tiene conectado otro ESP32 auxiliar que permite emular un sistema a través de una conexión cruzada entre los DACs y ADCs del ESP32 principal y del ESP32 auxiliar- DAC1 en el GPIO25 del ESP32 principal con ADC6 en el GPIO34 del ESP32 auxiliar
- DAC2 en el GPIO26 del ESP32 principal con ADC7 en el GPIO35 del ESP32 auxiliar
- ADC6 en el GPIO34 del ESP32 principal con DAC1 en el GPIO25 del ESP32 auxiliar
- ADC7 en el GPIO35 del ESP32 principal con DAC2 en el GPIO26 del ESP32 auxiliar
-
Código para editar en Arduino IDE:
- TomaDatosDoble_2026_03_11.ino.
-
Archivo para cargar directamente:
- TomaDatosDoble_2026_03_11.ino.bin.
Se lee continuamente la señal de los ADC con un valor en binario de 0 a 4095.
Se imprimen los 4 valores en el orden DAC1, ADC6, DAC2 y ADC7.
Para que este programa funcione adecuadamente debe cargar en el ESP32 auxiliar el programa pulsos_y_sistema_2026_03_11.ino.bin o uno equivalente con la emulación del sistema.
ESP32 y ESP32 Auxiliar emulando un sistema (datos en voltaje)
El ESP32 tiene conectado otro ESP32 auxiliar que permite emular un sistema a través de una conexión cruzada entre los DACs y ADCs del ESP32 principal y del ESP32 auxiliar. En este programa ejemplo se usan las siguientes conexiones:- DAC1 en el GPIO25 del ESP32 principal con ADC6 en el GPIO34 del ESP32 auxiliar
- ADC6 en el GPIO34 del ESP32 principal con DAC1 en el GPIO25 del ESP32 auxiliar
-
Código para editar en Arduino IDE:
- esp32_daq_funciones_2026_03_10.ino.
-
Archivo para cargar directamente (función coseno):
- esp32_daq_funciones_2026_03_10.ino.bin.
Se imprimen los 2 valores de voltaje del DAC1 y del ADC6, en dicho orden.
Para que este programa funcione adecuadamente debe cargar en el ESP32 auxiliar el programa pulsos_y_sistema_2026_03_11.ino.bin o uno equivalente con la emulación del sistema.
Algunos programas emulados:-
filtro pasabanda de baja frecuencia:
- sistema36.ino.bin.
Laboratorio web uniquindio