#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
 
Adafruit_SSD1306 oled = Adafruit_SSD1306(128, 64, &Wire);
 
int m = 0, m1 = 0;
int maxm = 10;
int minm = 0;
int maxm1 = 5;
int minm1 = 0;

#define pinBtn1 4
#define pinBtn2 2
#define pinBtn3 15 

String menuSet[10]={
  "Coba Tombol",
  "Coba Touch",
  "Coba Potensio",
  "Coba LDR",
  "Coba MQ Sensor",
  "Coba Encoder",
  "Coba DHT22",
  "Coba MPU6050",
  "Coba HC-SR04",
  "Coba LED",
};

void setup() { 

  pinMode(pinBtn1, INPUT_PULLUP);
  pinMode(pinBtn2, INPUT_PULLUP);
  pinMode(pinBtn3, INPUT_PULLUP); 
  
  Serial.begin(115200);
  oled.begin(SSD1306_SWITCHCAPVCC, 0x3C); 
  oled.setTextSize(1);
  oled.setTextColor(SSD1306_WHITE);
}

void loop() {  
  oled.clearDisplay();

  for(int x=0; x<maxm; x++){ 
    setCursor(1,x-(m-m1));
    oled.print(menuSet[x]);
  }

  setCursor(0,m1); 
  oled.print(">"); 

  // setCursor(15,0); 
  // oled.print(m);
  // oled.print(" ");
  // oled.print(m1);

  // setCursor(1,m);
  // oled.print("pTibia  : "); oled.print(pTibia); oled.print("cm");
  // setCursor(1,m+1);
  // oled.print("pFemur  : "); oled.print(pFemur); oled.print("cm");
  // setCursor(1,m+2);
  // oled.print("pCoxa   : "); oled.print(pCoxa); oled.print("cm");


  if(digitalRead(pinBtn1)==0 && m>0){
    m--;  
    m1--;
    if(m1<minm1){
      m1=minm1; 
    } 
    delay(100);
  
  }
  if(digitalRead(pinBtn2)==0 && m<9){
    m++;
    m1++;  
    if(m1>maxm1){
      m1=maxm1;
    } 
    delay(100);

  } 
  oled.display();

}


void setCursor(int x, int y){
  oled.setCursor(x*6,y*11);
}