/*
Example sketch DrawLogo.ino version 7.01.
From Kjell & Company's book "Hur funkar Arduino?" version 7.01.
From Kjell & Company's book "Hvordan virker Arduino?" version 7.01.
Using example code from the Universal 8bit Graphics Library
https://github.com/olikraus/u8glib/
This code is in the public domain.
*/
// Include the display library
#include "U8glib.h"
// Create new SSD1306 I2C display with 128x64 resolution
U8GLIB_SSD1306_128X64 oled(U8G_I2C_OPT_NONE);
// Declare and initialise global variables for display resolution
const int logo_width = 128;
const int logo_height = 64;
static unsigned char bild_1[] U8G_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, 0x80, 0x7f, 0x00, 0x00, 0xf0,
0x0f, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x03, 0x00, 0xfc, 0x7f, 0x00, 0x00,
0x00, 0xf8, 0xff, 0x0f, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0xfe, 0xff,
0x1f, 0xc0, 0xff, 0xff, 0x03, 0x00, 0x00, 0xff, 0xf5, 0x7f, 0xc0, 0x7f,
0xfd, 0x07, 0x00, 0x80, 0x7f, 0x80, 0x7f, 0xf0, 0x0f, 0xe0, 0x0f, 0x00,
0x80, 0x1f, 0x00, 0xfe, 0xf0, 0x03, 0xc0, 0x1f, 0x00, 0xc0, 0x0f, 0x00,
0xfc, 0xfd, 0x01, 0x00, 0x1f, 0x00, 0xc0, 0x07, 0x00, 0xf0, 0xff, 0x00,
0x00, 0x3f, 0x00, 0xe0, 0x07, 0x00, 0xf0, 0x7f, 0x80, 0x01, 0x3e, 0x00,
0xc0, 0x03, 0x00, 0xc0, 0x3f, 0x80, 0x03, 0x3e, 0x00, 0xe0, 0x03, 0x00,
0xc0, 0x3f, 0xc0, 0x03, 0x3e, 0x00, 0xe0, 0x03, 0x7f, 0x80, 0x1f, 0xf8,
0x0f, 0x7c, 0x00, 0xe0, 0x03, 0xff, 0x80, 0x1f, 0xf8, 0x0f, 0x3e, 0x00,
0xf0, 0x83, 0x6d, 0xc0, 0x1f, 0xf0, 0x0f, 0x7c, 0x00, 0xe0, 0x03, 0x00,
0xc0, 0x3f, 0x80, 0x01, 0x3e, 0x00, 0xe0, 0x03, 0x00, 0xe0, 0x3f, 0x80,
0x03, 0x3e, 0x00, 0xc0, 0x07, 0x00, 0xf0, 0x7f, 0x80, 0x00, 0x3e, 0x00,
0xc0, 0x07, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x3f, 0x00, 0xc0, 0x0f, 0x00,
0xf8, 0xf9, 0x01, 0x80, 0x1f, 0x00, 0x80, 0x1f, 0x00, 0xfe, 0xf9, 0x03,
0xc0, 0x1f, 0x00, 0x80, 0x7f, 0x80, 0x7f, 0xf0, 0x1f, 0xf0, 0x0f, 0x00,
0x00, 0xff, 0xff, 0x7f, 0xe0, 0xff, 0xff, 0x07, 0x00, 0x00, 0xfe, 0xff,
0x1f, 0x80, 0xff, 0xff, 0x03, 0x00, 0x00, 0xf8, 0xff, 0x0f, 0x00, 0xff,
0xff, 0x01, 0x00, 0x00, 0xf0, 0xff, 0x03, 0x00, 0xfc, 0x7f, 0x00, 0x00,
0x00, 0x80, 0x7f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x8f,
0x87, 0x99, 0xdf, 0x19, 0x07, 0x00, 0x00, 0x8f, 0xdf, 0x8f, 0x99, 0x8f,
0x91, 0x0d, 0x00, 0x00, 0x8f, 0x99, 0x99, 0x19, 0xc6, 0xdb, 0x19, 0x00,
0x00, 0x8b, 0xdd, 0x98, 0x19, 0xc6, 0xd7, 0x18, 0x00, 0x80, 0x9d, 0x9f,
0x99, 0x19, 0xc6, 0xde, 0x19, 0x00, 0x80, 0x9f, 0xcd, 0x99, 0x19, 0x86,
0x9c, 0x19, 0x00, 0x80, 0x9b, 0x9d, 0x9f, 0x9f, 0xcf, 0x9c, 0x0f, 0x00,
0x80, 0x10, 0x91, 0x07, 0x05, 0x8f, 0x18, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
static unsigned char bild_2[] U8G_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, 0x30, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00,
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00,
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00,
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x40,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x81, 0x00,
0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x0f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40,
0x60, 0x08, 0xf2, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01,
0x00, 0x00, 0x00, 0x40, 0x20, 0x10, 0x0e, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x40, 0x00, 0x02, 0xf8, 0x03, 0x00, 0x40, 0x10, 0x10, 0x03, 0xc0,
0x01, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x07, 0x0c, 0x06, 0xe0, 0xff,
0x10, 0x18, 0x03, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x04,
0x04, 0x08, 0x10, 0xe0, 0x08, 0x0e, 0x03, 0x10, 0x00, 0x00, 0x00, 0x00,
0x00, 0x20, 0x00, 0x04, 0x06, 0x18, 0x0c, 0x80, 0xc8, 0x03, 0x03, 0x10,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x0c, 0x06, 0x30, 0x04, 0x80,
0x08, 0x00, 0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08,
0x06, 0x20, 0x02, 0x80, 0x08, 0x00, 0x02, 0x60, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x00, 0x18, 0x04, 0x20, 0x02, 0x80, 0x08, 0x00, 0x02, 0x80,
0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x04, 0x20, 0x02, 0x80,
0x18, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x30,
0x04, 0x20, 0x02, 0xa0, 0x10, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00,
0x00, 0x08, 0x00, 0x20, 0x0c, 0xc0, 0x04, 0xb0, 0x10, 0x02, 0x02, 0x00,
0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0xc0, 0x7c, 0x98,
0x20, 0x03, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x60,
0x00, 0x40, 0xc0, 0x8f, 0xe0, 0x01, 0x04, 0xfc, 0x03, 0x00, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 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() {
pinMode(2, INPUT_PULLUP); // Gör att pin2 kan används med tryckknapp utan seriemotstånd
}
void loop(void) {
// Refresh picture
oled.firstPage();
do {
draw();
} while(oled.nextPage());
delay(500);
}
void draw(void) {
if(digitalRead(2))
oled.drawXBMP(0, 0,69, 52, bild_1); // Draw image 1
else
oled.drawXBMP(0, 0,128, 64, bild_2); // Draw image 2
}