#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// Definir a largura e altura do display (em pixels)
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
// Definir o objeto do display OLED
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
// Inicializa a comunicação serial para monitoramento
Serial.begin(115200);
// Inicializa o display SSD1306 com o endereço padrão (0x3C para display OLED de 128x64)
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("Falha ao inicializar o display SSD1306"));
for (;;); // Fica em loop se houver falha na inicialização
}
// Limpa o buffer do display
display.clearDisplay();
// Define a cor do texto (branco)
display.setTextColor(SSD1306_WHITE);
// Define o tamanho do texto
display.setTextSize(1);
// Define a posição do cursor (coluna, linha)
display.setCursor(0, 0);
// Exibe uma mensagem no display
display.println(F("Teste do OLED SSD1306"));
// Exibe o buffer no display
display.display();
// Pausa de 2 segundos
delay(2000);
// Limpa o display novamente
display.clearDisplay();
// Desenha um retângulo no display
display.drawRect(10, 10, 50, 30, SSD1306_WHITE);
// Atualiza o display para exibir o retângulo
display.display();
}
void loop() {
// Não há necessidade de código no loop para este exemplo
}