Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Display OLED com Adafruit SSD1306 e Arduino

O display OLED Adafruit SSD1306 é uma excelente escolha para projetos que exigem uma interface gráfica compacta e de alta qualidade. Este módulo é popular entre os entusiastas de Arduino devido à sua resolução nítida e baixo consumo de energia. Neste artigo, vamos explorar como integrar e utilizar este display com um Arduino, fornecendo um exemplo prático e detalhado para facilitar a compreensão e implementação.

Project: Nosso projeto consiste em criar uma interface simples que exibe texto e gráficos básicos no display OLED Adafruit SSD1306 utilizando um Arduino. O objetivo é familiarizar o leitor com a inicialização do display, a exibição de texto e a criação de formas gráficas. Este projeto pode servir como base para aplicações mais complexas, como monitores de sensores, relógios e interfaces de usuário.

Components List:

  • 1 x Arduino Uno
  • 1 x Display OLED Adafruit SSD1306 (128x64 pixels)
  • 4 x Cabos Jumper (masculino-masculino)
  • 1 x Protoboard (opcional, para facilitar a conexão)

Examples:

  1. Instalação da Biblioteca: Antes de começarmos a codificar, precisamos instalar as bibliotecas necessárias. No Arduino IDE, vá para "Sketch" -> "Include Library" -> "Manage Libraries..." e procure por "Adafruit SSD1306" e "Adafruit GFX Library". Instale ambas.

  2. Conexão do Hardware: Conecte o display OLED ao Arduino conforme a tabela abaixo:

    • VCC -> 5V
    • GND -> GND
    • SDA -> A4
    • SCL -> A5
  3. Código de Exemplo:

    // Inclui as bibliotecas necessárias
    #include <Wire.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_SSD1306.h>
    
    // Define as dimensões do display
    #define SCREEN_WIDTH 128
    #define SCREEN_HEIGHT 64
    
    // Define o pino de reset do display (não utilizado)
    #define OLED_RESET -1
    Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
    
    void setup() {
     // Inicializa a comunicação serial para debug
     Serial.begin(9600);
    
     // Inicializa o display com a comunicação I2C
     if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
       Serial.println(F("Falha ao inicializar o display SSD1306"));
       for(;;); // Trava em um loop infinito
     }
    
     // Limpa o buffer do display
     display.clearDisplay();
    
     // Define a cor do texto
     display.setTextColor(SSD1306_WHITE);
    
     // Define o tamanho do texto
     display.setTextSize(1);
    
     // Define a posição inicial do cursor
     display.setCursor(0, 0);
    
     // Exibe uma mensagem no display
     display.println(F("Hello, world!"));
    
     // Atualiza o display com o conteúdo do buffer
     display.display();
    
     // Aguarda 2 segundos
     delay(2000);
    
     // Desenha um retângulo
     display.drawRect(10, 10, 50, 30, SSD1306_WHITE);
    
     // Atualiza o display novamente
     display.display();
    }
    
    void loop() {
     // Código principal (vazio para este exemplo)
    }

    Comentários do Código:

    • #include <Wire.h>: Inclui a biblioteca Wire para comunicação I2C.
    • #include <Adafruit_GFX.h> e #include <Adafruit_SSD1306.h>: Incluem as bibliotecas necessárias para controlar o display.
    • Adafruit_SSD1306 display(...): Cria um objeto display com as dimensões e o tipo de comunicação.
    • display.begin(...): Inicializa o display.
    • display.clearDisplay(): Limpa o buffer do display.
    • display.setTextColor(...), display.setTextSize(...), display.setCursor(...): Configurações de texto.
    • display.println(...): Escreve texto no buffer do display.
    • display.display(): Atualiza o display com o conteúdo do buffer.
    • display.drawRect(...): Desenha um retângulo no display.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.