#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_I2CDevice.h>
Adafruit_SSD1306 display(128, 64, &Wire, -1, 888888); // Define Display
uint8_t ch;
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Begin I2C Communication With Display
display.clearDisplay(); // Clear Display Buffer
display.setTextSize(1); // Text size should be 1px
display.setTextColor(SSD1306_INVERSE); // Toggle pixels while drawing instead of setting to one specific color
display.setCursor(0, 0); // Reset Cursor
display.print("Booting...");
display.display(); // Display On Screen
Serial.begin(115200);
pinMode(12, INPUT); // Left
pinMode(7, INPUT); // Right
pinMode(5, INPUT); // Select
}
uint8_t l, pl;
uint8_t r, pr;
uint8_t s, ps;
void loop() {
l = digitalRead(12);
r = digitalRead(7);
s = digitalRead(5);
if (s<ps) { Serial.write(ch); Serial.println(); }
if (l>pl) ch--;
if (r>pr) ch++;
display.clearDisplay();
display.setCursor(0, 0);
display.println(ch);
display.write(ch);
display.display();
pl = l;
pr = r;
ps = s;
}