#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#define widthScreen 128
#define heightScreen 64
#define resetPin -1
Adafruit_SSD1306 oled(widthScreen, heightScreen, &Wire, resetPin);
const int button1 = 5;
const int button2 = 6;
const int buttonOk = 3;
const int buttonBack = 4;
void setup() {
Serial.begin(9600);
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("oled gak nyambung");
for (;;);
};
pinMode(button1, INPUT_PULLUP);
pinMode(button2, INPUT_PULLUP);
pinMode(buttonOk, INPUT_PULLUP);
pinMode(buttonBack, INPUT_PULLUP);
}
void loop() {
mainMenu();
}
void mainMenu() {
oled.clearDisplay();
int menu = 0;
int page = 0;
while (1) {
byte readButton1 = digitalRead(button1);
byte readButton2 = digitalRead(button2);
byte readButtonOk = digitalRead(buttonOk);
byte readButtonBack = digitalRead(buttonBack);
if (page == 0) {
if (readButton1 == 0) {
menu++;
delay(200);
}
if (readButton2 == 0) {
menu--;
delay(200);
}
if (menu >= 3) {
menu = 0;
}
if (menu < 0) {
menu = 2;
}
}
if (readButtonOk == 0 && menu == 0) {
page = 1;
menu = 4;
}
if (readButtonOk == 0 && menu == 1) {
page = 2;
menu = 4;
}
if (readButtonOk == 0 && menu == 2) {
page = 3;
menu = 4;
}
if (readButtonBack == 0) {
if (page == 1) {
menu = 0;
}
if (page == 2) {
menu = 1;
}
if (page == 3) {
menu = 2;
}
page = 0;
}
switch (menu) {
case 0:
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0, 0);
oled.println("> CALCULATOR");
oled.println();
oled.println(" SETTINGS");
oled.println();
oled.println(" CONTACTS");
oled.display();
break;
case 1:
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0, 0);
oled.println(" CALCULATOR");
oled.println();
oled.println("> SETTINGS");
oled.println();
oled.println(" CONTACTS");
oled.display();
break;
case 2:
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0, 0);
oled.println(" CALCULATOR");
oled.println();
oled.println(" SETTINGS");
oled.println();
oled.println("> CONTACTS");
oled.display();
break;
}
switch (page) {
case 1:
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0, 0);
oled.println("Ini Calculator Kocak!");
oled.println();
oled.println("=");
oled.println();
oled.println("");
oled.display();
break;
case 2:
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0, 0);
oled.println("Ini Settings");
oled.println();
oled.println("mau ngatur naon?");
oled.println();
oled.println("---^---");
oled.display();
break;
case 3:
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0, 0);
oled.println("Ini Contact");
oled.println();
oled.println("mau nelpon saha?");
oled.println();
oled.println("---^---");
oled.display();
break;
}
}
}