La pantalla OLED 0.96" SSD1306 es la pantalla favorita de los makers: ultra-delgada, sin retroiluminación (consume menos energía), contraste altísimo y compatible tanto con Arduino como con ESP32 por protocolo I2C.
Especificaciones
- Resolución: 128 × 64 píxeles
- Protocolo: I2C (dirección 0x3C típicamente) o SPI
- Voltaje: 3.3V o 5V (el módulo incluye regulador)
- Consumo: ~20 mA con todos los píxeles encendidos
- Sin retroiluminación: ideal para baterías
Conexión I2C
| OLED | Arduino Uno | ESP32 |
|---|---|---|
| VCC | 3.3V o 5V | 3.3V |
| GND | GND | GND |
| SDA | A4 | GPIO 21 |
| SCL | A5 | GPIO 22 |
Librerías Necesarias
Instala ambas desde el gestor de librerías:
- Adafruit SSD1306
- Adafruit GFX Library
Código: Texto y Gráficos
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define ANCHO 128
#define ALTO 64
Adafruit_SSD1306 display(ANCHO, ALTO, &Wire, -1);
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
// Texto grande
display.setTextSize(2);
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 5);
display.println("ESP32");
// Texto pequeño
display.setTextSize(1);
display.setCursor(0, 35);
display.println("Especificar.cl");
display.println("IoT en Chile");
// Dibujar rectángulo
display.drawRect(0, 0, 127, 63, SSD1306_WHITE);
display.display(); // Enviar buffer a pantalla
}
void loop() {}
Mostrar Datos de Sensor en Tiempo Real
Combina la OLED con el DHT11 para un termómetro-higrómetro compacto: borra el display cada segundo con display.clearDisplay(), escribe los nuevos valores y llama a display.display(). El resultado es una pantalla actualizada en tiempo real perfecta para wearables o dispositivos portátiles con batería LiPo.