Projeto Arduino com Display OLED: Exibindo Textos em Movimento

A utilização de displays em projetos torna-se cada vez mais comum devido ao fácil acesso às informações e a grande diversidade de modelos que vem para agradar a todos...

A utilização de displays em projetos torna-se cada vez mais comum devido ao fácil acesso às informações e a grande diversidade de modelos que vem para agradar a todos tanto no sentido econômico quanto no processo geral de desenvolvimento de projetos, em especial o Projeto Arduino com Display OLED.

Ao desenvolver um projeto para leitura e interpretação de dados é fundamental a inclusão de um display, seja ele TFT ou OLED como o que utilizaremos como base em nosso projeto. Cada qual suas vantagens, o display OLED se destaca pelas pequenas dimensões e o sistema que utiliza para exibir os seus dados.

Através da sua tecnologia de luz própria, o Display OLED não necessita de backlight para funcionar, isto, devido ao fato do mesmo possuir um contraste mais intensificado que acaba por gerar um melhor aproveitamento da energia e um menor consumo.

Desenvolvido de um modo que facilita a sua utilização, IIC OLED LCD Display possui uma estrutura física pronta para uso, bastando incluir os pinos junto ao mesmo para iniciar os projetos. Com uma resolução em pixels de 128×32 (0,91”), o Display possui base de comunicação o padrão de comunicação I2C

Diversas são as possibilidades de aplicação para este produto, o Display OLED é indicado principalmente para o projeto arduino com display OLED que necessita de um equipamento de visualização que fique bastante tempo em funcionamento e gaste bem pouca energia.

 

Equipamentos Utilizados no Teste

– Arduino Uno R3 + Cabo USB;

– Display OLED 128×32 0.91″ para Arduino;

– Jumper Premium para Protoboard Macho-Macho;

– Barra de pinos macho 1×40 vias 180°.

 

Aplicação e Funcionamento

Neste Projeto Arduino com Display OLED vamos utilizar o Display OLED 128×32 para exibir alguns caracteres através do Arduino, para tornar o projeto um pouco mais atrativo decidimos utilizar um código que possibilite aos caracteres movimentarem-se de forma horizontal.

 

Esquema de Ligação (Hardware)

Por se tratar de um equipamento que comunica-se através de comunicação I2C, este equipamento mostra-se um equipamento compacto e de fácil utilização, necessitando somente dois fios para alimentação e dois fios para a comunicação.

– GND – Conectado junto ao Pino GND do Arduino;

– VCC – Conectado junto aos 5V do Arduino;

– SCL – Conectado junto ao pino analógico A5;

– SDA – Conectado junto ao pino analógico A4.

Segue imagem ilustrativa com o esquema de ligação do I2C OLED Display junto ao Arduino:

Como podemos observar na imagem acima, o esquema de ligação do Projeto Arduino com Display OLED é extremamente simplificado e diferente dos Displays LCD, por exemplo, já que este equipamento não necessita de trimpot para ajuste de contraste devido ao ajuste automático de contraste via código e não possui backlight para auxiliar na economia de energia.

Vale ressaltar que a soldagem da barra de pinos junto ao módulo torna-se fundamental para garantir a comunicação dos dados e a exibição de informações já que qualquer tipo de falha na comunicação impossibilita a utilização do sistema e necessita que o mesmo seja reiniciado, podendo ser feito através do próprio RESET do Arduino utilizado.

 

Código de Funcionamento (Software)

O código utilizado para o funcionamento do referente projeto arduino com display oled é extremamente simplificado, conta com apenas uma biblioteca para utilização e suas variáveis são de fácil compreensão, abaixo vamos demonstrar o código totalmente explicado e elencar algumas informações importantes neste procedimento.

// Código exemplo para funcionamento Display OLED 128x32
// Projeto disponibilizado por Usinainfo
// www.usinainfo.com.br - Arduino e Ferramentas

#include "U8glib.h" // Inclui a biblioteca U8glib.h ao código.

// Inicializa o display OLED através da biblioteca "U8glib.h"
U8GLIB_SSD1306_128X32 mujOled(U8G_I2C_OPT_NONE);

long int transcription = 0;
int position = 0;
bool direction = 1;

void setup(void) {
// Abaixo, variável que gira a tela em 180º,
// Para ativar, retire as barras de comentário:
// mujOled.setRot180 ();
}

void loop(void) {
// Cria as variáveis das mensagens a serem exibidas:
String message = " USINAINFO - ";
message += " Arduino OLED   ";

// Taxa de feed que executa a informação
// Altera a velocidade de deslocamento do texto
if (millis() - transcription > 500) {

// Restaura o conteúdo da tela OLED
mujOled.firstPage();

// Reenderiza a mensagem na posição especificada
do {
drawText(position, message);
}

// Armazena o tempo de recuperação
while (mujOled.nextPage() );
transcription = millis();

// Declara a direção de movimento do texto
// Inicia movimento para a esquerda
if (direction) {
position += 1;

// Ao final dos caracteres, muda a direção do movimento
if (position > message.length() - 15) {
direction = 0;
}
}

// Inicia movimento para a direita
else {
position -= 1;

// Quando na posição 0, reinicia posição
if (position == 0) {
direction = 1;
}
}
}

delay(10); // Delay para reinicialização
}

// Encaminha o texto para a posição especificada
void drawText(int shift, String text) {

// Configura a fonte utilizada pelo texto
// Mais fontem em: https://github.com/olikraus/u8glib/wiki/fontsize
mujOled.setFont(u8g_font_fub14);

// Define as coordenadas junto ao display
// Esta informação pode variar de acordo com a Fonte
mujOled.setPrintPos(0, 25);

// Salva 15 caracteres de deslocamento
String extract;
extract = text.substring(shift, shift + 15);

// Extrai a parte salva para o Display
mujOled.print(extract);
} 

Como pudemos observar, algumas alterações podem ser feitas com o intuito de aprimorar e adaptar o produto nos mais diversificados projetos, podendo girar o texto em 180º e mudar a base de exibição ou até mesmo alterar a fonte do texto utilizado no software.

Para alterar a fonte do texto exibido junto ao Display OLED 128×32 basta acessar o link descrito junto ao código e escolher a fonte que melhor se adapte ao projeto desenvolvido e alterar a nomenclatura da mesma junto ao código, segue biblioteca para download com todas estas informações necessárias:

Biblioteca U8glib: DOWNLOAD AQUI

Com isto, finalizamos a coleta de dados e informações referentes ao Display OLED, através do esquema de ligação apresentado podemos nos guiar e realizar a devida conexão dos módulos e através do código e biblioteca garantimos a programação e usabilidade do referente produto.

 

Conclusão

Através do Projeto Arduino com Display OLED podemos utilizar a nossa criatividade e expandir as possibilidades de nossos projetos, através do Display OLED 128×32 podemos garantir um projeto compacto, simples e de fácil desenvolvimento. Diversas são as possibilidades de expandir as possibilidades, basta ter imaginação.

Alterar a posição dos caracteres, diminuir o tamanho da fonte, organizar novas linhas são somente o inicio do treino para desenvolver maiores possibilidades, alterar o texto será o ponta pé inicial e após, todo o restante será uma grande conquista.

Não esqueça de deixar seu comentário logo abaixo e nos dizer o que conseguiu desenvolver, compartilhe ideias, trabalhe novas possibilidades e jamais desista de evoluir ainda mais o seu conhecimento. Até a próxima!

Categorias
ArduinoProjetos

Mecânico de Manutenção com Experiência em Sistemas Embarcados, Automação e Desenvolvimento de Projetos; Graduando dos Cursos de Matemática - URI e Física - UFFS.
Um Comentário
  • leandrisson
    4 outubro 2018 at 15:41
    Enviar Resposta

    Bem legal esse artigo, como sempre, mais uma bela postagem do Blog da Usinainfo.
    A bib U8glib comentada assim fica bem mais facil de entender, eu sempre tive dificuldades em usa-la. Obrigado!

    • Equipe Usinainfo
      23 novembro 2018 at 12:44
      Enviar Resposta

      Bom dia!

      Ficamos felizes em ver que nosso trabalho está auxiliando de alguma maneira.

    Enviar Resposta

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões
    • O Projeto Arduino de Irrigação Automática nos mostra que sempre existe algo escondido que nos arranca um sorriso e nos deixa impressionado. Conhecimento nunca é de mais e desbravar...
    • O ESP32 LoRa WiFi é uma pequena placa de desenvolvimento que integra três formas distintas de comunicação: Wifi, Bluetooth e a rede de comunicação de longo alcance – LoRa...
    • Adicionar em um Projeto ESP32 um Display torna a visibilidade de dados muito mais interessante. Nesse tutorial, demonstraremos como conectar um display de 16×2 em uma ESP32. Utilizaremos também...
    • Continuando a série de tutoriais sobre Micropython ESP32, iremos desenvolver alguns projetos para exemplificar o seu uso. Em todos os exemplos, estaremos utilizando o uPyCraft IDE. O entendimento do...

    Artigos Relacionados