Arduino Nano - OLED
Este tutorial ensina você a usar o Arduino Nano com um display OLED. Em detalhes, vamos aprender:
- Como conectar o display OLED ao Arduino Nano.
- Como programar o Arduino Nano para exibir texto e números no OLED.
- Como programar o Arduino Nano para centralizar texto e números vertical e horizontalmente no OLED.
- Como programar o Arduino Nano para desenhar no OLED.
- Como programar o Arduino Nano para exibir uma imagem no OLED.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: If you want a bigger OLED display, use the 2.42 inch OLED Display 128x64 .
Sobre o Display OLED
Existem vários tipos de displays OLED disponíveis. O OLED mais usado com o Arduino Nano é o display SSD1306 I2C OLED 128x64 e 128x32.

Pinagem do Display OLED I2C
- Pino GND: Deve ser conectado ao GND do Arduino Nano.
- Pino VCC: É a alimentação do display e deve ser conectado a 3.3V ou 5V.
- Pino SCL: É o pino de clock serial da interface I2C.
- Pino SDA: É o pino de dados serial da interface I2C.

※ Nota:
- Os pinos do módulo OLED podem variar conforme o fabricante e o tipo. Use os rótulos impressos no módulo OLED. Olhe com atenção!
- Este tutorial usa o display OLED controlado pelo driver SSD1306 I2C. Nós o testamos com o display OLED da DIYables e ele funciona perfeitamente.
Diagrama de Ligação
- Diagrama de ligação entre o Arduino Nano e o OLED 128x64

This image is created using Fritzing. Click to enlarge image
- Diagrama de ligação entre o Arduino Nano e o OLED 128x32

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Nano e outros componentes.
A tabela de ligação entre o Arduino Nano e o display OLED:
| Módulo OLED | Arduino Nano |
|---|---|
| Vin | 5V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
Como Usar o OLED com o Arduino Nano
Instalar a biblioteca SSD1306 OLED
- Clique no ícone Libraries na barra à esquerda da Arduino IDE.
- Pesquise por “SSD1306” e localize a biblioteca SSD1306 da Adafruit.
- Em seguida, pressione o botão Install para concluir a instalação.

- Você será solicitado a instalar dependências adicionais da biblioteca.
- Para instalar todas elas, clique no botão Install All.

Como programar o OLED
- Inclua a biblioteca
- Especifique as dimensões da tela OLED como 128 x 64.
- Ou especifique as dimensões de uma tela OLED de 128x32.
- Crie um objeto do tipo SSD1306 OLED.
- Na função setup(), inicialize o display OLED.
- Depois disso, você pode exibir texto, imagens e desenhar uma linha...
Daqui em diante, todos os códigos serão para o OLED 128x64. No entanto, é fácil modificá-los para o OLED 128x32 alterando o tamanho da tela e ajustando as coordenadas, se necessário.
Código Arduino Nano - Exibir Texto no OLED
Estas são algumas funções que podem ser usadas para exibir texto no OLED:
- oled.clearDisplay(): todos os pixels são apagados.
- oled.drawPixel(x,y, color): desenha um pixel nas coordenadas x,y.
- oled.setTextSize(n): define o tamanho da fonte, com suporte a tamanhos de 1 a 8.
- oled.setCursor(x,y): define as coordenadas para começar a escrever o texto.
- oled.setTextColor(WHITE): define a cor do texto.
- oled.setTextColor(BLACK, WHITE): define a cor do texto e a cor do fundo.
- oled.println(“message”): imprime os caracteres.
- oled.println(number): imprime um número.
- oled.println(number, HEX): imprime um número em formato hexadecimal.
- oled.display(): chame este método para que as alterações tenham efeito.
- oled.startscrollright(start, stop): rola o texto da esquerda para a direita.
- oled.startscrollleft(start, stop): rola o texto da direita para a esquerda.
- oled.startscrolldiagright(start, stop): rola o texto do canto inferior esquerdo para o canto superior direito.
- oled.startscrolldiagleft(start, stop): rola o texto do canto inferior direito para o canto superior esquerdo.
- oled.stopscroll(): interrompe a rolagem.
Como centralizar texto/número vertical e horizontalmente no OLED
Para saber como alinhar texto e números vertical e horizontalmente em um display OLED, consulte How to vertical/horizontal center on OLED.
Código Arduino Nano - Desenhar no OLED
Código Arduino Nano – Exibir Imagem
Para exibir uma imagem no OLED, primeiro precisamos converter a imagem (em qualquer formato) em um array de bitmap. Isso pode ser feito usando a ferramenta online. A imagem a seguir mostra como converter uma imagem em um array de bitmap; usei o ícone do Arduino Nano como exemplo.

Após a conversão, pegue o código do array e coloque no lugar do array ArduinoIcon no código abaixo.
※ Nota:
- O tamanho da imagem não deve ser maior que o tamanho da tela.
- Se você quiser usar o código para um OLED 128x32, precisa redimensionar a imagem e ajustar os parâmetros de largura e altura na função oled.drawBitmap();.
Solução de Problemas do OLED
Verifique se o OLED está funcionando corretamente fazendo o seguinte:
- Certifique-se de que a ligação está correta.
- Confirme que o seu OLED usa o driver SSD1306.
- Use o código I2C Address Scanner no Arduino Nano para verificar o endereço I2C do OLED.
A saída exibida no Serial Monitor é como esta: