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: