#include #include "SSD1306Ascii.h" #include "SSD1306AsciiWire.h" #define I2C_ADDRESS 0x3C #define CLOCK 2 #define PIN1 3 #define PIN2 4 SSD1306AsciiWire oled; int counter = 0; char dat = 0; void setup() { pinMode(CLOCK, INPUT); pinMode(PIN1, INPUT); pinMode(PIN2, INPUT); Wire.begin(); Wire.setClock(400000L); oled.begin(&Adafruit128x64, I2C_ADDRESS); oled.setFont(System5x7); oled.clear(); } void loop() { char c; c = 0; while(digitalRead(CLOCK) == LOW); if(digitalRead(PIN1) == HIGH) c = 1; if(digitalRead(PIN2) == HIGH) c += 2; dat = dat + (c << counter); counter += 2; if(counter == 8) { oled.print(dat); dat = 0; counter = 0; } while(digitalRead(CLOCK) == HIGH); }