O display OLED SSD1306 é um monitor monocolor extremamente econômico comparado a outras telas. Com este display, é possível desenhar formas e exibir textos e imagens de bitmap. A conexão de dados deste modelo é I2C, mas existem outros monitores OLED que se comunicam usando a comunicação SPI.
O modelo em questão possui 0,96 polegadas com 128×64 pixels e não requer luz de fundo, o que resulta em um contraste muito agradável em ambientes escuros. Possui apenas quatro pinos, dois para alimentação (VCC e GND) e dois para dados (relógio serial SCL e serial data SDA), tornando a fiação muito simples.
O módulo possui um poderoso controlador de driver CMOS OLED de chip único - SSD1306. Ele pode se comunicar com o microcontrolador de várias maneiras, incluindo I2C e SPI. O SPI é geralmente mais rápido que o I2C, mas requer mais pinos de E/S. Enquanto o I2C requer apenas dois pinos e pode ser compartilhado com outros periféricos I2C. É uma troca entre pinos e velocidade.
Dependendo do modelo e fabricante os pinos de alimentação do OLED podem estar em ordem diferente, portanto verifique sempre antes de ligá-lo.
//inclusao das bibliotecas necessarias #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> Adafruit_SSD1306 display = Adafruit_SSD1306(); //objeto tipo Adafruit_SSD1306 void setup(){ Wire.begin(); //inicia com a biblioteca display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //inicia o display com endereço I2C 0x3C display.setTextColor(WHITE); //define cor display.setTextSize(1); //define o tamanho da fonte display.clearDisplay(); //limpa as informações do display } void loop() { display.setCursor(20,20); //posição do texto no display display.print("Escreva aqui seu nome"); //escreve o texto no display display.display(); //permite a mudança de texto no display delay(1000); //intervalo de 1 segundo display.clearDisplay(); //limpa o texto do display display.setCursor(10,10); //posiçao do texto no display display.print("Escreva aqui seu nome"); //escreve o texto no display display.display(); //permite a mudança de texto no display delay(1000); //intervalo de 1 segundo display.clearDisplay(); //limpa o texto do display display.setCursor(5,1); //posiçao do texto no display display.print("Escreva aqui seu nome"); //escreve o texto no display display.display(); //permite a mudança de texto no display delay(1000); //intervalo de 1 segundo display.clearDisplay(); //limpa o texto do display }