/*********
Rui Santos
Complete project details at https://randomnerdtutorials.com
*********/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
static const unsigned char PROGMEM image_data_Saraarray[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFE, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7F, 0xFF, 0xFF, 0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB7, 0xEF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xF8, 0x80, 0x00, 0x57, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0xF8, 0x05, 0x80, 0x20, 0x02, 0x00, 0xE0, 0x1F, 0xE0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1F, 0xC0, 0x3F, 0x00, 0x20, 0x06, 0x00, 0x7C, 0x07, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7F, 0x81, 0xFE, 0x00, 0x30, 0x0E, 0x00, 0x3F, 0x80, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFE, 0x07, 0xFC, 0x00, 0x7A, 0x5E, 0x00, 0x3F, 0xE0, 0x7F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0xF8, 0x3F, 0xFC, 0x00, 0x3F, 0xFE, 0x00, 0x1F, 0xF8, 0x1F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x07, 0xF0, 0xFF, 0xF8, 0x00, 0x7F, 0xFE, 0x00, 0x1F, 0xFE, 0x0F, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x07, 0xC1, 0xFF, 0xF8, 0x00, 0x7F, 0xFE, 0x00, 0x1F, 0xFF, 0x83, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x1F, 0x83, 0xFF, 0xF8, 0x00, 0x3F, 0xFE, 0x00, 0x0F, 0xFF, 0xC1, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x3F, 0x07, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x0F, 0xFF, 0xF0, 0xFC, 0x00, 0x00,
0x00, 0x00, 0x3C, 0x1F, 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0xF0, 0x3C, 0x00, 0x00,
0x00, 0x00, 0xFC, 0x3F, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x0F, 0xFF, 0xFC, 0x3E, 0x00, 0x00,
0x00, 0x00, 0xF8, 0x7F, 0xFF, 0xF0, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0xFE, 0x1F, 0x00, 0x00,
0x00, 0x01, 0xF0, 0xFF, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x0F, 0xFF, 0xFE, 0x0F, 0x80, 0x00,
0x00, 0x01, 0xE0, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xFF, 0x07, 0x80, 0x00,
0x00, 0x03, 0xC1, 0xFF, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0x87, 0xC0, 0x00,
0x00, 0x03, 0xC3, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xFF, 0x83, 0xC0, 0x00,
0x00, 0x07, 0xC3, 0xFF, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xFF, 0xC1, 0xE0, 0x00,
0x00, 0x07, 0x87, 0xFF, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0xC1, 0xE0, 0x00,
0x00, 0x07, 0x87, 0xFF, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xE1, 0xE0, 0x00,
0x00, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xD7, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xE0, 0xF0, 0x00,
0x00, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x00,
0x00, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xF0, 0x00,
0x00, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x00,
0x00, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x70, 0x00,
0x00, 0x0E, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x00,
0x00, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xF0, 0x00,
0x00, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x00,
0x00, 0x07, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xF0, 0x00,
0x00, 0x0F, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0x00,
0x00, 0x07, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xF0, 0x00,
0x00, 0x07, 0x83, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xE0, 0x00,
0x00, 0x07, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xE0, 0x00,
0x00, 0x03, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0xC0, 0x00,
0x00, 0x03, 0xE0, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0x07, 0xC0, 0x00,
0x00, 0x01, 0xE0, 0x7F, 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x1F, 0xFE, 0x07, 0x80, 0x00,
0x00, 0x01, 0xF0, 0x3F, 0xF0, 0x03, 0xFE, 0x7F, 0xFF, 0x7F, 0xC0, 0x0F, 0xFE, 0x0F, 0x00, 0x00,
0x00, 0x00, 0xF8, 0x1F, 0xF0, 0x01, 0xF0, 0x3F, 0xFE, 0x0F, 0x80, 0x07, 0xF8, 0x1F, 0x00, 0x00,
0x00, 0x00, 0x7C, 0x0F, 0xF0, 0x00, 0x70, 0x0F, 0xF8, 0x0F, 0x00, 0x0F, 0xF8, 0x3E, 0x00, 0x00,
0x00, 0x00, 0x3E, 0x07, 0xF0, 0x00, 0x60, 0x0F, 0xF8, 0x07, 0x00, 0x07, 0xE0, 0x7E, 0x00, 0x00,
0x00, 0x00, 0x1F, 0x01, 0xF0, 0x00, 0x60, 0x07, 0xF0, 0x02, 0x00, 0x0F, 0xC0, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x0F, 0x80, 0xF8, 0x00, 0x00, 0x03, 0xE0, 0x04, 0x00, 0x0F, 0x01, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x0F, 0xC0, 0x38, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x0E, 0x07, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x03, 0xF0, 0x0C, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x38, 0x07, 0xC0, 0x00, 0x00,
0x00, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x20, 0x1F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1F, 0xFE, 0x80, 0x00, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xF6, 0x80, 0x00, 0xBF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void setup() {
Serial.begin(115200);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
delay(0); // Pause for 2 seconds
// Clear the buffer.
display.clearDisplay();
// Draw bitmap on the screen
display.drawBitmap(0, 0, image_data_Saraarray, 128, 64, 1);
display.display();
}
void loop() {
}