#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET 4
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
#define NUMFLAKES 10
#define LOGO_HEIGHT 16
#define LOGO_WIDTH 16
static const unsigned char PROGMEM bitmap[] =
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3c, 0xf3, 0xf7, 0xc3, 0xe7, 0x8f, 0x61, 0xbe,
0x7d, 0xfb, 0xf7, 0xc3, 0xe7, 0xcf, 0x61, 0xbe,
0x61, 0x9b, 0x06, 0x03, 0x36, 0x66, 0x61, 0xb0,
0x61, 0x9b, 0x06, 0x03, 0x36, 0x66, 0x21, 0x30,
0x61, 0x9b, 0x06, 0x03, 0x36, 0x66, 0x33, 0x30,
0x79, 0xfb, 0xc7, 0x83, 0x37, 0xc6, 0x33, 0x3c,
0x3d, 0xfb, 0xc7, 0x83, 0x37, 0x86, 0x33, 0x3c,
0x0d, 0x9b, 0x06, 0x03, 0x36, 0xc6, 0x33, 0x30,
0x0d, 0x9b, 0x06, 0x03, 0x36, 0xc6, 0x12, 0x30,
0x0d, 0x9b, 0x06, 0x03, 0x36, 0x46, 0x1e, 0x30,
0x7d, 0x9b, 0x07, 0xc3, 0xe6, 0x6f, 0x0c, 0x3e,
0x79, 0x9b, 0x07, 0xc3, 0xc6, 0x6f, 0x0c, 0x3e,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void setup()
{
Serial.begin(9600);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3D))
{
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
display.display(); delay(500);
display.clearDisplay(); display.display();
}
void loop()
{
display.drawRect(0,0,64,16,1);
display.drawBitmap(0, 0, bitmap, 64, 16, 1);
display.display();
}