Display OLED no Arduino: meu adaptador plug'n'play

É simples plugar o display OLED ao Arduino com minha plaquinha caseira feita com pouquíssimos componentes e fácil de montar.

Os populares displays OLED de 126x64 pixels, com alto contraste e alta resolução, são excelentes para oferecer visualização de dados ou de debug durante o desenvolvimento de projetos.

Montá-los é suficientemente simples – basta lembrar da ordem dos pinos específica do seu modelo. Mas se você fizer um adaptador permanente como eu fiz, ele vai estar sempre pronto, e usar passa a ser uma mera questão de plugar1 ;-)

O módulo Display OLED 128x64 monocromático

Esse módulo display de 128x64 pixels em 1 polegada (mais precisamente 0,96") serve para aplicações em que o peso é um fator importante, tais como em balões ou drones. Além de torná-lo leve, esse requisito também o torna muito nítido e brilhante.

Existe uma grande variedade de módulos baseados no mesmo display. Alguns toleram os 5V do Arduino Uno, outros exigem conversão para 3,3V. Alguns oferecem só conexão SPI, outros I2C, outros têm ambas.

Ao selecionar o meu display OLED, prestei atenção aos seguintes elementos:

  • Nível lógico de 3,3V e 5V (ambos, e não apenas um dos 2)
  • Conexão SPI
  • 7 pinos (alguns módulos "matam" um dos pinos da SPI)

A pinagem varia entre os modelos, e isso inclui até mesmo a ordem em que os pinos estão expostos. No caso do módulo que eu uso, a ordem é a seguinte, já com os pinos correspondentes no Arduino Uno.

Pino do
Display OLED
Pino do
Arduino Uno
Notas
GND
GND
VCC
5V
Ou um pino digital que esteja HIGH, veja detalhes abaixo.
RES
13 ou SCK
Alguns displays não oferecem este pino
CS
12 ou MISO
Alguns displays não oferecem este pino
DC
11 ou MOSI
D0 ou CLK
10
D1 ou DATA
9

Se o seu Arduino não for baseado no ATmega328, pode ser necessário mudar os pinos 11, 12 e 13 pelos pinos correspondentes às funções MOSI, MISO e SCK do seu modelo. Cada microcontrolador tem seus próprios pinos para conexões SPI, e assim os modelos como Mega, Leonardo e Due, entre outros, usam numerações diferentes das do Uno (que é a mesma do Nano e Pro Mini, entre outros). Como alternativa mais padronizada, você pode usar para isso os pinos do ICSP.

Um truque adicional: como a corrente do módulo OLED é super baixa (abaixo de 15mA, segundo o vendedor), o pino VCC pode ser substituído por um pino digital qualquer, desde que você o coloque no estado HIGH antes de inicializar o módulo. Eu usei o pino 8 para isso, e assim tenho que inserir as duas linhas abaixo logo no início da função setup() de qualquer sketch que vá usar o módulo:

  pinMode(8,OUTPUT);
  digitalWrite(8,HIGH);

Quanto ao restante do programa, siga as instruções dadas pelo vendedor do seu modelo específico. Na ausência delas, sugiro o guia publicado pela Adafruit, que tem instruções para vários modelos.

A montagem física

Pela tabela acima você pode verificar que a montagem usa 7 pinos do Arduino Uno que são todos vizinhos entre si. Para facilitar a visualização, eles estão marcados na imagem abaixo:

Na tabela você também pode verificar que a ordem em que esses pinos estão presentes no módulo display OLED não é a mesma em que eles estão no Arduino. Assim, caso você vá montá-lo em uma protoboard usando jumpers, eles se entrecruzarão, assim:

Nada muito complexo, basta lembrar sempre da ordem certa.

Meu adaptador para o display OLED no Arduino Uno

Após montar 2 ou 3 vezes a sequência de cabos acima, para usar o display OLED em testes de projetos variados, e precisar olhar a cada vez a referência da pinagem, notei que minha vida poderia ser bem melhor se eu deixasse um adaptador já pronto.

Uma das maneiras seria usar um cabo flat e montá-lo posicionando os fios corretos em cada terminal, para poder apenas encaixar. Mas pensei em algo mais firme, e foi assim que nasceu minha plaquinha adaptadora caseira para display OLED.

O material que eu usei foi bem básico: uma placa perfurada soldável, uma barra de terminais fêmea (90º), uma barra de terminais macho (90º), e uns 20cm de cabos de várias cores.

Usei um Dremel para serrar a plaquinha da foto acima formando um fragmento quadrado com 7 furos de lado, quebrei as duas barras de terminais em trechos de 7 terminais, e as soldei, com a barra macho posicionada no que passaria a ser a parte de baixo do adaptador (para plugar no Arduino) e a barra fêmea na parte de cima (para encaixar o display OLED).

A seguir, cortei os cabos de várias cores em segmentos de 1 a 2cm, e soldei fazendo as conexões entre os pinos já expostas na tabela no início deste artigo. O resultado você vê nas imagens:

À esquerda é só o adaptador, e à direita o módulo display OLED está encaixado. Note que eu usei as cores de fios arbitrariamente, exceto quanto ao GND, para o qual reservei o fio preto, de modo a servir claramente como guia do lado correto para a conexão.

Montado ficou assim:

Foi bem simples, e já começou a ser útil. Se você gostou, faça uma para o seu display preferido! Mas fique atento à pinagem – e ao limite de 40mA dos pinos digitais, caso vá aproveitar a minha dica de usá-los para alimentação :)

 
  1.  E estar rodando o software adequado, claro. Ele só é plug'n'play quanto ao hardware ;-)

Comentar

Dos leds ao Arduino, ESP8266 e mais

Aprenda eletrônica com as experiências de um geek veterano dos bits e bytes que nunca tinha soldado um led na vida, e resolveu narrar para você o que descobre enquanto explora esse universo – a partir da eletrônica básica, até chegar aos circuitos modernos.

Por Augusto Campos, autor do BR-Linux e Efetividade.net.

Recomendados

Livro recomendado


Artigos já disponíveis

Comunidade Arduino

O BR-Arduino é integrante da comunidade internacional de entusiastas do Arduino, mas não tem relação com os criadores e distribuidores do produto, nem com os detentores das marcas registradas.

Livros recomendados