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