Módulo SSD1306

  • Costo: $319.20 / 5 (16/07/2024)

Caracteristicas

  • Tipo: OLED
  • Tamaño: 0.96 pulgadas
  • Resolución: 128 x 64 píxeles
  • Color: Monocromo (generalmente blanco, azul o amarillo)
  • Interfaz/Protocolo de comunicación: I2C
  • Voltaje: 5 V

programación

  1. Adafruit GFX Library
  2. Adafruit SSD1306

Conexión

Oled Arduino Nano Arduino Mega
VCC 5V
GND GND
SCL A5 (para I2C) 21
SDA A4 (para I2C) 20
  • La dirección I2C del SSD1306 normalmente es 0x3C (en algunos casos puede ser 0x3D, pero 0x3C es el valor predeterminado). Si no se puede inicializar, el programa se detiene e imprime un mensaje de error en el monitor serial.

Puedes usar el siguiente programa para escanear si la dirección I2C está correcta.

#include <Wire.h>

void setup() {
  Wire.begin();
  Serial.begin(9600);
  while (!Serial);  // Espera a que el puerto serial esté listo
  Serial.println("\nBuscando dispositivos I2C...");

  for (byte address = 8; address < 120; address++) {
    Wire.beginTransmission(address);
    byte error = Wire.endTransmission();
    if (error == 0) {
      Serial.print("Dispositivo encontrado en la dirección: 0x");
      Serial.println(address, HEX);
    }
  }
}

void loop() {}

Funciones

  • display.clearDisplay(): Limpia la pantalla
  • display.display(): Llama a este método para que los cambios surtan efecto

Text:

  • display.setTextSize(n): Establece el tamaño de fuente, admite tamaños de 1 a 8
  • display.setCursor(x,y): Establece las coordenadas para comenzar a escribir texto
  • display.setTextColor(color): Configura el color del texto dependiendo del color de fondo
    1. SSD1306_WHITE: Texto en blanco
    2. SSD1306_BLACK: Texto en negro (invisible sobre fondo negro)
    3. SSD1306_INVERSE: Texto invertido (blanco sobre negro o viceversa)
  • display“Hola Mundo!”a Mundo!")): Imprime los caracteres en la ubicación x,y

Adafruit GFX:

  • display.drawPixel(x,y,color): Traza un píxel en las coordenadas x,y
  • display.drawLine(0, 0, 127, 63, SSD1306_WHITE): Línea desde (0,0) a (127,63)
  • display.drawRect(10, 10, 50, 30, SSD1306_WHITE): Rectángulo en (10,10), de 50x30 píxeles
  • display.drawCircle(64, 32, 20, SSD1306_WHITE): Círculo en el centro (64,32) con radio 20
  • display.fillCircle(64, 32, 10, SSD1306_WHITE): Círculo relleno
  • display.fillTriangle(10, 50, 50, 50, 30, 10, SSD1306_WHITE): Triángulo con 3 puntos definidos

Bitmap

Puedes mostrar imágenes (como mapa de bits) usando:

  1. U8g2: formato XBM (un mapa de bits en formato binario).

U8g2 también incluye la biblioteca U8x8

  1. Adafruit GFX: formato BMP.