Usando um OLED de 0,96 com o Arduino

Using a 0.96" OLED with the Arduino

A tela OLED de 0,96 "é uma tela compacta e eficiente em termos de energia, perfeita para exibir dados de texto, gráficos e sensores em projetos Arduino. Este tutorial o guiará através da configuração e uso de uma tela OLED de 0,96" com um Arduino.


O que você precisará

  1. Conselho de Arduino (por exemplo, Uno, Mega, Nano)
  2. Módulo de exibição OLED de 0,96 " (com interface i2c ou spi)
  3. Fios de pão e jumper
  4. Um computador com o Arduino IDE instalado
  5. Bibliotecas: Adafruit SSD1306 e Adafruit GFX Library

Etapa 1: Compreendendo a tela OLED

A tela OLED de 0,96 "normalmente usa o driver SSD1306 e suporta a comunicação I2C ou SPI. Mais comumente, ele opera através do protocolo I2C, exigindo apenas dois pinos de dados (SDA e SCL).

I2c pinout

Pino OLED Função Arduino Uno Pin
VCC Fonte de alimentação (3,3V ou 5V) 5V
Gnd Chão Gnd
SDA Linha de dados A4
SCL Linha do relógio A5

Observação: Verifique a folha de dados do módulo OLED para confirmar a pinagem.


Etapa 2: Instalando as bibliotecas necessárias

Para trabalhar com a tela OLED, você precisa das seguintes bibliotecas:

  1. Biblioteca Adafruit SSD1306
  2. Biblioteca Adafruit GFX

Etapas para instalar bibliotecas

  1. Abra o Arduino IDE.
  2. Vá para Esboço > Inclua biblioteca > Gerenciar bibliotecas.
  3. Pesquise "Adafruit SSD1306" e clique Instalar.
  4. Pesquise "Adafruit GFX Library" e clique Instalar.

Etapa 3: Fiação da tela OLED

Conecte o OLED ao Arduino da seguinte forma:

Pino OLED Pino Arduino
VCC 5V
Gnd Gnd
SDA A4
SCL A5

Etapa 4: Enviando o código

Aqui está um esboço de amostra para exibir texto e gráficos na tela OLED:

Exemplo Código: Configuração 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
}

Etapa 5: Explorando funções adicionais

A biblioteca Adafruit GFX fornece uma ampla gama de funções para gráficos e texto. Aqui estão alguns exemplos:

1. Exibindo texto

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

2. Desenho de formas

  • Retângulo: display.drawRect(x, y, width, height, color);
  • Círculo: display.drawCircle(x, y, radius, color);
  • Linha: display.drawLine(x1, y1, x2, y2, color);

3. Cores invertidas

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

Questões comuns e solução de problemas

  1. OLED não exibindo:

    • Verifique se o endereço I2C correto (0x3c ou 0x3d) é usado no código.
    • Verifique a fiação e as conexões.
  2. Erros da biblioteca:

    • Verifique se as bibliotecas Adafruit SSD1306 e GFX estão instaladas.
  3. Exibição tremeluzente:

    • Usar display.clearDisplay() Somente quando necessário para minimizar o tremor.
  4. Pinout incorreto:

    • Verifique a folha de dados do módulo para obter conexões corretas de pinos SDA e SCL.

Aplicações de displays OLED

  1. Exibindo dados do sensor (por exemplo, temperatura, umidade)
  2. Interfaces de usuário para sistemas incorporados
  3. Feedback visual para dispositivos IoT
  4. Displays gráficos para eletrônicos portáteis

Conclusão

A tela OLED de 0,96 "é uma adição versátil e visualmente atraente aos projetos Arduino. Ao seguir este guia, você pode exibir texto, gráficos e dados em tempo real em sua tela OLED. Experimente diferentes funções e bibliotecas para criar displays dinâmicos e interativos Para seus projetos!

Deixe um comentário

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.