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á
- Conselho de Arduino (por exemplo, Uno, Mega, Nano)
- Módulo de exibição OLED de 0,96 " (com interface i2c ou spi)
- Fios de pão e jumper
- Um computador com o Arduino IDE instalado
- 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:
- Biblioteca Adafruit SSD1306
- Biblioteca Adafruit GFX
Etapas para instalar bibliotecas
- Abra o Arduino IDE.
- Vá para Esboço > Inclua biblioteca > Gerenciar bibliotecas.
- Pesquise "Adafruit SSD1306" e clique Instalar.
- 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
-
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.
-
Erros da biblioteca:
- Verifique se as bibliotecas Adafruit SSD1306 e GFX estão instaladas.
-
Exibição tremeluzente:
- Usar
display.clearDisplay()
Somente quando necessário para minimizar o tremor.
- Usar
-
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
- Exibindo dados do sensor (por exemplo, temperatura, umidade)
- Interfaces de usuário para sistemas incorporados
- Feedback visual para dispositivos IoT
- 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!