#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 oled = Adafruit_SSD1306(128, 64, &Wire);
int offsetX=0;
int offsetY=0;
int offsetZ=0;
int offsetRX=0;
int offsetRY=0;
int offsetRZ=0;
int zSupport=10;
int zTransfer=20;
int jCoxaKirKan = 80; //jarak antara coxa kaki (depan kiri dan kanan) atau (belakang kiri dan kanan) (satuan mm)
int jCoxaDepBel = 80; //jarak antara coxa kaki (depan kiri dan kanan) atau (belakang kiri dan kanan) (satuan mm)
int pTibia = 83; //panjang Tibia (mm)
int pFemur = 55; //panjang Femur (mm)
int pCoxa = 25; //panjang Coxa (mm)
int osDCoxa = 45; //Bukaan kaki luar (depan kiri kanan dan belakang kiri kanan / coxa 1, coxa 2, coxa 3, coxa 4). satuan derajat
int osDTibia = 90; //Bukaan kaki luar (depan kiri kanan dan belakang kiri kanan / coxa 1, coxa 2, coxa 3, coxa 4). satuan derajat
int m = 0, m1 = 0;
int maxm = 11;
int minm = 0;
int maxm1 = 5;
int minm1 = 0;
#define pinU 12
#define pinD 13
#define pinP 14
#define pinM 27
String menuSet[11]={
"offsetX :",
"offsetY :",
"offsetZ :",
"offsetRX :",
"offsetRY :",
"offsetRZ :",
"zSupport :",
"zTransfer:",
"lCoxa LR :",
"lCoxa FB :",
"osDCoxa :"
};
void setup() {
pinMode(pinU, INPUT_PULLUP);
pinMode(pinD, INPUT_PULLUP);
pinMode(pinP, INPUT_PULLUP);
pinMode(pinM, 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(pinU)==0 && m>0){
m--;
m1--;
if(m1<minm1){
m1=minm1;
}
}
if(digitalRead(pinD)==0 && m<10){
m++;
m1++;
if(m1>maxm1){
m1=maxm1;
}
}
oled.display();
}
void setCursor(int x, int y){
oled.setCursor(x*6,y*11);
}