int R1 = 10;
int R2 = 11;
int R3 = 12;
int R4 = 13;
int i = 0;
int sec = 0;
#define bUP 7
#define bOK 6
#define bDOWN 5
#define DITEKAN LOW
#define BOUNCE 50
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd_1 = LiquidCrystal_I2C(0x27, 16, 2);
void setup(){
lcd_1.begin(16, 2);
Serial.begin(9600);
pinMode(R1, OUTPUT);
pinMode(R2, OUTPUT);
pinMode(R3, OUTPUT);
pinMode(R4, OUTPUT);
pinMode(bUP,INPUT_PULLUP);
pinMode(bOK,INPUT_PULLUP);
pinMode(bDOWN,INPUT_PULLUP);
}
void loop()
{
digitalWrite(R2,HIGH);
digitalWrite(R3,HIGH);
digitalWrite(R4,HIGH);
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
lcd_1.clear();
menuSetting();
}
lcd_1.setCursor(1, 0);
lcd_1.print("ARE YOU READY?");
lcd_1.setCursor(0, 1);
lcd_1.print(" [MULAI]");
}
void menuSetting() {
//---------------------------------------------------
setMENU1:
if (digitalRead(bOK) == DITEKAN) {// C++ code
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setSUBMENU1;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setMENU5;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setMENU2;
}
lcd_1.setCursor(0, 0);
lcd_1.print("-> AUTO PENUH ");
lcd_1.setCursor(0, 1);
lcd_1.print(" AUTO SEDANG ");
goto setMENU1;
//---------------------------------------------------
setMENU2: //automatis cepat
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setAUTOSEDANG;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setMENU1;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setMENU3;
}
lcd_1.setCursor(0, 0);
lcd_1.print(" AUTO PENUH ");
lcd_1.setCursor(0, 1);
lcd_1.print("-> AUTO SEDANG ");
goto setMENU2;
//---------------------------------------------------
setMENU3:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setMANUAL;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setMENU2;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setMENU4;
}
lcd_1.setCursor(0, 0);
lcd_1.print(" AUTO SEDANG ");
lcd_1.setCursor(0, 1);
lcd_1.print("-> MANUAL CUCI ");
goto setMENU3;
//---------------------------------------------------
setMENU4:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setISI;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setMENU3;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setMENU5;
}
lcd_1.setCursor(0, 0);
lcd_1.print(" MANUAL CUCI ");
lcd_1.setCursor(0, 1);
lcd_1.print("-> ISI AIR ");
goto setMENU4;
// --------------------------------------------------
setMENU5:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setBUANG;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setMENU4;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setMENU1;
}
lcd_1.setCursor(0, 0);
lcd_1.print(" ISI AIR ");
lcd_1.setCursor(0, 1);
lcd_1.print("-> BUANG AIR ");
goto setMENU5;
//Sub Menu
//submenu 1 -----------------------------------------------
setSUBMENU1:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setMENU1;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setSUBMENU2;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setSUBMENU2;
}
lcd_1.setCursor(0, 0);
lcd_1.print("-> KEMBALI ");
lcd_1.setCursor(0, 1);
lcd_1.print(" MULAI ");
goto setSUBMENU1;
//auto sedang----------------------------------------------
setAUTOSEDANG:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setMENU1;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setAUTOSEDANG2;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setAUTOSEDANG2;
}
lcd_1.setCursor(0, 0);
lcd_1.print("-> KEMBALI ");
lcd_1.setCursor(0, 1);
lcd_1.print(" MULAI ");
goto setAUTOSEDANG;
//--------------------------------------------------------
setSUBMENU2:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setAUTO;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setSUBMENU1;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setSUBMENU1;
}
lcd_1.setCursor(0, 0);
lcd_1.print(" KEMBALI ");
lcd_1.setCursor(0, 1);
lcd_1.print("-> MULAI ");
goto setSUBMENU2;
//set auto sedang 2 ----------------------------------
setAUTOSEDANG2:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setAUTO2;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setAUTOSEDANG;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setAUTOSEDANG;
}
lcd_1.setCursor(0, 0);
lcd_1.print(" KEMBALI ");
lcd_1.setCursor(0, 1);
lcd_1.print("-> MULAI ");
goto setAUTOSEDANG2;
//manual cuci 1------------------------------------------------
setMANUAL:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setMENU1;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setMANUAL2;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setMANUAL2;
}
lcd_1.setCursor(0, 0);
lcd_1.print("-> KEMBALI ");
lcd_1.setCursor(0, 1);
lcd_1.print(" MULAI ");
goto setMANUAL;
// manual cuci 2------------------------------------------------------
setMANUAL2:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setAUTO3;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setMANUAL;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setMANUAL;
}
lcd_1.setCursor(0, 0);
lcd_1.print(" KEMBALI ");
lcd_1.setCursor(0, 1);
lcd_1.print("-> MULAI ");
goto setMANUAL2;
//isi air -------------------------------------------------
setISI:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setMENU1;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setISI2;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setISI2;
}
lcd_1.setCursor(0, 0);
lcd_1.print("-> KEMBALI ");
lcd_1.setCursor(0, 1);
lcd_1.print(" MULAI ");
goto setISI;
// isi 2 --------------------------------------------------
setISI2:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setAUTO4;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setISI;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setISI;
}
lcd_1.setCursor(0, 0);
lcd_1.print(" KEMBALI ");
lcd_1.setCursor(0, 1);
lcd_1.print("-> MULAI ");
goto setISI2;
//BUANG AIR------------------------------------------------
setBUANG:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setMENU1;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setBUANG2;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setBUANG2;
}
lcd_1.setCursor(0, 0);
lcd_1.print("-> KEMBALI ");
lcd_1.setCursor(0, 1);
lcd_1.print(" MULAI ");
goto setBUANG;
//buang air 2---------------------------------------------------
setBUANG2:
if (digitalRead(bOK) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bOK) == DITEKAN) {}
goto setAUTO5;
}else if (digitalRead(bUP) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bUP) == DITEKAN) {}
goto setBUANG;
}else if (digitalRead(bDOWN) == DITEKAN) {
delay(BOUNCE);
while(digitalRead(bDOWN) == DITEKAN) {}
goto setBUANG;
}
lcd_1.setCursor(0, 0);
lcd_1.print(" KEMBALI ");
lcd_1.setCursor(0, 1);
lcd_1.print("-> MULAI ");
goto setBUANG2;
//auto 1--(automatis)-----------------------------------------------
setAUTO:
lcd_1.setCursor(0, 0);
lcd_1.print(" MENGISI AIR ");
lcd_1.setCursor(0, 1);
lcd_1.print(" ");
{
digitalWrite(R1, HIGH);
delay(5000);
digitalWrite(R1, LOW);
delay(2000);
lcd_1.setCursor(0, 0);
lcd_1.print(" SEDANG MENCUCI ");
lcd_1.setCursor(0, 1);
lcd_1.print(" ");
for ( int i=1; i<=2; i++ ) {
digitalWrite(R3, HIGH);
delay(2000);
digitalWrite(R3, LOW);
delay(2000);
digitalWrite(R4, HIGH);
delay(2000);
digitalWrite(R4, LOW);
delay(2000);
}
{
lcd_1.setCursor(0, 0);
lcd_1.print(" MEMBUANG AIR ");
lcd_1.setCursor(0, 1);
lcd_1.print(" ");
digitalWrite(R2, HIGH);
delay(10000);
lcd_1.setCursor(0, 0);
lcd_1.print(" SELESAI ");
lcd_1.setCursor(0, 1);
lcd_1.print(" ");
digitalWrite(R2, LOW);
delay(10000);
goto setMENU1;
}
goto setAUTO;
}
// auto 2 (sedang)-------------------------------------------------
setAUTO2:
lcd_1.setCursor(0, 0);
lcd_1.print(" MENGISI AIR ");
lcd_1.setCursor(0, 1);
lcd_1.print(" ");
{
digitalWrite(R1, HIGH);
delay(5000);
digitalWrite(R1, LOW);
delay(2000);
lcd_1.setCursor(0, 0);
lcd_1.print(" SEDANG MENCUCI ");
lcd_1.setCursor(0, 1);
lcd_1.print(" ");
for ( int i=1; i<=2; i++ ) {
digitalWrite(R3, HIGH);
delay(2000);
digitalWrite(R3, LOW);
delay(2000);
digitalWrite(R4, HIGH);
delay(2000);
digitalWrite(R4, LOW);
delay(2000);
}
{
lcd_1.setCursor(0, 0);
lcd_1.print(" MEMBUANG AIR ");
lcd_1.setCursor(0, 1);
lcd_1.print(" ");
digitalWrite(R2, HIGH);
delay(10000);
lcd_1.setCursor(0, 0);
lcd_1.print(" SELESAI ");
lcd_1.setCursor(0, 1);
lcd_1.print(" ");
digitalWrite(R2, LOW);
delay(10000);
goto setMENU1;
}
goto setAUTO2;
}
// manual cuci--------------------------
setAUTO3:
lcd_1.clear();
lcd_1.setCursor(0, 0);
lcd_1.print(" SEDANG MENCUCI ");
for ( int i=1; i<=10; i+1) {
lcd_1.setCursor(0, 1);
lcd_1.print(i);
digitalWrite(R3, HIGH);
delay(2000);
digitalWrite(R3, LOW);
delay(2000);
digitalWrite(R4, HIGH);
delay(2000);
digitalWrite(R4, LOW);
delay(2000);
}
lcd_1.clear();
lcd_1.setCursor(0, 0);
lcd_1.print(" SELESAI ");
lcd_1.setCursor(0, 1);
lcd_1.print(" ");
delay(10000);
goto setMENU1;
goto setAUTO3;
// mengisi air--------------------------------------------------------
setAUTO4:
lcd_1.setCursor(0, 0);
lcd_1.print(" MENGISI AIR ");
lcd_1.setCursor(0, 1);
lcd_1.print(" ");
for( int i=1; i<=100; i++ ) {
digitalWrite(R1, HIGH);
delay(1000);
lcd_1.setCursor(0, 1);
lcd_1.print("100 Detik [ ] ");
lcd_1.setCursor(12, 1);
lcd_1.print(i);
digitalWrite(R1, LOW);
}
lcd_1.setCursor(0, 0);
lcd_1.print(" SELESAI ");
delay(10000);
goto setMENU1;
goto setAUTO4;
//buang air ------------------------------------------------------------
setAUTO5:
lcd_1.setCursor(0, 0);
lcd_1.print(" MEMBUANG AIR ");
lcd_1.setCursor(0, 1);
lcd_1.print(" ");
for( int i=1; i<=100; i++ ) {
digitalWrite(R2, HIGH);
delay(1000);
lcd_1.setCursor(0, 1);
lcd_1.print("100 Detik [ ] ");
lcd_1.setCursor(12, 1);
lcd_1.print(i);
digitalWrite(R2, LOW);
}
lcd_1.setCursor(0, 0);
lcd_1.print(" SELESAI ");
delay(10000);
goto setMENU1;
goto setAUTO5;
}