#include <Adafruit_SSD1306.h>
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
static const unsigned char PROGMEM boykisser[] = { // Size 64x64 pixels
0x07, 0xff, 0x80, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x04, 0x00, 0x40, 0x7c, 0x00, 0x02, 0x00, 0x04,
0x0c, 0x00, 0x20, 0x43, 0x80, 0x04, 0x00, 0x04, 0x08, 0x00, 0x30, 0x40, 0x60, 0x08, 0x00, 0x04,
0x08, 0x00, 0x08, 0x40, 0x10, 0x10, 0x00, 0x04, 0x08, 0x00, 0x04, 0x60, 0x0c, 0x10, 0x00, 0x02,
0x08, 0x00, 0x06, 0x20, 0x02, 0x20, 0x00, 0x02, 0x10, 0x00, 0x02, 0x20, 0x01, 0x20, 0x00, 0x02,
0x10, 0x00, 0x01, 0x10, 0x00, 0xc0, 0x00, 0x02, 0x10, 0x00, 0x00, 0x98, 0x00, 0x40, 0x00, 0x02,
0x10, 0x00, 0x00, 0xe0, 0x00, 0x20, 0x00, 0x02, 0x10, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x02,
0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x07, 0xff, 0x00, 0x00, 0x00, 0x02,
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
0x04, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x08, 0x04, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x80, 0x10,
0x06, 0x0f, 0xff, 0xc0, 0x07, 0xf0, 0x80, 0x10, 0x02, 0x02, 0x1f, 0xc0, 0x07, 0xf0, 0x40, 0x20,
0x03, 0x04, 0x1f, 0xc0, 0x07, 0xf0, 0x40, 0x40, 0x01, 0x04, 0x1f, 0xc0, 0x07, 0xf0, 0x40, 0x80,
0x70, 0x84, 0x1f, 0xc0, 0x07, 0xf0, 0x23, 0xfc, 0x5f, 0x84, 0x1f, 0xc0, 0x07, 0xf0, 0x20, 0x04,
0x40, 0x08, 0x1f, 0xc0, 0x07, 0xf0, 0x20, 0x08, 0x40, 0x08, 0x0f, 0x80, 0x03, 0xe0, 0x20, 0x10,
0x20, 0x08, 0x0f, 0x80, 0x03, 0xe0, 0x20, 0x30, 0x10, 0x04, 0x0f, 0x80, 0x01, 0xc0, 0x00, 0x20,
0x0c, 0x04, 0x07, 0x0e, 0x00, 0x00, 0x00, 0xc0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0x01, 0x18, 0x00, 0x00, 0x00, 0x01, 0x20, 0x80, 0x02, 0x0b, 0x00, 0x00, 0x00, 0x02, 0xc0, 0x40,
0x02, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x30,
0x04, 0x00, 0x00, 0x46, 0xf8, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x08,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x78, 0x18, 0x78, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xc0,
0x07, 0x86, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x1e, 0x00, 0x00,
0x00, 0x00, 0x70, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x80, 0x00, 0x18, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0c, 0x00, 0x00,
0x00, 0x00, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00,
0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x03, 0x00, 0x00,
0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x80, 0x00,
0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00,
0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00,
0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00,
0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00
};
void setup() {
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);
display.display();
display.clearDisplay();
}
void showBitmap() {
display.clearDisplay();
display.drawBitmap(32, 0, boykisser, 64, 64, WHITE);
display.display();
delay(1000);
}
void loop() {
showBitmap();
}