//For OLED: #include #include //Select the option that matches the dimensions of the OLED U8G2_SSD1306_128X64_NONAME_F_HW_I2C DISPA(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); //Pins for SDA and SCL #define SDA 4 #define SCL 5 //pin numbers for the buttons int BUTTON1 = D10; int BUTTON2 = D8; int page = 0; void setup() { pinMode(BUTTON1, OUTPUT); //Forward pinMode(BUTTON2, OUTPUT); //Backward //Serial communication Serial.begin(115200); //Same baud as in interface //OLED: //SDA and SCL pinout pinMode(SDA, OUTPUT); pinMode(SCL, OUTPUT); // Set I2C bus speed on board and both displays Wire.setClock(100000); DISPA.setBusClock(100000); //Set I2C Adress (0x78/0x7A, or 0x3C/0x3D) of the OLED DISPA.setI2CAddress(0x78); //Turn on OLED and get it ready to accept data DISPA.begin(); //Select a font DISPA.setFont(u8g2_font_logisoso16_tf ); //Make sure the display buffer is clear DISPA.clearBuffer(); } void loop() { //Serial.write(page); Serial.println(page); //OLED DISPA.clearBuffer(); DISPA.setCursor(15, 20); //(X,Y) DISPA.print("Landline <3"); DISPA.setCursor(12, 40); //(X,Y) DISPA.print("Page: "); DISPA.setCursor(65, 40); //(X,Y) DISPA.print(page); DISPA.setCursor(72, 40); //(X,Y) DISPA.print(" of 6"); DISPA.setCursor(58, 60); //(X,Y) DISPA.print(":D"); DISPA.sendBuffer(); //Command to show things on display if (digitalRead(BUTTON1) == HIGH){ if (page >= 6){ page = 0; } else{ page += 1; } } else if (digitalRead(BUTTON2) == HIGH){ if (page <= 0){ page = 6; } else{ page -= 1; } } delay(80); }