#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#define OLED_WIDTH 128
#define OLED_HEIGHT 64
#define OLED_ADDR 0x3C
int up=12,dn=13,rt=11;
String nm1;
Adafruit_SSD1306 display(OLED_WIDTH, OLED_HEIGHT);
void setup() {
Serial.begin(9600);
nm1 = WaitForInput("Enter a name:");
Serial.print("Name: ");
Serial.println(nm1);
display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);
pinMode(up, INPUT);
pinMode(dn, INPUT);
pinMode(rt, INPUT);
}
void loop() {
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println(nm1);
display.display();
if(digitalRead(dn)==HIGH){
display.startscrolldiagleft(0,7);
delay(3000);
display.stopscroll();
}
else if(digitalRead(up)==HIGH){
display.startscrolldiagright(0,7);
delay(3000);
display.stopscroll();
}
else if(digitalRead(rt)==HIGH){
display.startscrollright(0,7);
delay(3000);
display.stopscroll();
}
}
String WaitForInput(String Question) {
Serial.println(Question);
while(!Serial.available()) {
}
return Serial.readStringUntil(10);
}