#include <Adafruit_SSD1306.h>
#include <Wire.h>
#include "sad.h"
#include "heart.h"
#include "serious.h"
#include "openeyes.h"
#include "closeeye.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);
int frame;
int randomizer = 1;
void setup() {
Serial.begin(115200);
if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println(F("SSD1306 allocation failed"));
for (;;); // Don't proceed, loop forever
}
display.display();
Serial.begin(9600);
}
void loop() {
if (digitalRead(6)== LOW){
randomizer++;
}
if (randomizer == 5){
randomizer = 1;
}
switch (randomizer){
case 1:
subo();
transitionsubo();
break;
case 2:
love();
transitionlove();
break;
case 3:
akig();
transitionakig();
break;
case 4:
muklat();
transitionmuklat();
break;
}
}
void subo(){
for (frame = 0; frame < 18; frame++){
display.drawBitmap(0, 0, sad[frame], 128, 64, 1);
display.display();
display.clearDisplay();
Serial.println(frame);
}
}
void transitionsubo(){
for (frame = 18; frame >= 0; frame--){
display.drawBitmap(0, 0, sad[frame], 128, 64, 1);
display.display();
display.clearDisplay();
Serial.println(frame);
}
}
void love(){
for (frame = 0; frame < 28; frame++){
display.drawBitmap(0, 0, heart[frame], 128, 64, 1);
display.display();
display.clearDisplay();
Serial.println(frame);
}
}
void transitionlove(){
for (frame = 28; frame >= 0; frame--){
display.drawBitmap(0, 0, heart[frame], 128, 64, 1);
display.display();
display.clearDisplay();
Serial.println(frame);
}}
void akig(){
for (frame = 0; frame < 19; frame++){
display.drawBitmap(0, 0, serious[frame], 128, 64, 1);
display.display();
display.clearDisplay();
Serial.println(frame);
}}
void transitionakig(){
for (frame = 19; frame >= 0; frame--){
display.drawBitmap(0, 0, serious[frame], 128, 64, 1);
display.display();
display.clearDisplay();
Serial.println(frame);
}}
void muklat(){
for (frame = 0; frame < 15; frame++){
display.drawBitmap(0, 0, openeyes[frame], 128, 64, 1);
display.display();
display.clearDisplay();
Serial.println(frame);
}}
void transitionmuklat(){
for (frame = 15; frame >= 0; frame--){
display.drawBitmap(0, 0, openeyes[frame], 128, 64, 1);
display.display();
display.clearDisplay();
Serial.println(frame);
}}