
Chisme 128 del lince: pantalla OLED ESP32, el vigía del aerodeslizador
Sierra Bermeja, mediodía. El Lince de la Noche ha construido por fin su aerodeslizador y lo prueba sobre el prado. Cada vez que quiere saber a qué altura vuela, tiene que cargar con el portátil, conectar un cable y esperar a que salga un número.
—Esto no puede ser —dice la Gata Montesa, observando cómo el Lince corre detrás del aparato con el ordenador en brazos—. Ponle una pantalla encima.
—¿Una pantallita en el propio aerodeslizador?
—Una pantalla OLED ESP32: la placa mide, la pantalla enseña. Sin ordenador y sin cables.
Introducción: una pantalla OLED ESP32 con barómetro
En este chisme montamos una pantalla OLED ESP32 que muestra temperatura, presión y altitud. Los datos los da un sensor de presión barométrica (el QL015 del kit de Acebott, con un chip BMP280) y los enseña una pantalla OLED conectada a la misma placa. Es la base del futuro «vigía» del aerodeslizador y continúa el camino de la estación meteorológica del chisme 125, esta vez sin ordenador. Puedes ensayar antes en el simulador del chisme 128.
Cómo funciona una pantalla OLED ESP32 con sensor de presión
El sensor BMP280 mide la presión del aire y la temperatura. La altitud no se mide: se calcula con una fórmula que compara la presión actual con una presión de referencia (la del nivel del mar, 1013,25 hPa). Cuanto más subes, menos aire tienes encima y menor es la presión: aproximadamente 1 hPa por cada 8 m.
Los dos aparatos, el sensor y la pantalla, usan el bus I2C: dos cables (SDA para los datos y SCL para el reloj) que permiten conectar varios dispositivos a los mismos pines. Cada uno tiene su propia dirección, como un número de portal, y por eso no se pisan: la OLED responde en la 0x3C y el sensor de presión en la 0x76 o la 0x77.
Qué necesitamos para la pantalla OLED ESP32
- Placa ESP32 Plus de Acebott, sin la shield (su conector blanco de 4 pines no sirve para estos módulos).
- Pantalla OLED I2C (QL025 del kit).
- Sensor de presión barométrica (QL015), con chip BMP280: consulta su documentación oficial.
- Cuatro cables Dupont hembra-hembra por dispositivo y un cable USB de datos.
- ACECode.
Conexión de la pantalla OLED ESP32 y el sensor
| OLED y sensor de presión | ESP32 Plus |
|---|---|
| GND | GND |
| VCC | 3V3 |
| SDA | SDA (GPIO21) |
| SCL | SCL (GPIO22) |
- Usa los pares de hembras del centro de la placa. Cada pin tiene dos hembras: en una va la pantalla y en la otra el sensor, en paralelo. En nuestras pruebas, con otros pines el I2C se cortaba y la pantalla no mostraba nada.
- Conecta SDA con SDA y SCL con SCL. Si los cruzas, no se ve nada.
- El VCC va a 3V3, para que las líneas I2C se queden a 3,3 V.
El programa de la pantalla OLED ESP32 en ACECode
En ACECode, la pantalla está en el grupo «Módulo OLED» y el sensor en un bloque «barómetro» con un desplegable (temperatura, presión atmosférica y altitud).

Inicio del programa
fuente OLED fuente [en inglés 1]
OLED ajustar tamaño de fuente 16
por siempre
Limpiar búfer OLED
Mostrar carácter "Temp:" en OLED posición x 0 y 0
Mostrar número [barómetro Temperatura] x 60 y 0
Mostrar carácter "Pres:" x 0 y 20
Mostrar número [barómetro presión atmosférica] x 60 y 20
Mostrar carácter "Altitud:" x 0 y 40
Mostrar número [barómetro altitud] x 60 y 40
Pantalla OLED
esperar 1 segundos
- Fuente y tamaño se eligen una sola vez, antes del «por siempre».
- Limpiar búfer borra la memoria de dibujo para que los textos no se amontonen.
- Mostrar carácter y mostrar número escriben en esa memoria. «x» es la columna e «y» la fila, en píxeles, empezando por arriba a la izquierda.
- Pantalla OLED envía lo dibujado a la pantalla. Sin este bloque no se ve nada.
Cuando la pantalla OLED ESP32 no muestra nada
Nos pasó a nosotros, y estas fueron las dos causas:
- Faltaba el bloque «fuente OLED». Sin elegir fuente, la pantalla no sabe dibujar las letras: se quedaba en negro o se veía a medias y «saltando». Al añadir la fuente funcionó.
- Cableado en pines que no eran los del centro. Un contacto flojo en I2C hace que la pantalla deje de responder.
Si sigue sin verse, comprueba que SDA y SCL no están cruzados y que el VCC está en 3V3.
Cómo probar la pantalla OLED ESP32
Valores normales: la temperatura de la sala (de 15 a 30 °C), una presión entre 950 y 1030 hPa y una altitud de pocos cientos de metros, según donde estés. Ahora, el truco: sube el sensor un metro, a una estantería o a lo alto de una escalera, y mira cómo cambia la altitud en la pantalla. La presión baja unas décimas de hPa, pero basta para notarlo.
Qué estamos midiendo realmente
La altitud de la pantalla no es una altura real: es una cuenta hecha con la presión. Como el tiempo cambia la presión a lo largo del día (una borrasca la baja), la «altitud» puede moverse sin que muevas el sensor. Por eso sirve mejor como altura relativa: pon el cero en el suelo y mira cuánto sube. La presión también depende de la temperatura del sensor, así que no lo toques con las manos mientras mides.
Para el aula con la pantalla OLED ESP32
- ¿Qué variables mide el sensor y cuáles se calculan? ¿En qué unidades?
- Sube el sensor 1 m, 2 m y 3 m. ¿Cuánto cambia la presión cada vez? ¿Es proporcional?
- Deja el sensor quieto una hora y apunta la altitud cada 10 minutos: ¿se mueve? ¿Por qué?
- Compara los valores de dos sensores o de dos clases: ¿coinciden? ¿Qué error tiene cada uno?
- ¿Qué pasaría si la pantalla y el sensor tuvieran la misma dirección I2C?
Retos con la pantalla OLED ESP32
- Reto 1: haz que funcione y muestre los tres valores.
- Reto 2: cambia los textos y las posiciones para que quepan todos.
- Reto 3: añade el módulo de inclinación (QL020), que detecta si algo se ha caído, y haz que la pantalla muestre «¡VOLCADO!».
- Reto 4: envía los datos también por el puerto serie y represéntalos en una página como la del chisme 125.
- Reto 5: guarda la presión cada minuto durante un día y dibuja la curva.
- Reto 6: instala la pantalla y el sensor en el aerodeslizador y mide su altura de vuelo.
Qué hemos aprendido
Hemos montado una pantalla OLED ESP32 que enseña los datos de un sensor de presión, con dos dispositivos compartiendo el mismo bus I2C. Hemos visto que la altitud se calcula a partir de la presión, que no es una medida directa, y que una pantalla puede quedarse en negro por un solo bloque que falta. En el próximo paso, el aerodeslizador.
Y si quieres seguir con la serie: el servo de 360° controlado desde la web y el sensor de color.
Etiqueta:acebott, acecode, AIDARAC, barómetro, BMP280, esp32, I2C, ies monterroso, montesteam, OLED



