Como programar um display OLED com Arduino

Como programar um display OLED com Arduino

Sensores são usados ​​para converter uma quantidade física, como intensidade de luz ou temperatura, em elétrica. Existem vários tipos de sensores que podem ser facilmente utilizados com uma placa Arduino, o que é uma vantagem.

Por exemplo, qualquer sensor analógico ou digital interage facilmente com o Arduino, pois a placa oferece entradas analógicas e digitais. Os sensores analógicos coletam leituras em uma faixa de valores e os sensores digitais leem se um sinal está ativo (alto ou baixo).

Potenciômetro, joystick e sensores de temperatura são exemplos de sensores analógicos. Os sensores IR de proximidade, vibração e chama ou fumaça são digitais. Todos esses sensores podem se conectar diretamente ao Arduino, exibindo seus valores em um monitor serial. Displays, como LCD ou LED de 7 segmentos, podem ser usados ​​para apresentar o valor de um sensor.

O OLED — ou diodo orgânico emissor de luz — é outra opção de display e serve como alternativa ao LCD. Onde um LCD é passivo, o OLED está ativo (o que significa que contém amplificadores). Também é pequeno, brilhante e extremamente leve, por isso é comumente usado em dispositivos portáteis ou de bolso.

O OLED permite muitas opções de exibição, incluindo texto, dígitos, formas e imagens. Aqui aprenderemos como exibir o valor de um sensor, começando com os princípios básicos da exibição e como fazer a interface do OLED com uma placa Arduino.

O display OLED usado neste projeto tem aproximadamente 1 x 1” de dimensão (normalmente chamado de display de 1 polegada). Possui um controlador de vídeo integrado, o SSD1306.

Características incluem:

1. 128×64 pixels
2. Alto contraste
3. Protocolo de comunicação I2C
4. Cor dupla (azul e amarelo)
5. Não é necessária luz de fundo
6. Exibição de tipo ativo

Uma das vantagens desse tipo de display é que seus pixels só consomem energia quando estão ligados. Isso significa que o OLED consome menos energia em comparação com a maioria dos outros monitores.

Conforme mostrado no diagrama acima, o display possui quatro pinos. Apenas dois – os pinos SDA e SCL – são necessários para a interface. Para este projeto, o pino VCC recebe 5 Volts de fonte de alimentação.

O display funciona no protocolo de comunicação I2C, um barramento de comunicação serial de terminação única, que usa apenas dois pinos aqui: o SDA e o SCL. (É por isso que é conhecido como TWI ou interface de dois fios).

O microcontrolador host deve usar o protocolo I2C para exibir o valor, seja como uma mensagem de texto, dígitos, uma forma (como um círculo ou quadrado), uma imagem. Pode até exibir animações básicas. Para fazer isso com o Arduino, você precisará usar a biblioteca Adafruit.

Basta instalar estas duas bibliotecas da Adafruit:

  • Adafruit_ssd1306.h
  • Adafruit_GFX.h

Essas duas bibliotecas fornecem controle total da exibição do sensor OLED. Vamos revisar o diagrama do circuito a seguir.

O circuito

Conexões de circuito
Conforme mostrado no diagrama acima, o circuito é construído usando três componentes:

1. A placa Arduino NANO
2. Um display OLED
3. Um potenciômetro (POT)

  • O PT possui três terminais. Conecte os dois terminais finais aos pinos +5V e GND do Arduino. O pino do meio é um controle deslizante, que se conecta ao pino de entrada analógica A0 do Arduino.
  • O OLED possui quatro pinos de interface: VCC, GND, SDA e SCL. Conecte os pinos VCC e GND aos pinos +5 V e GND do Arduino. Isso fornece energia para o display. Em seguida, conecte os pinos SDA e SCL aos pinos A4 (SDA) e A5 (SCL) do Arduino para comunicação de dados.
  • A placa Arduino requer uma fonte de alimentação USB (de um computador). O chip regulador de tensão integrado fornece uma alimentação de 5 V para o POT e o display OLED.

Operação do circuito

  • O POT recebe uma fonte de alimentação de +5 V. Dependendo de quão girado seu botão, ele fornece tensão de saída analógica de 0 a 5 V através do terminal deslizante central.
  • Esta saída de tensão analógica é, então, alimentada no pino de entrada analógica A0 do Arduino. O Arduino lê a entrada e fornece um número de saída digital correspondente entre 0 e 1023. A saída digital é exibida no display OLED como “Valor POT”.
  • Em seguida, o Arduino mais uma vez converte o valor digital (entre 0 e 1023) em uma tensão analógica entre 0 e 5 V da seguinte forma:

Valor digital Tensão analógica
1023 5 V
X X × (5/1023)

  • O Arduino apresenta a tensão analógica no display como “tensão ip”.
  • Em última análise, os valores analógicos e digitais são exibidos no OLED.

Programas
A placa Arduino (ATMega328) realiza as seguintes tarefas, atendendo ao software abaixo:

1. Lê a entrada de tensão analógica do POT e a converte em um valor digital
2. Converte o valor digital em uma tensão analógica
3. Exibe os valores analógicos e digitais no display OLED

Este programa foi escrito em linguagem C/C++ usando o software Arduino IDE. É compilado e carregado usando o mesmo software.

Código

O link do vídeo do YouTube para este projeto:

Conteúdo Relacionado

Ascensão da IA Acionável: Transformando Vendas e Operações
A IA está avançando muito. Não estamos mais apenas alimentando...
Rust vs. C++: Segurança vs. Performance
Em 2025, a escolha entre Rust e C++ continua sendo...
MATLAB vs. R: Qual a melhor ferramenta para análise de dados e simulações?
A escolha entre MATLAB e R é uma decisão importante...
JRuby vs. Groovy: Desenvolvimento JVM Dinâmico
A escolha entre JRuby e Groovy pode ser um desafio...
Acelerando o Desenvolvimento de IA Generativa Empresarial com a Gencore AI
Embora a criação de um protótipo básico do ChatGPT possa...
V vs. Zig: Linguagem Certa para Desenvolvimento de Sistemas e Segurança
Na era digital em constante evolução, a escolha da linguagem...
Torna al blog

Lascia un commento

Si prega di notare che, prima di essere pubblicati, i commenti devono essere approvati.