Manual

do

Maker

.

com

Wemos ESP32 com OLED onboard

Wemos ESP32 com OLED onboard

Vamos começar pelos fatos. Esse ESP32 com oled onboard é incrível. Essa board não é uma Wemos. Quem fez, utilizou o logo da Wemos.cc, mas aí eu me perguntei duas coisas ao mesmo tempo:

"E daí?" - Tem importância pra você a "etiqueta"?

"Pra quê?" - Havia necessidade de "pichar" a placa?

Tanto faz se é Wemos ou Wallace, é um ESP32 com display OLED onboard! E na parte de trás ainda tem um conector para pack de bateria. Desse jeito o coração não aguenta! Esse sim vale a pena ir para a árvore de natal com esse projetinho. Daí aposto que você já está se perguntando:

Onde comprar?

Por sorte temos alguém apaixonado por novidades. Esse ESP32 você encontra na CurtoCircuito, clicando aqui. Se você procurar pelo display OLED e um ESP32 à parte (mais os jumpers necessários para fazer o wiring e mais as taxas de entrega) com certeza você terá um custo maior, mas independente disso, você terá exclusividade em primeira mão. Confira por si mesmo!

Pinout do ESP32 com OLED onboard

O acesso aos pinos do ESP32 estão dispostos nas duas laterais (ou em cima e embaixo, dependendo da forma que você o está segurando). Na parte de trás da placa estão as portas USB e a porta de conexão com a bateria. O pinout dessa board é o seguinte:

wemos-esp32_com_oled-pinout.webp

Display I2C OLED

O display é I2C e os pinos de comunicação utilizados no ESP32 são o pino 5 para SDA e pino 4 para SCL. O endereço do display é 0x3E. Os pinos configurados são pino 5para SDApino 4 para SCL. A biblioteca utilizada foi a da Adafruit.

Para conseguir compilar, a IDE do Arduino deve ficar com os avisos do compilador em Padrão. Para isso, abra Arquivos > Preferências e faça a escolha.

Mas (e muitas vezes tem um "mas"), você precisará dar um "tapinha" na chamada do Wire dentro do arquivo ~/Arduino/libraries/Adafruit_SSD1306/Adafruit_SSD1306.cpp porque precisamos dizer qual pino utilizar, uma vez que está fora do padrão a utilização dos pinos 4 e 5. Mas está mais fácil que fazer um blink. Edite o arquivo e vá até a linha 206, então deixe o begin assim:

Wire.begin(5,4);

Daí o que vai acontecer é que essa biblioteca funcionará apenas para esse display, exceto removamos a referência dos pinos "ou" adicionemos esses parâmetros à classe. É fácil fazer, mas como não é tão fácil quanto adicionar esses 3 Bytes na chamada do begin, preferí a solução "porca" por enquanto.

Para testar, utilizei o mesmo código do projeto para árvore de natal, só que agora eu não coloquei o buzzer pra tocar Jingle Bell, só queria mesmo testar o display pra ver se realmente eu poderia controlá-lo com essa biblioteca.

Quando a placa chegou, já estava com um programa pré-carregado, que é justamente um dos exemplos que você encontra na biblioteca, mas se carregar um exemplo sem fazer a modificação supracitada, não vai funcionar!

Bom, agora sempre que escrever um artigo com ESP32, vou utilizar essa board quando precisar de display e a placa de desenvolvimento quando não. Não viu a placa de desenvolvimento ainda? Tá perdendo artigo, hum?

Eis o video desse demo (unha suja de esfregar cola, não repare):

https://youtu.be/iv26uRcyOEc

Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.