#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.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);
// 'YAURA', 128x64px
// 0xff is 8 binary numbers and there are 16 of them anad total 128 horizontally
// such like rows 64
// 64 * 128
const unsigned char MY_IMAGE[] PROGMEM = {
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFA, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7,
0xFF, 0xE3, 0xFF, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0x67,
0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0xFF, 0x00, 0x7F, 0xFE, 0xFF,
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE3, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x7F, 0xFE, 0xCF,
0xFF, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF,
0xFF, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xC0, 0x07, 0xFF, 0xF8, 0x00, 0x00, 0x03, 0xFD, 0x9F,
0xFF, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0xD3, 0xC8,
0xFF, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x87, 0xC0,
0xFF, 0xFF, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFF, 0x80, 0x00, 0x01, 0xDF, 0xEF,
0xFF, 0xFF, 0x80, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0x0F,
0xFF, 0xFF, 0x84, 0x00, 0x07, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFF, 0x80, 0x00, 0x07, 0xFD, 0x8E,
0xFF, 0xFF, 0xC0, 0x00, 0x07, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0x80, 0x00, 0x07, 0xE1, 0x9C,
0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFB, 0x80, 0x00, 0x07, 0xC7, 0x38,
0xFF, 0xFF, 0xF0, 0x00, 0x0F, 0xFE, 0xFF, 0x7F, 0xEF, 0xFF, 0xFF, 0xC0, 0x00, 0x07, 0xFF, 0x7B,
0xFF, 0xFF, 0xF8, 0x00, 0x0F, 0xFE, 0x06, 0x7F, 0xE7, 0x0F, 0xFF, 0xC0, 0x00, 0x0F, 0xFF, 0xF9,
0xFF, 0xFF, 0xFF, 0x80, 0x03, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x3F, 0x80, 0x00, 0x7F, 0xEF, 0xF1,
0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xCF, 0xF3,
0xFF, 0xFF, 0xE0, 0x00, 0x03, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x0C, 0x00, 0x00, 0x3F, 0x0D, 0xF7,
0xFF, 0xFF, 0xF0, 0x00, 0x07, 0xC0, 0x07, 0xFF, 0xFE, 0x00, 0x3C, 0x00, 0x00, 0x3F, 0x18, 0x83,
0xFF, 0xFF, 0xF8, 0x00, 0x7B, 0xFF, 0xEF, 0xFF, 0xFE, 0x3F, 0xFC, 0x30, 0x00, 0x3E, 0x18, 0x00,
0xFF, 0xFF, 0xF0, 0x01, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x00, 0x3F, 0xDF, 0x80,
0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xFE, 0x00, 0x1F, 0x98, 0x04,
0xFF, 0xFF, 0xC0, 0x1F, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0xFF, 0x80, 0x1F, 0x18, 0x0E,
0xFF, 0xFF, 0xC0, 0x7F, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xFF, 0xE0, 0x0F, 0xF0, 0x78,
0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x07, 0xFE, 0x0F, 0x03, 0xF0,
0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0x04, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xFE, 0x1C, 0x7F, 0xFF, 0x80, 0x03,
0xFF, 0xFF, 0xFF, 0xF6, 0x1D, 0xFF, 0xF8, 0x04, 0x01, 0xFF, 0xE7, 0x0C, 0x1F, 0xF7, 0xE0, 0x38,
0xFF, 0xFF, 0xFF, 0xC0, 0x0C, 0x7F, 0xF8, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x1F, 0xFF, 0xE1, 0xF8,
0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x3F, 0xF8, 0x00, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0xFE, 0xFF,
0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x1F, 0xF8, 0x00, 0x01, 0xFF, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xE7,
0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x1F, 0xFC, 0x00, 0x03, 0xFE, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x87,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x7C, 0x0F, 0xFF, 0xFF, 0xFF, 0xF0, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC2, 0x00, 0x00, 0x00, 0x30, 0x3F, 0xFF, 0xFF, 0xFF, 0xE0, 0x18,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xC0, 0x3F,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x20, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x18, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x18, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8,
0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xF8, 0x04, 0x00, 0x06, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFC, 0x07, 0x90, 0x1F, 0x03, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF,
0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0x9C, 0x03, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF,
0xDF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xC8, 0x00, 0x7F, 0xFF, 0x80, 0xFE, 0x7F,
0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xE0, 0x7F, 0x7F, 0xFF, 0x01, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFC, 0x01, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFC, 0x80, 0x01, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFE, 0xF8, 0x00, 0x0E, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x7F, 0xCF, 0xFF, 0xFF, 0x80, 0xFE, 0x00, 0x00, 0x1F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFB, 0xBC, 0x7F, 0xF7, 0xFF, 0xFF, 0x03, 0xE0, 0x00, 0x00, 0x7F, 0xFF, 0xFF,
0x3F, 0xF1, 0xFF, 0xFF, 0xF0, 0x1F, 0xF1, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x80, 0x7F, 0xFF, 0xFF,
0xFE, 0xC0, 0xFF, 0xDF, 0xC0, 0x3F, 0xC0, 0x3F, 0xF8, 0x00, 0x00, 0x00, 0xC3, 0xFF, 0xFF, 0xFF,
0xFE, 0x1E, 0x7F, 0xFF, 0xF4, 0x3F, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF,
0xF8, 0x1F, 0x7F, 0xFF, 0x9E, 0x7C, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF,
0xF8, 0x0F, 0xFF, 0xFF, 0xE0, 0x18, 0xC0, 0xE0, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF,
0xFE, 0x0F, 0xFF, 0xFF, 0xF8, 0x3F, 0xC3, 0x80, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xF7, 0x03, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFE, 0x70, 0x01, 0x07, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x3F, 0xFF, 0xF0, 0x3F, 0xFF, 0xFF, 0xFF, 0xF9, 0x01, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFE, 0x7F, 0xFC, 0x00, 0x00, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF0, 0xFF, 0xF8, 0x00, 0x00, 0x7F, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xC1, 0xFF, 0xF8, 0x00, 0x00, 0x3F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF,
};
void setup() {
// initializing the display
Serial.begin(9600);
Serial.println("hello 3");
Serial.println("hello 2");
// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println(F("SSD1306 allocation failed"));
for (;;); // Don't proceed, loop forever
}
// Show initial display buffer contents on the screen --
// the library initializes this with an Adafruit splash screen.
display.display();
delay(3000); // Pause for 2 seconds
// Clear the buffer
display.clearDisplay();
display.drawBitmap(0, 0, MY_IMAGE, 128, 64, WHITE);
display.display();
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}