/*********************************************************************
This is an example for Adafuit's Monochrome OLEDs based on SSD1306 drivers
Pick one up today in the adafruit shop!
------> http://www.adafruit.com/category/63_98
This example is for a 128x64 size display using I2C to communicate
3 pins are required to interface (2 I2C and one reset)
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, check license.txt for more information
All text above, and the splash screen must be included in any redistribution
*********************************************************************/
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels // tambahan
#define SCREEN_HEIGHT 64 // OLED display height, in pixels //tambahan
#define OLED_RESET 4
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
//#if (SSD1306_LCDHEIGHT != 64)
//#error("Height incorrect, please fix Adafruit_SSD1306.h!");
//#endif
const unsigned char myBitmap [] 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, 0x38, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0c, 0x00, 0x03, 0x83, 0x80, 0x60, 0x0f, 0x8f, 0xff, 0xf0, 0xfe, 0x00, 0xfc, 0x00, 0x00,
0x00, 0x0f, 0x00, 0x03, 0xe7, 0xe0, 0x78, 0x1f, 0xff, 0xff, 0xf1, 0xfe, 0x03, 0xff, 0x00, 0x00,
0x00, 0x0f, 0x00, 0x03, 0xe7, 0xe0, 0x78, 0x3f, 0xff, 0xff, 0x01, 0xfe, 0x07, 0xff, 0x80, 0x00,
0x00, 0x0f, 0x01, 0x83, 0xc7, 0xf0, 0xf8, 0xff, 0xff, 0x7e, 0x01, 0xfe, 0x03, 0xe3, 0xc0, 0x00,
0x00, 0x07, 0x81, 0xe3, 0xc7, 0xf0, 0xf9, 0xff, 0xc0, 0x7e, 0x03, 0xff, 0x01, 0xe1, 0xc0, 0x00,
0x00, 0x07, 0x87, 0xe3, 0xcf, 0xf8, 0xf9, 0xfe, 0x00, 0x7c, 0x03, 0xff, 0x01, 0xe3, 0xc0, 0x00,
0x00, 0x07, 0x8f, 0xc7, 0xcf, 0xf8, 0xf3, 0xf8, 0x00, 0x7c, 0x03, 0xdf, 0x01, 0xe7, 0xc0, 0x00,
0x00, 0x07, 0x8f, 0x87, 0x8f, 0xf9, 0xf3, 0xf8, 0x00, 0x7c, 0x07, 0xdf, 0x01, 0xcf, 0xc0, 0x00,
0x00, 0x07, 0x9f, 0x07, 0x8f, 0x7d, 0xf1, 0xfe, 0x00, 0x7c, 0x07, 0xdf, 0x83, 0xff, 0x80, 0x00,
0x00, 0x07, 0xdf, 0x07, 0x9f, 0x3d, 0xf0, 0xff, 0x00, 0x7c, 0x0f, 0xff, 0xc3, 0xff, 0x80, 0x00,
0x00, 0x07, 0xfe, 0x0f, 0x9f, 0x3d, 0xf0, 0x1f, 0xc0, 0x78, 0x0f, 0xff, 0x83, 0xff, 0x00, 0x00,
0x00, 0x07, 0xfe, 0x0f, 0x9f, 0x1f, 0xe0, 0x03, 0xe0, 0x78, 0x1f, 0xff, 0x87, 0xfc, 0x00, 0x00,
0x00, 0x07, 0xfc, 0x0f, 0x9f, 0x1f, 0xe0, 0x01, 0xe0, 0xf8, 0x1f, 0xcf, 0x87, 0xfc, 0x00, 0x00,
0x00, 0x07, 0xf8, 0x0f, 0x9f, 0x0f, 0xe0, 0x03, 0xf0, 0xf8, 0x1f, 0xcf, 0x87, 0xbe, 0x00, 0x00,
0x00, 0x07, 0xf8, 0x0f, 0x9f, 0x0f, 0xe0, 0x07, 0xe0, 0xf8, 0x3f, 0x07, 0x87, 0xbe, 0x00, 0x00,
0x00, 0x07, 0xf0, 0x0f, 0x9f, 0x0f, 0xe0, 0x1f, 0xc0, 0x78, 0x3e, 0x07, 0x8f, 0x9f, 0x00, 0x00,
0x00, 0x07, 0xf0, 0x0f, 0x9e, 0x07, 0xe3, 0xff, 0xc0, 0xf0, 0x7e, 0x07, 0x8f, 0x8f, 0x80, 0x00,
0x00, 0x07, 0xe0, 0x0f, 0x8e, 0x07, 0xc3, 0xff, 0x80, 0xf0, 0x3c, 0x07, 0x8f, 0x8f, 0xc0, 0x00,
0x00, 0x07, 0xe0, 0x0f, 0x00, 0x07, 0x81, 0xfe, 0x00, 0xf0, 0x3c, 0x07, 0x87, 0x07, 0xc0, 0x00,
0x00, 0x01, 0x80, 0x0f, 0x00, 0x07, 0x00, 0xfc, 0x00, 0xf0, 0x18, 0x03, 0x81, 0x03, 0xe0, 0x00,
0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x70, 0x00, 0xf0, 0x00, 0x03, 0x80, 0x01, 0xf0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03, 0xc0, 0x00, 0xf0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x30, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0xf9, 0x81, 0xfe, 0x3f, 0x3f, 0xef, 0xc1, 0xf8, 0x70, 0xcc, 0x3f, 0x9f, 0xc0, 0x00,
0x00, 0x03, 0x01, 0x81, 0x80, 0x60, 0x86, 0x0c, 0xe3, 0x8c, 0x78, 0xcc, 0x60, 0x98, 0x00, 0x00,
0x00, 0x03, 0x01, 0x81, 0x80, 0x60, 0x06, 0x0c, 0x63, 0x06, 0x78, 0xcc, 0x60, 0x30, 0x00, 0x00,
0x00, 0x03, 0x01, 0x81, 0x80, 0xc0, 0x06, 0x0c, 0x62, 0x06, 0x6c, 0xcc, 0xc0, 0x18, 0x00, 0x00,
0x00, 0x03, 0xf9, 0x81, 0xfc, 0xc0, 0x06, 0x0c, 0xc6, 0x06, 0x6c, 0xcc, 0xc0, 0x1f, 0x00, 0x00,
0x00, 0x03, 0x01, 0x81, 0x80, 0xc0, 0x06, 0x0f, 0xc6, 0x06, 0x66, 0xcc, 0xc0, 0x03, 0xc0, 0x00,
0x00, 0x03, 0x01, 0x81, 0x80, 0xc0, 0x06, 0x0c, 0xc3, 0x06, 0x66, 0xcc, 0xc0, 0x00, 0xc0, 0x00,
0x00, 0x03, 0x01, 0x81, 0x80, 0x60, 0x06, 0x0c, 0x63, 0x06, 0x63, 0xcc, 0x60, 0x00, 0xc0, 0x00,
0x00, 0x03, 0x01, 0x81, 0x80, 0x70, 0x86, 0x0c, 0x33, 0x8c, 0x63, 0xcc, 0x71, 0x90, 0xc0, 0x00,
0x00, 0x03, 0xf9, 0xfd, 0xfe, 0x1f, 0x06, 0x0c, 0x30, 0xf8, 0x61, 0xcc, 0x1f, 0x1f, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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() {
// On my display, I had to used 0x3C as the address, something to do with the RESET not being
// connected to the Arduino. THe 0x3D address below is the address used in the original
// Adafruit OLED example
display.begin(SSD1306_SWITCHCAPVCC, 0x3c); // initialize with the I2C addr 0x3D (for the 128x64)
display.clearDisplay(); // Make sure the display is cleared
// Draw the bitmap:
// drawBitmap(x position, y position, bitmap data, bitmap width, bitmap height, color)
display.drawBitmap(0, 0, myBitmap, 128, 64, WHITE);
// Update the display
display.display();
}
void loop() {
}