Etiquetas:

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.

oled-display-0p91in-module-overview Usando um visor OLED de 0,91in com Arduino

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.
arduino-oled128x32-screen_bb Usando um visor OLED de 0,91in com Arduino

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