O visor OLED 0,91in é um visor gráfico compacto com uma resolução de 128×32 pixels que lhe permite desenhar e exibir texto para criar uma interface gráfica. Entre todos os expositores disponíveis para o Arduino, o visor OLED está a tornar-se cada vez mais popular no mercado. Uma vez que são mais finos e não requerem retroiluminação, são fáceis de inserir em projectos miniaturizados.
Material
- Computador
- Arduino UNO
- Cabo USB A Macho/B Macho
- OLED 0.91in
Princípio funcional
O visor OLED 0,91in é um visor monocromático accionado pelo SSD1306 IC e interfaces que utilizam comunicação I2C.
Esquema
O ecrã OLED tem 4 pinos para permitir a gestão do visor. É alimentado pelo microcontrolador e liga-se ao autocarro I2C.
- GND Ligar à terra do microcontrolador
- VCC Pino de fornecimento de energia. Tipicamente ligado ao pino de 3V ou 5V do microcontrolador.
- Relógio de comunicação SCL I2C
- Dados SDA da ligação I2C.
Código
Assim que o seu visor OLED estiver devidamente ligado, pode modificar o seguinte código para obter a funcionalidade desejada. No exemplo seguinte, vamos simplesmente mostrar um contador.
Para gerir o visor OLED, as bibliotecas utilizadas são Adafruit_GFX.h e Adafruit_SSD1306.h, cujas funções a conhecer são as seguintes:
- Adafruit_SSD1306 display = Adafruit_SSD1306(128, 32, &Wire); para definir o display de acordo com o tipo
- display.begin(SSD1306_SWITCHCAPVCC, 0x3C); para inicializar o ecrã
- display.setTextSize() para definir o tamanho do texto
- display.clearDisplay(); para limpar o que é exibido no ecrã
- display.display(); para refrescar o ecrã
- display.setCursor() para definir o cursor
- display.print() e display.println() para exibir texto
Existem outras funções mais específicas para desenhar rectângulos, linhas ou para exibir imagens.
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 32, &Wire);
byte compteur;
void setup() {
Serial.begin(9600);
Serial.println("OLED intialized");
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Address 0x3C for 128x32
display.display();
delay(1000);
// Clear the buffer.
display.clearDisplay();
display.display();
// text display tests
display.setTextSize(1);
display.setTextColor(WHITE);
}
void loop() {
for (compteur = 0 ; compteur < 25 ; compteur++) {
display.clearDisplay();
display.setCursor(0, 0);
display.println("test compteur");
display.print("compteur: ");
display.println(compteur);
display.display();
delay(1000);
}
}
Resultado
Observar bem onde são colocadas as cordas apresentadas e jogar com os parâmetros de entrada das funções para comparar os seus efeitos. Isto permitir-lhe-á ter uma melhor compreensão da biblioteca e das funcionalidades do módulo Oled.
Aplicações
- Fazer um relógio com módulo RTC
- Criação de um menu interactivo com um codificador rotativo
Fontes
Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie

