// ---- set valiable Pin sw ----
int sw1 = 26;
int sw2 = 27;
int sw3 = 32;
bool st_HumOk = 0;
bool st_setTemp = 0;
bool st_tempOk = 0;
bool st_setHum = 0;
int temp_set = 25;
int humid_set = 50;
void setup() {
pinMode(sw1, INPUT_PULLUP);
pinMode(sw2, INPUT_PULLUP);
pinMode(sw3, INPUT_PULLUP);
Serial.begin(115200);
}
void loop() {
Serial.println("Humidity= " + String(humid_set) + " %");
Serial.println("Temp Set= " + String(temp_set) + " C");
delay(200);
// ---- กด sw1 มากกว่า 3 วินาที เพื่อเข้าโหมดตั้งค่า ---
if(digitalRead(sw1) == 0){
delay(2000); // รอกด sw1 2 วินาที
if(digitalRead(sw1) == 0){
Serial.println("MODE SETUP");
st_setTemp = 1; // set ตัวแปล เพื่อวนใน while
//----- while Set ค่า Temp----
while(st_setTemp == 1){
Serial.println("Temp Set= " + String(temp_set)+ " C");
/* เงื่อไขการตั้งค่า Temp
1. กด sw2 เพิ่มค่าครั้งละ 1
2. กด sw3 ลดค่าครั้งละ 1
3. กด sw1 เพื่อยืนยัน */
if(digitalRead(sw2) == 0){ // เพิ่มค่า
while(digitalRead(sw2) == 0) delay(10); // กด sw ค้าง
temp_set = temp_set+1;
Serial.println("Temp Set= " + String(temp_set)+ " C");
st_tempOk = 1;
}
if(digitalRead(sw3) == 0){ // ลดค่า
while(digitalRead(sw3) == 0) delay(10); // กด sw ค้าง
temp_set = temp_set-1;
Serial.println("Temp Set= " + String(temp_set)+ " C");
st_tempOk = 1;
}
if(digitalRead(sw1) == 0 && st_tempOk == 1){ // กดยืนยันค่า temp
st_setTemp = 0;
st_tempOk = 0;
st_setHum = 1;
Serial.println();
Serial.println("SET TEMP OK");
Serial.println();
delay(1000);
}
delay(100);
} // while temp
/* ---- while Set Humidity(ความชื้น) ----- */
while(st_setHum == 1){
Serial.println("Humidity= " + String(humid_set)+ " %");
/* เงื่อไขการตั้งค่า Temp
1. กด sw2 เพิ่มค่าครั้งละ 1
2. กด sw3 ลดค่าครั้งละ 1
3. กด sw1 เพื่อยืนยัน */
if(digitalRead(sw2) == 0){ // เพิ่มค่า
while(digitalRead(sw2) == 0) delay(10); // กด sw ค้าง
humid_set = humid_set + 5;
Serial.println("Humidity= " + String(humid_set)+ " %");
st_HumOk = 1;
}
if(digitalRead(sw3) == 0){ // ลดค่า
while(digitalRead(sw3) == 0) delay(10); // กด sw ค้าง
humid_set = humid_set - 5;
Serial.println("Humidity= " + String(humid_set)+ " %");
st_HumOk = 1;
}
if(digitalRead(sw1) == 0 && st_HumOk == 1){ // กดยืนยันค่า temp
st_setHum = 0;
st_HumOk = 0;
Serial.println();
Serial.println("SET HUMIDITY OK");
Serial.println();
delay(1000);
}
delay(100);
} // while Humidity
} // if เกิน 2 วิ
} // if กด sw1
};