#include #include #include #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 #define SCREEN_ADDRESS 0x3C Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); const unsigned char PROGMEM customBitmap[] = { // Bitmap width, height // Bitmap data (1 bit per pixel) 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xf0, 0x01, 0xff, 0xff, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0xff, 0xfc, 0x01, 0xe0, 0x0f, 0xff, 0xc0, 0xff, 0xf0, 0x03, 0xf8, 0x03, 0xff, 0xc0, 0xff, 0xe0, 0x0f, 0xfe, 0x01, 0xff, 0xc0, 0xff, 0xc0, 0x1f, 0xff, 0x00, 0x7f, 0xc0, 0xff, 0x80, 0x0f, 0xff, 0xc0, 0x3f, 0xc0, 0xff, 0x00, 0x00, 0x07, 0xf0, 0x1f, 0xc0, 0xfe, 0x00, 0x00, 0x01, 0xf8, 0x0f, 0xc0, 0xfc, 0x1c, 0x00, 0x00, 0xfe, 0x0f, 0xc0, 0xf8, 0x7f, 0x00, 0x00, 0x7f, 0x87, 0xc0, 0xfc, 0xff, 0x00, 0x00, 0x7f, 0xe7, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0xe7, 0xff, 0x00, 0x00, 0x7f, 0xf9, 0xc0, 0xe3, 0xff, 0x80, 0x00, 0xff, 0xf9, 0xc0, 0xe3, 0xff, 0xc0, 0x00, 0xff, 0xf8, 0xc0, 0xc3, 0xff, 0xe0, 0x03, 0xff, 0xf8, 0xc0, 0xc3, 0xff, 0xf8, 0x0f, 0xff, 0xf8, 0xc0, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x40, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x40, 0x83, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x40, 0x83, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x40, 0x83, 0xe0, 0xff, 0xff, 0xc0, 0xc0, 0x40, 0x83, 0xc0, 0x3f, 0xff, 0x80, 0x00, 0x40, 0x83, 0xc0, 0x1f, 0xff, 0x00, 0x00, 0x40, 0x83, 0x80, 0x1f, 0xfe, 0x00, 0x00, 0x40, 0x83, 0x80, 0x0f, 0xfc, 0x00, 0x00, 0x40, 0x83, 0x80, 0x07, 0xfc, 0x00, 0x00, 0x40, 0xc3, 0x80, 0x07, 0xf8, 0x00, 0x18, 0x40, 0xc3, 0xc0, 0x07, 0xf8, 0x00, 0x78, 0x40, 0xc3, 0xc0, 0x03, 0xf8, 0x00, 0x78, 0xc0, 0xc3, 0xc0, 0x03, 0xf8, 0x00, 0xf8, 0xc0, 0xe3, 0xe0, 0x03, 0xf8, 0x00, 0xf8, 0xc0, 0xe3, 0xe0, 0x03, 0xf8, 0x01, 0xf9, 0xc0, 0xe3, 0xf0, 0x03, 0xf8, 0x03, 0xf9, 0xc0, 0xf3, 0xf0, 0x07, 0xfc, 0x07, 0xf3, 0xc0, 0xf9, 0xf0, 0x0f, 0xfc, 0x0f, 0xe3, 0xc0, 0xf8, 0x70, 0x1f, 0xff, 0xff, 0x87, 0xc0, 0xfc, 0x10, 0x1f, 0xff, 0xfe, 0x07, 0xc0, 0xfe, 0x00, 0x1f, 0xff, 0xfc, 0x0f, 0xc0, 0xfe, 0x00, 0x1f, 0xff, 0xf0, 0x1f, 0xc0, 0xff, 0x00, 0x1f, 0xff, 0xc0, 0x3f, 0xc0, 0xff, 0xc0, 0x1f, 0xff, 0x80, 0x7f, 0xc0, 0xff, 0xe0, 0x0f, 0xfe, 0x00, 0xff, 0xc0, 0xff, 0xf0, 0x07, 0xf8, 0x03, 0xff, 0xc0, 0xff, 0xfc, 0x01, 0xe0, 0x0f, 0xff, 0xc0, 0xff, 0xff, 0x00, 0xc0, 0x3f, 0xff, 0xc0, 0xff, 0xff, 0xe0, 0xc1, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0 }; void setup() { Serial.begin(9600); if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for(;;); } display.display(); delay(2000); display.clearDisplay(); // Draw bitmap int xOffset = (SCREEN_WIDTH - 50) / 2; display.drawBitmap(xOffset, 0, customBitmap, 50, 50, SSD1306_WHITE); display.display(); } void loop() { // Nothing to do here }