Arduino UNO R4 - OLED 128x32
Este tutorial vai mostrar como usar um Arduino UNO R4 com um display OLED 128x32 I2C. Você vai aprender:
- Como conectar um display OLED 128x32 ao Arduino UNO R4.
- Como programar o Arduino UNO R4 para mostrar texto e números no display OLED 128x32.
- Como criar desenhos no display OLED 128x32 com o Arduino UNO R4.
- Como exibir imagens no display OLED 128x32 com o Arduino UNO R4.
- Como centralizar texto e números na vertical e na horizontal no display OLED 128x32.

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Display OLED
Pinagem do Display OLED I2C
- Pino GND: deve ser conectado ao GND do Arduino UNO R4
- Pino VCC: é a alimentação do display, que conectamos ao pino de 5 volts do Arduino UNO R4.
- Pino SCL: é o pino de clock serial da interface I2C.
- Pino SDA: é o pino de dados seriais da interface I2C.

※ Nota:
A disposição dos pinos em um módulo OLED pode variar conforme o fabricante e o modelo do módulo. Sempre confira e siga os rótulos do módulo OLED. Fique atento!
Este guia é para um display OLED que usa o driver I2C SSD1306. Nós o testamos com um display OLED da DIYables. Ele funciona perfeitamente, sem nenhum problema.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.
Se você usar um tipo diferente de Arduino UNO R4, a disposição dos pinos não será igual à do Uno. Veja a tabela abaixo para obter informações sobre outros modelos de Arduino UNO R4.
| Módulo OLED 128x32 | Arduino UNO R4 |
|---|---|
| Vin | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
Como Usar o OLED com o Arduino UNO R4
Instale a biblioteca OLED SSD1306
- Vá até o ícone Libraries no lado esquerdo da Arduino IDE.
- Digite "SSD1306" na caixa de busca e procure a biblioteca SSD1306 da Adafruit.
- Pressione o botão Install para adicionar a biblioteca.

- Você precisará instalar algumas bibliotecas adicionais.
- Clique no botão Install All para instalar todas as bibliotecas necessárias.

Como programar para o OLED
- Inclua uma biblioteca.
- Defina o tamanho da tela como OLED 123x32.
- Crie um objeto OLED SSD1306.
- Na função setup(), configure a tela OLED.
- Depois disso, você pode mostrar texto, imagens e desenhar linhas.
Código Arduino UNO R4 - Exibir Texto no OLED
Aqui estão algumas funções que você pode usar para mostrar texto no OLED:
- oled.clearDisplay(): desliga todos os pixels.
- oled.drawPixel(x, y, color): desenha um pixel nas coordenadas x, y.
- oled.setTextSize(n): muda o tamanho do texto, com opções de 1 a 8.
- oled.setCursor(x, y): define o ponto inicial do texto.
- oled.setTextColor(WHITE): deixa a cor do texto branca.
- oled.setTextColor(BLACK, WHITE): deixa a cor do texto preta e o fundo branco.
- oled.println("message"): exibe texto.
- oled.println(number): exibe um número.
- oled.println(number, HEX): mostra um número no formato hexadecimal.
- oled.display(): atualiza o display com as alterações.
- oled.startscrollright(start, stop): move o texto da esquerda para a direita.
- oled.startscrollleft(start, stop): move o texto da direita para a esquerda.
- oled.startscrolldiagright(start, stop): move o texto na diagonal, do canto inferior esquerdo para o superior direito.
- oled.startscrolldiagleft(start, stop): move o texto na diagonal, do canto inferior direito para o superior esquerdo.
- oled.stopscroll(): interrompe qualquer texto em rolagem.
Código Arduino UNO R4 - Desenhar no OLED
Código Arduino UNO R4 – Exibir Imagem
Para exibir uma imagem em uma tela OLED, primeiro transforme a imagem (em qualquer formato) em um array de bitmap. Você pode usar esta ferramenta Conversor de Imagem para Bitmap para convertê-la. Veja a imagem abaixo para entender como transformar uma imagem em um array de bitmap. Eu transformei o ícone do Arduino em um array de bitmap.

Copie o código do novo array e atualize-o no array do ícone do Arduino no código abaixo.
O vídeo abaixo mostra como fazer isso com um display OLED 128x64, um Arduino Uno e o ícone do Arduino
Podemos fazer algo parecido para funcionar com o Arduino Uno R4 e o OLED 128x32. O código abaixo exibe o ícone da DIYables no OLED 128x32
※ Nota:
- O tamanho da imagem deve ser igual ou menor que o tamanho da tela.
- Para usar o código fornecido em um OLED 128x32, você precisa redimensionar a imagem e ajustar a largura e a altura na função oled.drawBitmap();.
Como centralizar texto/número na vertical e na horizontal no OLED
Solução de Problemas do OLED
Se a tela OLED não mostrar nada, siga estes passos:
- Certifique-se de que a ligação está feita corretamente.
- Confirme que o seu OLED I2C possui o driver SSD1306.
- Verifique o endereço I2C do seu OLED usando o código I2C Address Scanner a seguir no Arduino UNO R4.
A saída no Serial Monitor: