¿Por qué la pantalla OLED?
Las pantallas OLED (Organic LED) emiten luz propia, sin retroiluminación. Esto las hace más eficientes energéticamente, con mayor contraste (negro REAL, no negro grisáceo del LCD), ángulos de visión más amplios y respuesta más rápida. El modelo SSD1306 de 0.96" con 128×64 píxeles es el más popular para Arduino, comunicado por I2C con solo 2 pines de datos.
Disponible en Especificar.cl en versiones monocromas y bicolores (amarillo-azul).
Librería Adafruit SSD1306
- Instala Adafruit_SSD1306 y Adafruit_GFX desde el Gestor de Librerías
- display.begin(SSD1306_SWITCHCAPVCC, 0x3C) inicializa la pantalla
- display.clearDisplay() limpia el buffer de pantalla
- display.setTextSize(1) y display.setCursor(0,0) para posicionar texto
- display.println("Hola Chile!") escribe en el buffer
- display.display() envía el buffer a la pantalla (obligatorio para ver cambios)
Dibujar gráficos primitivos
La librería GFX incluye funciones para: drawLine(), drawRect(), fillRect(), drawCircle(), fillCircle(), drawTriangle(), drawBitmap(). Con estas primitivas puedes crear cualquier interfaz. Un nivel de burbuja digital dibuja un círculo pequeño que se mueve según los ángulos del acelerómetro MPU-6050. Un medidor de velocidad dibuja un arco semicircular con una aguja. Las posibilidades son enormes en 128×64 píxeles.
Animaciones simples
Para animar, borra el display, redibuja con la nueva posición y llama display.display() en cada frame. A 16 MHz del Arduino Uno puedes lograr 30+ FPS en la OLED para animaciones simples. Optimiza dibujando solo las partes que cambian (dirty rectangles) en lugar de borrar toda la pantalla cada frame.