Selasa, 08 Desember 2020

KeyPad Code Live

 


void setup() {

  Serial.begin(9600);

  timbangan.set_scale(2280.0); // Tukar dengan faktor penyekala Anda

  timbangan.tare(100);

  lcd.begin();           // Inisialisasi LCD

}


void loop() {

  cekKeyPad();


  if (sbreak == false) {

    goExe();

  }

}


void cekKeyPad() {

  char keypressed = myKeypad.getKey();

  if (keypressed) {

    Serial.print(keypressed);

    if (keypressed == 'A') {

      sbreak = true;

      setmin = "";

      setMin();

      smin = true;

    }

    else if (keypressed == 'B') {

      sbreak = true;

      setmax = "";

      setMax();

      smax = true;

    }

    else if (keypressed == 'C') { 

      cekset();

      sbreak = true;

    }

    else if (keypressed == 'D') { 

      sbreak = true;

      setrecal = "";

      setRecal();

      srecal = true;

    }

    else if (keypressed == '*') {

      lcd.clear();

      smin = false;

      smax= false;

      srecal = false;

      setrecal=String(targetrecal);

      setmax=String(targetmax);

      setmin=String(targetmin);

      

      thx("Kembali ke Defult");

      sbreak = false;

    }

    else  if (keypressed == '#') {

          if (smin == true) {

             targetmin = setmin.toInt();

             smin = false;

             thx("Sukses SET MIN");

          }

          else if (smax == true) {

             targetmax = setmax.toInt();

             smax = false;

            thx("Sukses SET MAX");

          }

          else if (srecal == true) {

            targetrecal = setrecal.toInt();

             srecal = false;

            thx("Sukses SET RECAL");

          }    

      }


      

    if (smin == true) {

      if (keypressed == '0' || keypressed == '1' || keypressed == '2' || keypressed == '3' || keypressed == '4' || keypressed == '5' || keypressed == '6' || keypressed == '7' || keypressed == '8' || keypressed == '9') {

        setmin = setmin + keypressed;

        setLiveMin();

      }

    }

    else if (smax == true) {

      if (keypressed == '0' || keypressed == '1' || keypressed == '2' || keypressed == '3' || keypressed == '4' || keypressed == '5' || keypressed == '6' || keypressed == '7' || keypressed == '8' || keypressed == '9') {

        setmax = setmax + keypressed;

        setLiveMax();

      }

    }

    else if (srecal == true) {

      if (keypressed == '0' || keypressed == '1' || keypressed == '2' || keypressed == '3' || keypressed == '4' || keypressed == '5' || keypressed == '6' || keypressed == '7' || keypressed == '8' || keypressed == '9') {

        setrecal = setrecal + keypressed;

        setLiveRecal();

      }

    }

  }

}


void  goExe() {

  float berat = timbangan.get_units();

  Serial.println(berat, 1);

  Serial.print("recal :");

  Serial.println(targetrecal);

  Serial.print("hasil :");

  Serial.println(hasil);

  lcd.setCursor(0, 0);

  lcd.print("berat= ");

  lcd.print(berat);

  lcd.print("      ");

  lcd.setCursor(0, 2);

  lcd.print("                 ");


  hasil = berat - targetrecal;


  if (hasil > targetmax) {

    lcd.setCursor(0, 3);

    lcd.print("berat lebih");


  }  else if (hasil < targetmin) {

    lcd.setCursor(0, 3);

    lcd.print("berat kurang");

  }

  else {

    lcd.setCursor(0, 3);

    lcd.print("                ");

  }

  delay(500);

}



void setMax() {

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("MASUKAN DATA   :");

  lcd.setCursor(0, 1);

  lcd.print("max :");

  lcd.print("                ");

  delay(300);

}


void setMin() {

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("MASUKAN DATA   :");

  lcd.setCursor(0, 1);

  lcd.print("min :");

  lcd.print("                ");

  delay(300);

}

void setRecal() {

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("MASUKAN DATA   :");

  lcd.setCursor(0, 1);

  lcd.print("reacli :");

  lcd.print("                ");

  delay(300);

}


void setLiveMin() {

  Serial.print("MASUKAN DATA    :");

  Serial.println("min :" + setmin);

  lcd.setCursor(0, 0);

  lcd.print("MASUKAN DATA   :");

  lcd.setCursor(0, 1);

  lcd.print("min :");

  lcd.print(setmin);

  lcd.print("                ");

  delay(300);

}


void setLiveMax() {

  lcd.setCursor(0, 0);

  lcd.print("MASUKAN DATA   :");

  lcd.setCursor(0, 1);

  lcd.print("max :");

  lcd.print(setmax);

  lcd.print("                ");

  Serial.print("MASUKAN DATA    :");

  Serial.println("max :" + setmax);

  delay(300);

}


void setLiveRecal() {

  lcd.setCursor(0, 0);

  lcd.print("MASUKAN DATA   :");

  lcd.setCursor(0, 1);

  lcd.print("recali :");

  lcd.print(setrecal);

  lcd.print("                ");

  Serial.print("MASUKAN DATA    :");

  Serial.println("recal :" + setrecal);

  delay(300);

}


void cekset() {

  lcd.clear();

  lcd.setCursor(0, 0);

  lcd.print("cek setingan");

  lcd.setCursor(0, 1);

  lcd.print("min :");

  lcd.print(setmin);

  lcd.setCursor(0, 2);

  lcd.print("max :");

  lcd.print(setmax);

  lcd.setCursor(0, 3);

  lcd.print("recal :");

  lcd.print(setrecal);

  delay(300);

}

void thx(String pesan) {

  lcd.setCursor(0, 0);

  lcd.print("Sukses Eksekusi");

  lcd.setCursor(0, 1);

  lcd.print(pesan);

  lcd.print("                ");

  Serial.println(pesan);

  Serial.println("THX");

  delay(300);

}