Usando un OLED de 0.96 "con el Arduino

Using a 0.96" OLED with the Arduino

La pantalla OLED de 0.96 "es una pantalla compacta y eficiente en energía que es perfecta para mostrar texto, gráficos y datos del sensor en proyectos Arduino. Este tutorial lo guiará a través de la configuración y el uso de una pantalla OLED de 0.96" con un Arduino.


Lo que necesitarás

  1. Arduino tablero (por ejemplo, Uno, Mega, Nano)
  2. Módulo de pantalla OLED de 0.96 " (con interfaz I2C o SPI)
  3. Cables de placa y jersey
  4. Una computadora con el Arduino IDE instalado
  5. Bibliotecas: Adafruit SSD1306 y AdaFruit GFX Library

Paso 1: Comprender la pantalla OLED

La pantalla OLED de 0.96 "generalmente usa el controlador SSD1306 y admite la comunicación I2C o SPI. Más comúnmente, funciona a través del protocolo I2C, lo que requiere solo dos pines de datos (SDA y SCL).

I2C Pinout

Alfiler Función Arduino uno pin
VCC Fuente de alimentación (3.3V o 5V) 5V
Gnd Suelo Gnd
SDA Línea de datos A4
SCL Línea de reloj A5

Nota: Verifique la hoja de datos de su módulo OLED para confirmar el pinout.


Paso 2: Instalación de bibliotecas requeridas

Para trabajar con la pantalla OLED, necesita las siguientes bibliotecas:

  1. Biblioteca AdaFruit SSD1306
  2. Biblioteca Adafruit GFX

Pasos para instalar bibliotecas

  1. Abra el IDE Arduino.
  2. Ir a Bosquejo > Incluir biblioteca > Administrar bibliotecas.
  3. Busque "AdaFruit SSD1306" y haga clic Instalar.
  4. Busque "Biblioteca AdaFruit GFX" y haga clic Instalar.

Paso 3: Cableado la pantalla OLED

Conecte el OLED al Arduino de la siguiente manera:

Alfiler Alfiler de arduino
VCC 5V
Gnd Gnd
SDA A4
SCL A5

Paso 4: cargar el código

Aquí hay un boceto de muestra para mostrar texto y gráficos en la pantalla OLED:

Código de ejemplo: configuración OLED básica

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET    -1 // Reset pin not used
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
  // Initialize the display
  if (!display.begin(SSD1306_I2C_ADDRESS, 0x3C)) { // Address 0x3C for most modules
    Serial.println(F("SSD1306 allocation failed"));
    for (;;);
  }

  display.clearDisplay(); // Clear the buffer

  // Display Welcome Message
  display.setTextSize(1);      // Set text size (1 = small)
  display.setTextColor(SSD1306_WHITE); // Set text color
  display.setCursor(0, 10);    // Set cursor position (x, y)
  display.println(F("Hello, OLED!"));
  display.display();           // Display the message
  delay(2000);

  // Draw a rectangle
  display.clearDisplay();
  display.drawRect(10, 10, 50, 30, SSD1306_WHITE); // x, y, width, height, color
  display.display();
  delay(2000);
}

void loop() {
  // Update screen with dynamic content if needed
}

Paso 5: Explorando funciones adicionales

La biblioteca AdaFruit GFX proporciona una amplia gama de funciones para gráficos y texto. Aquí hay algunos ejemplos:

1. Mostrar texto

  display.setTextSize(2); // Larger text size
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.println("Arduino");
  display.display();

2. Formas de dibujo

  • Rectángulo: display.drawRect(x, y, width, height, color);
  • Círculo: display.drawCircle(x, y, radius, color);
  • Línea: display.drawLine(x1, y1, x2, y2, color);

3. Colores invertidos

  display.invertDisplay(true); // Invert colors
  delay(1000);
  display.invertDisplay(false); // Revert colors

Problemas comunes y solución de problemas

  1. OLED no se muestra:

    • Asegúrese de que la dirección I2C correcta (0x3c o 0x3d) se use en el código.
    • Verifique el cableado y las conexiones.
  2. Errores de la biblioteca:

    • Asegúrese de que se instalen las bibliotecas AdaFruit SSD1306 y GFX.
  3. Pantalla parpadeante:

    • Usar display.clearDisplay() Solo cuando sea necesario para minimizar el parpadeo.
  4. Pinout incorrecto:

    • Verifique la hoja de datos del módulo para las conexiones correctas de PIN SDA y SCL.

Aplicaciones de pantallas OLED

  1. Mostrar datos del sensor (por ejemplo, temperatura, humedad)
  2. Interfaces de usuario para sistemas integrados
  3. Comentarios visuales para dispositivos IoT
  4. Pantallas gráficas para electrónica portátil

Conclusión

La pantalla OLED de 0.96 "es una adición versátil y visualmente atractiva a los proyectos de Arduino. Al seguir esta guía, puede mostrar texto, gráficos y datos en tiempo real en su pantalla OLED. Experimente con diferentes funciones y bibliotecas para crear pantallas dinámicas e interactivas ¡Para tus proyectos!

Escribir un comentario

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.