Left to Right: Technical Training End Result, Creative Output Result Video
I forgot to take photos for this process but I will supplement this with lo-fi drawings.
Initially, my main issue with the OLED was with getting it to show anything at all. It would blink but would generally be off.
Eventually, I figured out on the internet through Youtube tutorials that you didn't need pin headers on the pin holes of the screen, and I ended up sticking the pin wires into the holes for the connections.
Then, the signal actually startedd going through and working.
This is the working vid for the skill building portion: Three words, three fonts, and one image, which is a hamster.
This is an example of the crazy glitching I'd get with the formatting issues with the slideshow.
Often times with the images, I'd have to go back and forth between resizing on the conversion website or chekcing if my wiring is ok.
Slideshow Code +note :
I initially wrote the code with the "left" button being able to go back and look at the previous image. However, it didn't work the way I wanted to, so the right button just pushes forward infinitely.
//pins in arduino
/*
Arduino pin | role | description
-------------------------------------
A4 SDA color sensor & LCD
A5 SCL color sensor & LCD
6 input pushbutton right
5 input pushbutton left
*/
#include <SPI.h>
#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
// On an arduino UNO: A4(SDA), A5(SCL)
// BUTTON LEFT = HI/Y (D PIN 6)
// BUTTON RIGHT = LO/N (D PIN 5)
#define OLED_RESET -1
#define SCREEN_ADDRESS 0x3C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
//buttons for slide
#define BUTTON_RIGHT 5
#define BUTTON_LEFT 6
//THE GALLERY IMAGES
#define MYHAMSTER_WIDTH 32
#define MYHAMSTER_HEIGHT 32
#define DESPAIR_WIDTH 64
#define DESPAIR_LENGTH 64
#define HUGH_WIDTH 64
#define HUGH_LENGTH 64
#define CHEVAL_WIDTH 128
#define CHEVAL_LENGTH 64
#define STAR_WIDTH 16
#define STAR_HEIGHT 16
//animation attempt
// int animationFrame = 0;
// unsigned long previousMillis = 0;
// const long interval = 200;
//THE SILLY XBM INFO
const unsigned char hamster_bitmap_another_hamster [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0x0f, 0xff, 0xff, 0xfd, 0xe7, 0xff, 0xff, 0xf8, 0xf3, 0xff, 0xff, 0xf0, 0xf1, 0xff,
0xff, 0xf0, 0xf1, 0xff, 0xff, 0xf1, 0xf8, 0xff, 0xff, 0xe7, 0xfe, 0x7f, 0xff, 0xcf, 0xbf, 0x7f,
0xff, 0xdf, 0x3f, 0x3f, 0xff, 0xbf, 0x1f, 0xbf, 0xff, 0x7f, 0xff, 0x9f, 0xfe, 0x7f, 0xff, 0xdf,
0xfc, 0xfe, 0x0f, 0xcf, 0xfd, 0xfe, 0x0f, 0xef, 0xfb, 0xfe, 0x0f, 0xe7, 0xfb, 0xff, 0x0f, 0xf7,
0xfb, 0xff, 0xff, 0xf3, 0xf7, 0xff, 0xff, 0xfb, 0xf7, 0xff, 0xff, 0xfb, 0xf7, 0xff, 0xff, 0xfd,
0xf7, 0xf3, 0xe7, 0xfd, 0xf7, 0xf3, 0xf7, 0xfd, 0xf7, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00
};
const unsigned char despair_guy [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x0f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x01, 0x01, 0x3f, 0xff, 0xff,
0xff, 0xff, 0xf8, 0x05, 0x67, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x18, 0x67, 0x9f, 0xff, 0xff,
0xff, 0xff, 0xfa, 0x78, 0x37, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x77, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfa, 0xf8, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf8, 0x37, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf8, 0xe0, 0x17, 0xef, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe3, 0x97, 0xcf, 0xff, 0xff,
0xff, 0xff, 0xe1, 0xf8, 0x3f, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xfe, 0xff, 0xcf, 0xff, 0xff,
0xff, 0xff, 0xf9, 0xff, 0xf3, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xf3, 0x9f, 0xff, 0xff,
0xff, 0xff, 0xf3, 0xff, 0xf3, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xf3, 0x3f, 0xff, 0xcf,
0xff, 0xff, 0xfd, 0xff, 0xfb, 0x43, 0xff, 0xc3, 0xff, 0xff, 0xf0, 0xfc, 0x3a, 0x71, 0xce, 0x03,
0xf3, 0xff, 0xe2, 0xf9, 0x80, 0x3c, 0x03, 0xe3, 0xf1, 0xf3, 0x8f, 0x03, 0xf9, 0xff, 0xff, 0xf7,
0xe0, 0x83, 0x3f, 0x07, 0xf3, 0xff, 0xff, 0x9f, 0xe1, 0x87, 0xff, 0x1f, 0xc3, 0xff, 0xff, 0x3f,
0xe0, 0xff, 0xfe, 0x20, 0x18, 0xff, 0xfe, 0x7f, 0xff, 0x1f, 0xff, 0x0b, 0xe9, 0xff, 0xf9, 0xff,
0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xe7, 0xff,
0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0x3f, 0xff,
0xff, 0xff, 0xcf, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xf8, 0xff, 0xff,
0xff, 0xff, 0xf0, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x5f, 0x00, 0x19, 0xff, 0xff,
0xff, 0xff, 0xf1, 0x8c, 0x03, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x78, 0x01, 0xe1, 0xff, 0xff,
0xff, 0xff, 0xf8, 0x00, 0x00, 0x61, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x01, 0xff, 0xff,
0xff, 0xff, 0xfc, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x80, 0x00, 0x03, 0xff, 0xff,
0xff, 0xff, 0xff, 0x80, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
const unsigned char hugh_laurie_square [] PROGMEM = {
0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
0x00, 0x03, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
0x00, 0x0f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
0x00, 0x0f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00,
0x00, 0x3f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
0x01, 0xff, 0xff, 0xff, 0x0f, 0xfe, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x0f, 0xfe, 0x00, 0x00,
0x01, 0xff, 0xc0, 0x00, 0x0f, 0xfe, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00,
0x03, 0xfe, 0x00, 0x00, 0x01, 0xff, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x01, 0xff, 0x00, 0x00,
0x01, 0xfc, 0x00, 0x00, 0x01, 0xff, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x01, 0xff, 0x00, 0x00,
0x01, 0xfc, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00,
0x01, 0xfc, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x01, 0xff, 0x00, 0x00,
0x00, 0xfc, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x7f, 0xfe, 0x00, 0x00,
0x00, 0xff, 0xff, 0xdf, 0xff, 0xfe, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdf, 0xff, 0xfe, 0x00, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xef, 0xff, 0xfe, 0x00, 0x00,
0x00, 0x7f, 0xf0, 0x8c, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x7c, 0xf0, 0x00, 0x3c, 0xfc, 0x00, 0x00,
0x00, 0x38, 0xf0, 0x00, 0x3c, 0xfc, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00,
0x00, 0x3e, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x00, 0x3f, 0x01, 0x8c, 0x03, 0xf8, 0x00, 0x00,
0x00, 0x1f, 0x81, 0x8c, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x0f, 0xf8, 0x00, 0x00,
0x00, 0x07, 0xc3, 0x9f, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x07, 0xc3, 0xff, 0x0f, 0xc0, 0x00, 0x00,
0x00, 0x07, 0xc3, 0xff, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x07, 0xc1, 0xff, 0x0f, 0xc0, 0x00, 0x00,
0x00, 0x07, 0xc3, 0xff, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
0x00, 0x03, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00,
0x00, 0x07, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00,
0x00, 0x0f, 0xfc, 0x78, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00,
0x01, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0xff, 0xff, 0xff, 0xb3, 0xff, 0xff, 0xe0, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
0xff, 0xff, 0xbf, 0xff, 0xfb, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xfc, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xfc, 0x00
};
// 'uncheval', 128x64px
const unsigned char un_cheval [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xfc, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xfc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xfc, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xfc, 0x30, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xfc, 0x78, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xfc, 0x7c, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xfc, 0x7c, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xf8, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xf0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1c, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x18, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x98, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x10, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x30, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x30, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x60, 0xff, 0x8c, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0xc1, 0xff, 0x84, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x01, 0x83, 0xff, 0xc6, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0x07, 0xff, 0xc6, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3e, 0x3f, 0xff, 0xe2, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0x3f, 0xff, 0xe2, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0x3f, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0x9f, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0x9f, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xdf, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xcf, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
const unsigned char star_1 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x03, 0xc0, 0x0f, 0xf0,
0x0f, 0xf0, 0x03, 0xc0, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
int currentSlide = 0;
const int totalSlides = 4;
void setup() {
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);
display.clearDisplay();
pinMode(BUTTON_RIGHT, INPUT_PULLUP);
pinMode(BUTTON_LEFT, INPUT_PULLUP);
drawSlide(currentSlide);
}
void drawSlide(int slide) {
display.clearDisplay();
switch (slide) {
case 0:
display.drawBitmap(
(SCREEN_WIDTH - MYHAMSTER_WIDTH) / 2, (SCREEN_HEIGHT - MYHAMSTER_HEIGHT) / 2,
hamster_bitmap_another_hamster, MYHAMSTER_WIDTH, MYHAMSTER_HEIGHT, SSD1306_WHITE);
display.invertDisplay(false);
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println("this is a hamster");
display.startscrollright(0x00, 0x00);
break;
case 1:
display.stopscroll();
display.drawBitmap((SCREEN_WIDTH - DESPAIR_WIDTH) / 2, (SCREEN_HEIGHT - DESPAIR_LENGTH) /2,
despair_guy, DESPAIR_WIDTH,DESPAIR_LENGTH,SSD1306_WHITE);
display.invertDisplay(false);
break;
case 2:
display.stopscroll();
display.setTextSize(2);
display.drawBitmap(0, 0, hugh_laurie_square,HUGH_WIDTH, HUGH_LENGTH, SSD1306_WHITE);
display.setTextColor(SSD1306_WHITE);
display.setCursor(55, 24);
display.println(F("house"));
display.setCursor(88, 40);
display.println(F("md"));
display.invertDisplay(true);
break;
case 3:
display.stopscroll();
display.setTextSize(1);
display.drawBitmap(0, 0, un_cheval , CHEVAL_WIDTH, CHEVAL_LENGTH, SSD1306_WHITE);
display.setTextColor(SSD1306_BLACK);
display.setCursor(20,32);
display.println(F("un"));
display.setCursor(90, 32);
display.println(F("cheval"));
display.invertDisplay(true);
}
display.display();
}
void loop() {
Serial.println(digitalRead(BUTTON_RIGHT));
delay(200);
if (digitalRead(BUTTON_RIGHT) == LOW) {
currentSlide++;
if (currentSlide >= totalSlides) currentSlide = 0;
drawSlide(currentSlide);
delay(250); // debounce
}
if (digitalRead(BUTTON_LEFT) == LOW) {
currentSlide--;
if (currentSlide < 0) currentSlide = totalSlides - 1;
drawSlide(currentSlide);
delay(250); // debounce
}