//Надо просто добавить чтобы режимы переключались каждые 20 сек и чтобы это время ещё считало 
//просто довавить Time и сделать Time++ и чтобы оно его считывало .
#include <Servo.h>;
#include <DHT.h>;
#include <Wire.h>;
#include <LiquidCrystal_I2C.h>;
byte pos;
float temp , hum ;
DHT datchic (2,DHT22); //Подключение датчика
Servo servo;
LiquidCrystal_I2C LCD (0x27 , 16 ,2 ); //Сколько символов
void setup() 
{
 Serial.begin(9600);
 datchic.begin();
 LCD.init();
 LCD.backlight();
 LCD.setCursor(0,0);
 LCD.print("Temp=");
 LCD.setCursor(0,1);
 LCD.print("Hum=");
 pinMode(3, OUTPUT); //Подключение серво
 servo.attach(3);
 pinMode(13, OUTPUT);
 pinMode(12, OUTPUT);
 pinMode(11, OUTPUT);
 }

void loop() 
{
  temp=datchic.readTemperature();
  hum=datchic.readHumidity(); 
  Serial.print("temp=");
  Serial.print(temp);
  Serial.print("   hum=");
  Serial.println(hum);
  LCD.setCursor (5,0);
  LCD.print(temp);
  LCD.print(char (223));
  LCD.print("       ");
  LCD.setCursor (4,1);
  LCD.print(hum);
  LCD.print("%");
   if(hum<100)
   {
     LCD.setCursor (10,1);
     LCD.print(" ");
   }
  
  
   if((temp>=20) && (temp<=30))
   {
    delay (5000);
    digitalWrite(13 , 1);
    LCD.setCursor (13,0);
    LCD.print("on1 ");
    digitalWrite(12 , 0);
    digitalWrite(11 , 0);
   }
   else 
   {
    if((temp>=30) && (temp<=40))
    {
      delay (5000);
     digitalWrite(12 , 1);
     LCD.setCursor (13,0);
     LCD.print("on2 ");
     digitalWrite(13 , 0);
     digitalWrite(11 , 0);
   }
     else 
     {
       if(temp>=40)
        {
         delay (5000);
         digitalWrite(11 , 1);
         LCD.setCursor (13,0);
         LCD.print("on3 ");
         digitalWrite(12 , 0);
         digitalWrite(12 , 0);
        }
          if(temp<=20)
         {  
          digitalWrite(13 , 0);
          digitalWrite(12 , 0);
          digitalWrite(11 , 0);
          LCD.setCursor (13,0);
          LCD.print("off");
         }
      }
   }
   
   
   
   if(pos<100)
   {
     LCD.setCursor (15,1);
     LCD.print(" ");
   }
   LCD.setCursor (13,1);
   LCD.print(pos);
   servo.write(pos);
   if(hum<40)
   {
     pos=0;
     LCD.setCursor (14,1);
     LCD.print("  ");
    }
   else
   {
     pos=map(hum,40,100,0,180);
    }
   
   Serial.print("   pos=");
   Serial.println(pos);
   delay (2000);
 }