Neste artigo veremos:
O que você vai precisar
1 Display OLED de qualquer resolução (usamos o 128×64) com I2C – caso o seu seja outro modifique o arquivo de acordo
Biblioteca Adafruit_SSD1306 que poderá ser encontrada aqui
Fios (jumpers)
A Conexão
A conexão com os módulos I2C ocorre de maneira muito simples.
Vcc – 5v do Arduino
Gnd – Gns do Arduino
SDA (Dados) – na maioria dos Arduinos (A4), no Mega (20), no Leonardo (D2)
SCK (Clock) – na maioria dos Arduinos (A5), no Mega (21), no Leonardo (D3)
A programação
Scanner
Para saber qual é o seu display I2C use o programa abaixo.
// from https://playground.arduino.cc/Main/I2cScanner?action=sourceblock&num=1
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
while (!Serial);
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scaneando...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("Dispositivo I2C encontrado no endereço 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Erro desconhecido no endereço 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("Não encontramos nenhum dispositivo I2C\n");
else
Serial.println("pronto\n");
delay(5000);
}
Programa
Para mostrar uma imagem
// Este exemplo foi criado por Edson Sidnei Sobreira
// Domínio Público
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
const unsigned char HackEduca_logo [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x07, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x07, 0xFC, 0x70, 0x00, 0x00, 0x0C, 0x00, 0x1F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0xE0, 0x70, 0x00, 0x00, 0x3E, 0x00, 0x3F, 0xE0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xE0, 0x70, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x86, 0x30, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xE0, 0x70, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x86, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xE0, 0x70, 0x00, 0x00, 0x06, 0x00, 0x03, 0x87, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xE0, 0x70, 0x78, 0x00, 0x06, 0x0F, 0xF3, 0x87, 0x00, 0x07, 0xF0, 0x18, 0x00, 0x1F, 0x00,
0x00, 0xE0, 0x70, 0xFE, 0x00, 0x06, 0x1F, 0xFB, 0x8F, 0x00, 0x07, 0xF8, 0x38, 0x00, 0x3F, 0x80,
0x00, 0xE0, 0x71, 0xFE, 0x07, 0x87, 0x0F, 0xF3, 0xFF, 0x00, 0x0F, 0xF8, 0x38, 0x1E, 0x3F, 0x80,
0x00, 0xFF, 0xF1, 0xCF, 0x1F, 0xE7, 0x0E, 0x07, 0xFF, 0x01, 0xFF, 0x38, 0x38, 0x7F, 0x71, 0xC0,
0x00, 0xFF, 0xF1, 0x87, 0x3F, 0xE7, 0x3C, 0x0F, 0xE7, 0x03, 0xFF, 0x38, 0x38, 0xFF, 0xA1, 0xC0,
0x00, 0xFE, 0x70, 0x07, 0x38, 0x47, 0x78, 0x07, 0x87, 0x03, 0x8F, 0x38, 0x39, 0xE3, 0x00, 0xC0,
0x00, 0xE0, 0x70, 0x3F, 0x70, 0x07, 0xF8, 0x03, 0x87, 0x37, 0x07, 0x38, 0x39, 0xC0, 0x07, 0xC0,
0x00, 0xE0, 0x70, 0xFF, 0x70, 0x07, 0xF8, 0x03, 0x87, 0x7F, 0x07, 0x38, 0x3D, 0x80, 0x1F, 0xC0,
0x00, 0xE0, 0x71, 0xFF, 0xF0, 0x07, 0xFC, 0x03, 0x86, 0x7E, 0x07, 0x38, 0x3F, 0x80, 0x7F, 0xC0,
0x00, 0xE0, 0x71, 0xC7, 0x70, 0x07, 0x9C, 0x03, 0x80, 0x7E, 0x07, 0x38, 0x3F, 0x80, 0x71, 0xC0,
0x00, 0xE0, 0x73, 0x87, 0x70, 0x07, 0x1E, 0x03, 0xC0, 0x7E, 0x03, 0x38, 0x7D, 0x80, 0xE1, 0xC0,
0x00, 0xE0, 0x73, 0x87, 0x70, 0x67, 0x0F, 0x1F, 0xFF, 0xFE, 0x03, 0x38, 0x7D, 0xC1, 0xE1, 0xC0,
0x03, 0xE0, 0x73, 0x87, 0x38, 0xE7, 0x07, 0x1F, 0xFF, 0xFE, 0x03, 0xBC, 0x7D, 0xE7, 0xE1, 0xC0,
0x07, 0xFC, 0x73, 0xFF, 0x3F, 0xE7, 0x07, 0xF0, 0x07, 0xE7, 0x9F, 0x9F, 0xFF, 0xFF, 0xFB, 0xC0,
0x07, 0xFC, 0x7F, 0xFF, 0x9F, 0xDF, 0xCF, 0xF8, 0x00, 0x07, 0xFF, 0xFF, 0xDF, 0xFE, 0x7F, 0xE0,
0x00, 0x79, 0xFE, 0xFF, 0xC0, 0x3F, 0xCF, 0xF0, 0x00, 0x03, 0xFF, 0xE7, 0x8F, 0x08, 0x3F, 0xF0,
0x00, 0x03, 0xFE, 0x01, 0x80, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x60,
0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3c);
display.clearDisplay();
display.drawBitmap(0, 0, HackEduca_logo, 128, 64, 1);
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(2,5);
display.println("Acesse nosso Website!");
display.setCursor(5,55);
display.print("www.hackeduca.com.br");
display.display();
}
void loop() {
}










No Comments