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