// ---- 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
};
NOCOMNCVCCGNDINLED1PWRRelay Module
NOCOMNCVCCGNDINLED1PWRRelay Module