void grafiks()
{ 
            boolean datm=1;
          boolean datd=1;
          boolean daty=1;
          graf=1;//флаг захода выхода табл график
           boolean m=0;//флаг графика за месяц
          boolean y=0;// флаг графика за год
         // boolean d=0;
         
          myGLCD.setBackColor(0,38,92);
        myGLCD.setColor(255, 255, 0);//цвет 
      myGLCD.print("D" ,440, 163);
       myGLCD.setBackColor(8,101,192);
        myGLCD.setColor(255, 255, 0);//цвет 
      myGLCD.print("M" ,440, 203);
       myGLCD.print("Y" ,440, 243);
          
     myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(0, 0, 415, 470);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(0, 0, 415, 470);//прямоугольник с  обводкой
  myGLCD.setBackColor(0,38,92);
       myGLCD.setFont( Ubuntubold);

 // myGLCD.setBackColor(0,38,92);
     myGLCD.setColor(63, 200, 255);//цвет
      myGLCD.print("TABLE " ,458, 368);

 retg:
pikgrafik();
//****************************************************************** 
   if(years1==t.year)//проверка сегодняшней даты данные есть в массиве, но не записаны еще на флешку 
   {if(mon1==t.mon)
   {if(days1==t.date)
     { picgraftoday();
     
     }
     else picgraf();
    
   }
   else picgraf();
   }
   else picgraf();
 
 
  
  
  
   while(1)
  {  sec=t.sec;
    
    
 if ((sec==0) ||(sec==15) || (sec==30) || (sec==45))
{
  delay(500);
  clc();
}

 //******DHT read********
 if ((sec==11) || (sec==42) )
{

 info(); 
 }  
//********************************DHT read end*********************************************************************************************

 //******UART********
if ((sec==53) || (sec==25) )
{

 info();   

 }  
 //******UART END********  
  
 //**********************   TOUCH   *******************************************
if (myTouch.dataAvailable())

    {
      myTouch.read();
      int x=myTouch.getX();
      int y=myTouch.getY();
       myGLCD.setFont( Ubuntubold);
         myGLCD.setColor(VGA_BLUE);
      myGLCD.setBackColor(255,255,255);
     // myGLCD.setFont( Ubuntubold);
    //  myGLCD.print("x=    " , 650, 32);
  //    myGLCD.printNumI(x , 700, 32);  
   //   myGLCD.setFont( Ubuntubold);
    //  myGLCD.print("y=    " ,650 , 72);
    //  myGLCD.printNumI(y , 700, 72); 
      
      
      
      
         if ((x>=640) && (x<=799))  // Upper row
      { 
        
            if ((y>=10) && (y<=150))  //(10, 370, 90, 450); //Install 
        {
           kalendarset();
           graf=0;
            grafik();
        }
        
         if ((y>=370) && (y<=450))  //(10, 370, 90, 450); //Clok 
        {waitForIt1(639, 370, 799, 450);
        graf=0;
          menu();
        }
      }
     
   //************dat
  if ((y>=150) && (y<=190)) 
  {  
         if ((x>=435) && (x<=465))// выбор график за день
          {m=0;
           y=0;
               myGLCD.setFont( Ubuntubold);
            myGLCD.setBackColor(0,38,92);
        myGLCD.setColor(255, 255, 0);//цвет 
      myGLCD.print("D" ,440, 163);
       myGLCD.setBackColor(8,101,192);
        myGLCD.setColor(255, 255, 0);//цвет 
      myGLCD.print("M" ,440, 203);
       myGLCD.print("Y" ,440, 243);
          }
   
   
    datd=1;
    if ((x>=490) && (x<=520))
  {  myGLCD.setBackColor(0,38,92);
   myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
   myGLCD.print("<" ,495, 163);
  myGLCD.setColor(255,255,255);
  days1=days1-1;
  days1=validateDate(days1, mon1, years1);
  
    if(years1==t.year)//проверка на наличае данных
   {if(mon1>=t.mon)
   {if(days1>t.date)
     {myGLCD.setColor(255,0,0);
     datd=0;
     }
   }
   }
   
 if (days1<10)
    {myGLCD.print("0" ,527, 163);
    myGLCD.printNumI(days1, 527+24, 163);
    }
  else
    myGLCD.printNumI(days1, 527, 163); 
   
   delay (300); 
   myGLCD.setColor(31,70,126);
   myGLCD.print("<" ,495, 163);
    
  }
  
   if ((x>=580) && (x<=610))
  {  myGLCD.setBackColor(0,38,92);
   myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
   myGLCD.print(">" ,590, 163);
  myGLCD.setColor(255,255,255);
  days1=days1+1;
  days1=validateDate(days1, mon1, years1);
  
  if(years1==t.year)//проверка на наличае данных
   {if(mon1>=t.mon)
   {if(days1>t.date)
     {myGLCD.setColor(255,0,0);
     datd=0;
     }
   }
   }
 if (days1<10)
    {myGLCD.print("0" ,527, 163);
    myGLCD.printNumI(days1, 527+24, 163);
    }
  else
    myGLCD.printNumI(days1, 527, 163); 
   
   delay (300); 
   myGLCD.setColor(31,70,126);
   myGLCD.print(">" ,590, 163);
    
  }
  }
//*********************************  
  
   if ((y>=200) && (y<=230)) //кнопка месяц
  {
     if ((x>=435) && (x<=465))// выбор график за день
          {m=1;
           y=0;
               myGLCD.setFont( Ubuntubold);
               myGLCD.setBackColor(0,38,92);
               myGLCD.setColor(255, 255, 0);//цвет 
               
               myGLCD.print("M" ,440, 203);
               myGLCD.setBackColor(8,101,192);
               myGLCD.setColor(255, 255, 0);//цвет 
               myGLCD.print("D" ,440, 163);
               myGLCD.print("Y" ,440, 243);
           }
    
    
    
    
    datm=1;
     if ((x>=490) && (x<=520))
  {  myGLCD.setBackColor(0,38,92);
   myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
   myGLCD.print("<" ,495, 203);
  myGLCD.setColor(255,255,255);
  mon1=mon1-1;
  if (mon1==0)
  mon1=12;
  if(years1==t.year)
   {if(mon1>t.mon)
     {myGLCD.setColor(255,0,0);
     datm=0;
     }
   }
   if(years1<2015)
   {if(mon1<6)
     {myGLCD.setColor(255,0,0);
     datm=0;
     }
   }
     if(years1==t.year)//проверка на наличае данных
   {if(mon1>=t.mon)
   {if(days1>t.date)
     {myGLCD.setColor(255,0,0);
     datd=0;
     }
   }
   }
 if (mon1<10)
    {myGLCD.print("0" ,527, 203);
    myGLCD.printNumI(mon1, 527+24, 203);
    }
  else
    myGLCD.printNumI(mon1, 527, 203); 
   
   delay (300); 
   myGLCD.setColor(31,70,126);
   myGLCD.print("<" ,495, 203);
    
  }
 
  if ((x>=580) && (x<=610))
  {  myGLCD.setBackColor(0,38,92);
   myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
   myGLCD.print(">" ,590, 203);
  myGLCD.setColor(255,255,255);
  mon1=mon1+1;
  if (mon1==13)
  mon1=1;
  
  if(years1==t.year)//проверка на наличае данных
   {if(mon1>t.mon)
     {myGLCD.setColor(255,0,0);
     datm=0;
     }
   }
   if(years1<2015)
   {if(mon1<6)
     {myGLCD.setColor(255,0,0);
     datm=0;
     }
   }
     if(years1==t.year)//проверка на наличае данных
   {if(mon1>=t.mon)
   {if(days1>t.date)
     {myGLCD.setColor(255,0,0);
     datd=0;
     }
   }
   }
 if (mon1<10)
    {myGLCD.print("0" ,527, 203);
    myGLCD.printNumI(mon1, 527+24, 203);
    }
  else
    myGLCD.printNumI(mon1, 527, 203); 
   
   delay (300); 
   myGLCD.setColor(31,70,126);
   myGLCD.print(">" ,590, 203);
    
  }   
     
    
    
    }
  
  
  
  
  
  if ((y>=240) && (y<=270)) //кнопка год -+
  {
   if ((x>=435) && (x<=465))// выбор график за день
          {m=0;
           y=1;
               myGLCD.setFont( Ubuntubold);
               myGLCD.setBackColor(0,38,92);
               myGLCD.setColor(255, 255, 0);//цвет 
               myGLCD.print("Y" ,440, 243);
               
               myGLCD.setBackColor(8,101,192);
               myGLCD.setColor(255, 255, 0);//цвет 
               myGLCD.print("D" ,440, 163);
               myGLCD.print("M" ,440, 203);
           }
   
   
   
    daty=1;
    if ((x>=485) && (x<=510))
  {years1=years1-1;
  if(years1<2013)
  years1=2013;
  myGLCD.setBackColor(0,38,92);
   myGLCD.setColor(255,255,255);
   
   if((years1<2014) || (years1>t.year))
  { myGLCD.setColor(255,0,0);
  daty=0;
  }
    myGLCD.printNumI(years1, 507, 243);
    delay(300);
  } 
 
 if ((x>=600) && (x<=617))
  {years1=years1+1;
 
  myGLCD.setBackColor(0,38,92);
   myGLCD.setColor(255,255,255);
   
   if((years1<2014) || (years1>t.year))
  { myGLCD.setColor(255,0,0);
  daty=0;
  }
    myGLCD.printNumI(years1, 507, 243);
    delay(300);
  }   
     
      
    }  
 if ((y>=290) && (y<=340)) //кнопка RS 
 {if ((x>=440) && (x<=515))
  {     myGLCD.setBackColor(0,38,92);
  if(daty+datd+datm==3)
    {myGLCD.setColor(0,255,0);
    myGLCD.print("RS" ,453, 303);
  
  
   //вывод даты данных
   myGLCD.setBackColor(0,38,92);
       myGLCD.setFont( Ubuntubold); 
        myGLCD.setColor(255, 255, 255);
        
    if (days1<10)
   { myGLCD.print(" " ,440-8, 40);
    myGLCD.printNumI(days1, 440-8+24, 40);
   }
  else
    myGLCD.printNumI(days1, 440-8, 40);
    myGLCD.print("." ,440+40, 40);
    
            if (mon1<10)
   {myGLCD.print("0" ,440+40+20, 40);
     myGLCD.printNumI(mon1, 440+40+20+24, 40);
   }
  else
    myGLCD.printNumI(mon1, 440+40+20, 40);
    myGLCD.print("." ,440+40+17+48, 40);
    myGLCD.printNumI(years1-2000, 440+40+20+48+20, 40);
    
       myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(415, 22, 635, 90);//рисуем синий пр-к очистка поля даты
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(415, 22, 635, 90);//прямоугольник с  обводкой
   myGLCD.setFont( Ubuntubold);
     myGLCD.setBackColor(0,38,92);
    myGLCD.setColor(255,255,255);
    myGLCD.print("RS" ,453, 303);
  colorgraf=0;
  goto retg;
    }
        else 
    {myGLCD.setColor(255,0,0);
    myGLCD.print("RS" ,453, 303);
    }
    delay(300);
    myGLCD.setFont( Ubuntubold);
     myGLCD.setBackColor(0,38,92);
    myGLCD.setColor(255,255,255);
    myGLCD.print("RS" ,453, 303);

 
   }
 
  
  if ((x>=540) && (x<=605))
  {  
    if (m==1)
    {myGLCD.setBackColor(0,38,92);
        if(daty+datd+datm==3)
           {myGLCD.setColor(0,255,0);
            myGLCD.print("OK" ,553, 303);
             myGLCD.setColor(255,255,255);
             delay(300);
           myGLCD.print("OK" ,553, 303);
             grafikm() ;
            }
            else
              {myGLCD.setColor(255,0,0);
               myGLCD.print("OK" ,553, 303);
               }
    delay(300);
    myGLCD.setFont( Ubuntubold);
     myGLCD.setBackColor(0,38,92);
    myGLCD.setColor(255,255,255);
    myGLCD.print("OK" ,553, 303);
    
    goto ret;
    
    }
    
    if (y==1)
    {myGLCD.setBackColor(0,38,92);
        if(daty+datd+datm==3)
           {myGLCD.setColor(0,255,0);
            myGLCD.print("OK" ,553, 303);
             myGLCD.setColor(255,255,255);
             delay(300);
           myGLCD.print("OK" ,553, 303);
             //grafiky() ;
            }
            else
              {myGLCD.setColor(255,0,0);
               myGLCD.print("OK" ,553, 303);
               }
    delay(300);
    myGLCD.setFont( Ubuntubold);
     myGLCD.setBackColor(0,38,92);
    myGLCD.setColor(255,255,255);
    myGLCD.print("OK" ,553, 303);
    
    goto ret;
    
    }
    
    myGLCD.setBackColor(0,38,92);
    
    if(daty+datd+datm==3)
    {myGLCD.setColor(0,255,0);
    myGLCD.print("OK" ,553, 303);
    colorgraf=colorgraf+1;
    //**************************************
       if(years1==t.year)//проверка сегодняшней даты данные есть в массиве, но не записаны еще на флешку 
   {if(mon1==t.mon)
   {if(days1==t.date)
     { picgraftoday();
     
     }
     else picgraf();
    
   }
   else picgraf();
   }
   else picgraf();
   // readmasfail( days1, mon1, years1);
    }
    else 
    {myGLCD.setColor(255,0,0);
    myGLCD.print("OK" ,553, 303);
    }
    delay(300);
    myGLCD.setFont( Ubuntubold);
     myGLCD.setBackColor(0,38,92);
    myGLCD.setColor(255,255,255);
    myGLCD.print("OK" ,553, 303);
    
    
 
   
   
  }

 } 
ret: 
 if ((x>=440) && (x<=610)) 
  {if ((y>=360) && (y<=400)) //кнопка GRAFIK
    {
      myGLCD.setBackColor(0,38,92);
      myGLCD.setColor(59, 251, 104);//цвет
      
      myGLCD.print("TABLE " ,458, 368);
      delay(500);
       myGLCD.setColor(63, 200, 255);//цвет
       myGLCD.print("GRAFIK" ,458, 368);
       
       myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(0, 0, 415, 470);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(0, 0, 415, 470);//прямоугольник с  обводкой
      myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(415, 22, 635, 90);//рисуем синий пр-к очистка поля даты
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(415, 22, 635, 90);//прямоугольник с  обводкой

  myGLCD.setBackColor(0,38,92);
        myGLCD.setFont( Ubuntubold);
        
       if(years1==t.year)//проверка сегодняшней даты данные есть в массиве, но не записаны еще на флешку 
   {if(mon1==t.mon)
   {if(days1==t.date)
     {   //вывод даты данных
   myGLCD.setBackColor(0,38,92);
       myGLCD.setFont( Ubuntubold); 
        myGLCD.setColor(255, 255, 255);
        
    if (days1<10)
   { myGLCD.print(" " ,440-8, 40);
    myGLCD.printNumI(days1, 440-8+24, 40);
   }
  else
    myGLCD.printNumI(days1, 440-8, 40);
    myGLCD.print("." ,440+40, 40);
    
            if (mon1<10)
   {myGLCD.print("0" ,440+40+20, 40);
     myGLCD.printNumI(mon1, 440+40+20+24, 40);
   }
  else
    myGLCD.printNumI(mon1, 440+40+20, 40);
    myGLCD.print("." ,440+40+17+48, 40);
    myGLCD.printNumI(years1-2000, 440+40+20+48+20, 40);
       printmassiv();
     
     }
     else readmasfail( days1, mon1, years1);
    
   }
   else readmasfail( days1, mon1, years1);
   }
   else readmasfail( days1, mon1, years1);
       //printmassiv();
       //readmasfail(d,m,y)
       colorgraf=0;
       grafik();
    }
   
   if ((y>=420) && (y<=470)) //кнопка QUIT
    { myGLCD.setBackColor(0,38,92);
       myGLCD.setColor(255, 100, 100);;//цвет нажатой кнопки
       myGLCD.print("QUIT" ,479, 433);
       delay(500);
     myGLCD.setColor(255, 100, 100);//цветmyGLCD.setColor(255, 97, 237);//цвет
        myGLCD.setColor(255, 97, 237);//цвет кнопки
        myGLCD.setColor(255, 255, 255);//цвет
     graf=0;
      colorgraf=0;
      menu();
    }
    
  }
  
    }//END TOUCH *********************************************************
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  }//wile 
}

 
 void pikgrafik()
//*******рисуем график ********************************* 
{
  myGLCD.setColor(30,55,90);
  myGLCD.fillRoundRect(55, 5, 55+15, 440);//рисуем синий пр-к1
    myGLCD.setColor(45,55,105);
  myGLCD.fillRoundRect(55+15, 5, 55+30, 440);//рисуем синий пр-к2
    myGLCD.setColor(60,55,110);
  myGLCD.fillRoundRect(55+30, 5, 55+45, 440);//рисуем синий пр-к3
    myGLCD.setColor(75,55,115);
  myGLCD.fillRoundRect(55+45, 5, 55+60, 440);//рисуем синий пр-к4
  
   myGLCD.setColor(82,40,137);
  myGLCD.fillRoundRect(55+60,5 , 55+60+15, 440);//рисуем синий пр-к5
  myGLCD.setColor(97,35,139);
  myGLCD.fillRoundRect(55+60+15,5 , 55+60+30, 440);//рисуем синий пр-к6
  myGLCD.setColor(125,32,141);
  myGLCD.fillRoundRect(55+60+30,5 , 55+60+45, 440);//рисуем синий пр-к7
  myGLCD.setColor(145,27,143);
  myGLCD.fillRoundRect(55+60+45,5 , 55+60+60, 440);//рисуем синий пр-к8
  
     myGLCD.setColor(163,25,146);
  myGLCD.fillRoundRect(55+60+60,5 , 55+60+60+15, 440);//рисуем синий пр-к9
     myGLCD.setColor(173,35,136);
  myGLCD.fillRoundRect(55+60+60+15,5 , 55+60+60+30, 440);//рисуем синий пр-к10
     myGLCD.setColor(187,45,120);
  myGLCD.fillRoundRect(55+60+60+30,5 , 55+60+60+45, 440);//рисуем синий пр-к11
     myGLCD.setColor(195,55,106);
  myGLCD.fillRoundRect(55+60+60+45,5 , 55+60+60+60, 440);//рисуем синий пр-к 12
  
      myGLCD.setColor(200,64,97);
  myGLCD.fillRoundRect(55+60+60+60,5 , 55+60+60+60+15, 440);//рисуем синий пр-к13
      myGLCD.setColor(195,75,92);
  myGLCD.fillRoundRect(55+60+60+60+15,5 , 55+60+60+60+30, 440);//рисуем синий пр-к14
      myGLCD.setColor(190,85,87);
  myGLCD.fillRoundRect(55+60+60+60+30,5 , 55+60+60+60+45, 440);//рисуем синий пр-к15
      myGLCD.setColor(180,95,82);
  myGLCD.fillRoundRect(55+60+60+60+45,5 , 55+60+60+60+60, 440);//рисуем синий пр-к 16
  
         myGLCD.setColor(171,103,76);
  myGLCD.fillRoundRect(55+240,5 , 55+240+15, 440);//рисуем синий пр-к 17
         myGLCD.setColor(151,93,86);
  myGLCD.fillRoundRect(55+240+15,5 , 55+240+30, 440);//рисуем синий пр-к 18
         myGLCD.setColor(131,83,96);
  myGLCD.fillRoundRect(55+240+30,5 , 55+240+45, 440);//рисуем синий пр-к 19
         myGLCD.setColor(101,73,116);
  myGLCD.fillRoundRect(55+240+45,5 , 55+300, 440);//рисуем синий пр-к 20
  
        
        myGLCD.setColor(82,40,137);
  myGLCD.fillRoundRect(55+300,5 , 55+315, 440);//рисуем синий пр-к 21 
         myGLCD.setColor(60,55,110);
  myGLCD.fillRoundRect(55+315,5 , 55+330, 440);//рисуем синий пр-к 22 
        myGLCD.setColor(30,55,90);
  myGLCD.fillRoundRect(55+330,5 , 55+345, 440);//рисуем синий пр-к 23





  myGLCD.setBackColor(0,38,92);
  myGLCD.setColor(VGA_WHITE);
  myGLCD.setFont(BigFont);
   myGLCD.drawLine(55, 10, 55, 450);// ось у
    myGLCD.drawLine(400, 10, 400, 440);//ось у давление
   myGLCD.drawLine(55, 90+180, 400, 90+180);// ось х темп
   myGLCD.drawLine(55, 440, 400, 440);//ось х влажность
 
  
   myGLCD.setColor(35,173,255);
    myGLCD.drawLine(55, 270-80, 400, 270-80);// ось 0
     myGLCD.setColor(200,64,97);
    myGLCD.drawLine(55, 270-200, 400, 70);// ось 30
      myGLCD.drawLine(55, 270-220, 400, 50);// ось 35
      myGLCD.drawLine(55, 440-30, 400, 440-30);// ось 30
      myGLCD.drawLine(55, 440-15, 400, 440-15);// ось 30
     myGLCD.setColor(45,112,56);
     myGLCD.drawLine(55, 270-180, 400, 270-180);// ось 25
    myGLCD.drawLine(55, 270-160, 400, 270-160);// ось 20
    myGLCD.drawLine(55, 270-120, 400, 270-120);// ось 10
    myGLCD.drawLine(55, 270-100, 400, 270-100);// ось 5
    myGLCD.drawLine(55, 270-140, 400, 270-140);// ось 15
    myGLCD.drawLine(55, 440-105, 400, 440-105);// ось 70
    myGLCD.drawLine(55, 440-90, 400, 440-90);// ось 60
    myGLCD.drawLine(55, 440-75, 400, 440-75);// ось 50
    myGLCD.drawLine(55, 440-60, 400, 440-60);// ось 40
    myGLCD.drawLine(55, 440-45, 400, 440-45);// ось 30
    myGLCD.setColor(0,38,92);
    myGLCD.drawLine(55, 270-60, 400, 270-60);// ось -5
   myGLCD.drawLine(55, 270-40, 400, 270-40);// ось -10 
  myGLCD.drawLine(55, 270-20, 400, 270-20);// ось -15 
  myGLCD.drawLine(55, 440-135, 400, 440-135);// ось 90
  myGLCD.drawLine(55, 440-120, 400, 440-120);// ось 80
    myGLCD.setColor(255,75,29);
     myGLCD.drawLine(55, 270-240, 400, 270-240);// ось 40
     myGLCD.drawLine(55, 270-260, 400, 270-260);// ось 45
    
    
   byte k=0;
   myGLCD.setColor(VGA_WHITE);
   for (int i =0 ; i < 270; i = i+4) 
    { 
      myGLCD.drawLine(55, 90+180-i, 52, 90+180-i);
      myGLCD.drawLine(400, 90+180-i, 403, 90+180-i);
       k=k+1;
        if((k==6)||(k==1))//верт метки tu td
           {
             if ((i/4-20)>29)
             {myGLCD.setColor(255,62,62);
              myGLCD.printNumI(i/4-20, 5, 90+180-8-i);
             }
              if ((i/4-20)>0 && (i/4-20)<30)
             {myGLCD.setColor(10,255,60);
              myGLCD.printNumI(i/4-20, 5, 90+180-8-i);
             }
             
              if ((i/4-20)<1)
             {myGLCD.setColor(35,173,255);
              myGLCD.printNumI(i/4-20, 5, 90+180-8-i);
             }
             
           myGLCD.setColor(VGA_WHITE); 
           myGLCD.drawLine(55, 90+180-i, 55-9, 90+180-i);
           myGLCD.drawLine(400, 90+180-i, 400+9, 90+180-i);
           k=1;}
      
      
      
    }
 
    
      k=0;
   myGLCD.setColor(VGA_WHITE);
   for (int i =0 ; i < 150; i = i+3) 
    { //myGLCD.drawLine(55, 440, 400, 440);//ось х давление
    //myGLCD.drawLine(55, 10, 55, 450);// ось у
       myGLCD.drawLine(55, 440-i, 52, 440-i);
       k=k+1;
       
       if((k==6)||(k==1))//верт метки tu td
           {
             if (i>119)
             {myGLCD.setColor(35,173,255);
               myGLCD.printNumI(i*2/3, 5, 440-8-i);
             }
              if (i>31 && i<119)
             {myGLCD.setColor(10,255,60);
               myGLCD.printNumI(i*2/3, 5, 440-8-i);
             }
             
              if (i<31)
             {myGLCD.setColor(255,255,0);
              myGLCD.printNumI(i*2/3, 5, 440-8-i);
             }
             
           myGLCD.setColor(VGA_WHITE); 
           myGLCD.drawLine(55, 440-i, 55-9, 440-i);
           k=1;}
      
    }
 //*************************************   
    k=0;
    for (int i =0 ; i < 360; i = i+15) //гориз метки и шкала
    {
      //for (byte n =0 ; n < 5; n = n++)
        myGLCD.drawLine(55+i, 90+180, 55+i, 90+180+5);
         myGLCD.drawLine(55+i, 440, 55+i, 440+5);
        
      
      k=k+1;
        if((k==4)||(k==1))
           {myGLCD.printNumI(i/15, 55+i-12, 90+180+10);
           myGLCD.printNumI(i/15, 55+i-12, 440+10);
           myGLCD.drawLine(55+i, 90+180, 55+i, 90+180+9);
           myGLCD.drawLine(55+i, 440, 55+i, 440+9);
           k=1;}
    } 
   myGLCD.setBackColor( VGA_TRANSPARENT);
   myGLCD.setColor(255,62,62);
   myGLCD.print("T C" ,59, 10);
   myGLCD.print("T C" ,61, 10);
   myGLCD.print("T C" ,60, 11);
   myGLCD.print("T C" ,60, 9);
     myGLCD.setColor(VGA_WHITE); 
    myGLCD.print("T C" ,60, 10);
    
    
     
    myGLCD.setColor(10,255,60); 
   myGLCD.print("750" ,352, 250-8); 
   myGLCD.print("755" ,352, 230-8); 
   myGLCD.print("760" ,352, 210-8);
   myGLCD.print("765" ,352, 190-8);
   myGLCD.print("770" ,352, 170-8);
   myGLCD.setColor(0,38,92);
    myGLCD.print("Pmm" ,353, 170-35);
     myGLCD.print("Pmm" ,351, 170-35);
      myGLCD.print("Pmm" ,352, 171-35);
       myGLCD.print("Pmm" ,352, 169-35);
   myGLCD.setColor(VGA_WHITE);
   myGLCD.print("Pmm" ,352, 170-35);
   
  myGLCD.setColor(35,173,255); 
   myGLCD.print("H%" ,61, 290);
   myGLCD.print("H%" ,59, 290);
   myGLCD.print("H%" ,60, 291);
   myGLCD.print("H%" ,60, 289);
    myGLCD.setColor(VGA_WHITE);
     myGLCD.print("H%" ,60, 290);
  

   
 
}

//***********************************************************************************************
void picgraf()
{ 
  
  
  myGLCD.setBackColor(0,38,92);
  if(colorgraf>3)
   colorgraf=0;
    if(colorgraf==0)//выбор цвета графика
     myGLCD.setColor(VGA_WHITE);
     if(colorgraf==1)
    myGLCD.setColor(35,173,255);
      if(colorgraf==2)
    myGLCD.setColor(255, 255, 0);
     if(colorgraf==3)
    myGLCD.setColor(10,255,60);
    //if(colorgraf==4)
  //  myGLCD.setColor(255,62,62);
  //  if(colorgraf==5)
  //  myGLCD.setColor(255,114,0);
      myGLCD.setFont(BigFont);
  byte posy=16;
 
  if (days1<10)
    myGLCD.printNumI(days1, 420+16, posy*colorgraf+25);
  else
    myGLCD.printNumI(days1, 420, posy*colorgraf+25);
    myGLCD.print("." ,420+32, posy*colorgraf+25);
    
            if (mon1<10)
   {myGLCD.print("0" ,420+32+16, posy*colorgraf+25);
     myGLCD.printNumI(mon1, 420+32+32, posy*colorgraf+25);
   }
  else
    myGLCD.printNumI(mon1, 420+32+16, posy*colorgraf+25);
    myGLCD.print("." ,420+32+32+16, posy*colorgraf+25);
    myGLCD.printNumI(years1-2000, 420+32+32+16+16, posy*colorgraf+25);  
  
     word work[24]={256,254,260,264,265,266,270,268,259,255,250,249,256,254,260,264,265,266,270,268,259,255,250,249}; 
  word work1[24]={256,254,260,264,265,266,270,268,259,255,250,249,256,254,260,264,265,266,270,268,259,255,250,249};   
    
  byte reader[35];//23:00 T=+26,8C Pmm=756 H=35%    
  char* strd[] = {"01.txt","02.txt","03.txt","04.txt","05.txt","06.txt","07.txt","08.txt","09.txt","10.txt","11.txt","12.txt","13.txt","14.txt","15.txt","16.txt","17.txt","18.txt","19.txt","20.txt","21.txt","22.txt","23.txt","24.txt","25.txt","26.txt","27.txt","28.txt","29.txt","30.txt","31.txt"};
  char* strm[] = {"JAN","FEBR","MARCH","APRIL","MAY","JUNE","JULY","AUG","SEPT","OCT","NOV","DEC"};
  char* stry[] = {"2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035"};    
  char* name; 

  
     sd.chdir("/");
  delay (100);
 sd.chdir("tempul");//23:00 T=+27,8C Hu=33,2%
  delay (100);
  name= stry[years1-2014];
                                                          
      if (!sd.chdir(name))//проверка наличая папки на флешке
  {sd.chdir("/");
  delay (100);
  return;
  }
                                                       
  delay (100);
sd.chdir(name);// заходим в папку год
delay (100);

name= strm[mon1-1];
 if (!sd.chdir(name))//проверка наличая папки на флешке
  {sd.chdir("/");
  delay (100);
  return;
  }
                                                           
    delay (100);
sd.chdir(name);// заходим в папку месяц
delay (100);

name= strd[days1-1];
  // byte reader[24];//23:00 T=+26,8C Pmm=756 H=35%

  //*************************************************************************
   myFile.open(name, O_READ);
                                                         
    for (int n =0 ; n < 24; n = n++)// колво строк в файле
 {  
 for (int i =0 ; i < 23; i = i++) // колво байт в строке
  {  byte b= myFile.read();
  if (b<48)
  {reader[i]=b;
  }
  else
  {  b=b-48;//получение цифры из байта
 
   reader[i]=b;
  }

} 


//time7[n]=reader[0]*10+reader[1];

work1[n]=reader[18]*100+reader[19]*10+reader[21];//влажность

if (reader[8]==45)
{work[n]=reader[9]*100+reader[10]*10+reader[12]+1000;//- к отр темп прибавляем 1000
}
else
{
work[n]=reader[9]*100+reader[10]*10+reader[12];// полож темп записуем как есть
}




byte b= myFile.read()-48;//возврат коретки 2 байта
 b= myFile.read()-48;
}
 
 
 myFile.close(); 

 delay (100);
sd.chdir("/");
  delay (100);
int y1;
int y2;
  //****************Рисуем график  т ул*************************** 
  for ( byte x =0 ; x < 23; x = x+1) 
    { 
      //delay(500);
     if( work[22+1-x]>999)
     {
      y1=190+((work[22+1-x]-1000)*4/10);
     }
     else
     {
      y1=190-(work[22+1-x]*4/10);
     }
     
     if( work[22-x]>999)
     {
      y2=190+((work[22-x]-1000)*4/10);
     }
     else
     {
      y2=190-(work[22-x]*4/10);
     }
      
      
      
      myGLCD.drawLine(55+x*15, y1, 55+15*(x+1), y2); 
      myGLCD.drawLine(55+x*15, y1-1, 55+15*(x+1), y2-1); 
  
    }
  
  delay(500);
  
   for ( byte x =0 ; x < 23; x = x+1) //******************************************влажность ул  постр  графика
    { 
      y1=440-(work1[22+1-x]*15/100);
      y2=440-(work1[22-x]*15/100);
      myGLCD.drawLine(55+x*15, y1, 55+15*(x+1), y2); 
      myGLCD.drawLine(55+x*15, y1-1, 55+15*(x+1), y2-1); 
    }
  
// delay(500);
// считываем давление ********************************************************************

   sd.chdir("/");
  delay (100);
 sd.chdir("tempdom");//23:00 T=+27,8C Hu=33,2%
  delay (100);
  name= stry[years1-2014];
                                                          
      if (!sd.chdir(name))//проверка наличая папки на флешке
  {sd.chdir("/");
  delay (100);
  return;
  }
                                                       
  delay (100);
sd.chdir(name);// заходим в папку год
delay (100);

name= strm[mon1-1];
 if (!sd.chdir(name))//проверка наличая папки на флешке
  {sd.chdir("/");
  delay (100);
  return;
  }
                                                           
    delay (100);
sd.chdir(name);// заходим в папку месяц
delay (100);

name= strd[days1-1];
  // byte reader[24];//23:00 T=+26,8C Pmm=756 H=35%

  //*************************************************************************
   myFile.open(name, O_READ);// открываем файл с числом месяца
                                                         
    for (int n =0 ; n < 28; n = n++)// колво строк в файле
 {  
 for (int i =0 ; i < 28; i = i++) // колво байт в строке
  {  byte b= myFile.read();
  if (b<48)
  {reader[i]=b;
  }
  else
  {  b=b-48;//получение цифры из байта
 
   reader[i]=b;
  }

} 


//time7[n]=reader[0]*10+reader[1];

//work1[n]=reader[18]*100+reader[19]*10+reader[21];//давление
work1[n]=reader[19]*100+reader[20]*10+reader[21];//давление
//work[n]=reader[9]*100+reader[10]*10+reader[12];//Т дом




byte b= myFile.read()-48;//возврат коретки 2 байта
 b= myFile.read()-48;
}
 
 
 myFile.close(); 

 delay (100);
sd.chdir("/");
 // delay (100); 
  
     for ( byte x =0 ; x < 23; x = x+1) //****************давление ул  постр  графика
    { 
      y1=310-((work1[22+1-x]-735)*120/30);
       y2=310-((work1[22-x]-735)*120/30);
       
       if ((x==1)||(x==3)||(x==5)||(x==7)||(x==9)||(x==11)||(x==13)||(x==15)||(x==17)||(x==19)||(x==21))
       {myGLCD.setColor(10,200,60);
           if(colorgraf==3)
                       myGLCD.setColor(255,255,255);
       }
       else
       {
          if(colorgraf>3)
           colorgraf=0;
            if(colorgraf==0)//выбор цвета графика
             myGLCD.setColor(VGA_WHITE);
               if(colorgraf==1)
                 myGLCD.setColor(35,173,255);
                   if(colorgraf==2)
                      myGLCD.setColor(255, 255, 0);
                     if(colorgraf==3)
                       myGLCD.setColor(10,255,60);
       }
       
      myGLCD.drawLine(55+x*15, y1, 55+15*(x+1), y2); 
      myGLCD.drawLine(55+x*15, y1-1, 55+15*(x+1), y2-1); 
    }
  
// считываем темп ул ********************************************************************


 sd.chdir("tempdom");//23:00 T=+27,8C Hu=33,2%
  delay (100);
  name= stry[years1-2014];
                                                          
      if (!sd.chdir(name))//проверка наличая папки на флешке
  {sd.chdir("/");
  delay (100);
  return;
  }
                                                       
  delay (100);
sd.chdir(name);// заходим в папку год
delay (100);

name= strm[mon1-1];
 if (!sd.chdir(name))//проверка наличая папки на флешке
  {sd.chdir("/");
  delay (100);
  return;
  }
                                                           
    delay (100);
sd.chdir(name);// заходим в папку месяц
delay (100);

name= strd[days1-1];
  // byte reader[24];//23:00 T=+26,8C Pmm=756 H=35%

  //*************************************************************************
   myFile.open(name, O_READ);// открываем файл с числом месяца
                                                         
    for (int n =0 ; n < 28; n = n++)// колво строк в файле
 {  
 for (int i =0 ; i < 28; i = i++) // колво байт в строке
  {  byte b= myFile.read();
  if (b<48)
  {reader[i]=b;
  }
  else
  {  b=b-48;//получение цифры из байта
 
   reader[i]=b;
  }

} 


//time7[n]=reader[0]*10+reader[1];

//work1[n]=reader[18]*100+reader[19]*10+reader[21];//давление
//work1[n]=reader[19]*100+reader[20]*10+reader[21];//давление
work1[n]=reader[9]*100+reader[10]*10+reader[12];//Т дом




byte b= myFile.read()-48;//возврат коретки 2 байта
 b= myFile.read()-48;
}
 
 
 myFile.close(); 

 delay (100);
sd.chdir("/");
  
  
      for ( byte x =0 ; x < 23; x = x+1) //****************темп дома постр  графика
    { 
        y1=190-(work1[22+1-x]*4/10);
        y2=190-(work1[22-x]*4/10);
      myGLCD.drawLine(55+x*15, y1, 55+15*(x+1), y2); 
      //myGLCD.drawLine(55+x*15, y1-1, 55+15*(x+1), y2-1); 
    }
    //*************SUN**************************************************
  myGLCD.setColor(255, 255, 0);  

 sd.chdir("sun");//23:00 T=+27,8C Hu=33,2%
  delay (100);
  name= stry[years1-2014];
                                                          
      if (!sd.chdir(name))//проверка наличая папки на флешке
  {sd.chdir("/");
  delay (100);
  return;
  }
                                                       
  delay (100);
sd.chdir(name);// заходим в папку год
delay (100);

name= strm[mon1-1];
 if (!sd.chdir(name))//проверка наличая папки на флешке
  {sd.chdir("/");
  delay (100);
  return;
  }
                                                           
    delay (100);
sd.chdir(name);// заходим в папку месяц
delay (100);

name= strd[days1-1];
  // byte reader[24];//23:00 T=+26,8C Pmm=756 H=35%

  //*************************************************************************
   myFile.open(name, O_READ);// открываем файл с числом месяца
                                                         
    for (int n =0 ; n < 24; n = n++)// колво строк в файле
 {  
 for (int i =0 ; i < 11; i = i++) // колво байт в строке
  {  byte b= myFile.read();
  if (b<48)
  {reader[i]=b;
  }
  else
  {  b=b-48;//получение цифры из байта
 
   reader[i]=b;
  }

} 
work1[n]=reader[8]*10+reader[9];//sun%




byte b= myFile.read()-48;//возврат коретки 2 байта
 b= myFile.read()-48;
}
 
 
 myFile.close(); 

 delay (100);
sd.chdir("/");  

  for ( byte x =0 ; x < 23; x = x+1) //****************sun постр  графика
    { 
     y1=440-(work1[22+1-x]*15/10);
      y2=440-(work1[22-x]*15/10);
       
       if ((x==1)||(x==3)||(x==5)||(x==7)||(x==9)||(x==11)||(x==13)||(x==15)||(x==17)||(x==19)||(x==21))
       {myGLCD.setColor(255,150,0);
          // if(colorgraf==3)
                     //  myGLCD.setColor(255,255,255);
       }
       else
       {
          if(colorgraf>3)
           colorgraf=0;
            if(colorgraf==0)//выбор цвета графика
             myGLCD.setColor(VGA_WHITE);
               if(colorgraf==1)
                 myGLCD.setColor(35,173,255);
                   if(colorgraf==2)
                      myGLCD.setColor(255, 255, 0);
                     if(colorgraf==3)
                       myGLCD.setColor(10,255,60);
       }
       
  
        myGLCD.drawLine(55+x*15, y1, 55+15*(x+1), y2); 
      myGLCD.drawLine(55+x*15, y1-1, 55+15*(x+1), y2-1); 
    }  
  
//*************************************************************************************  
  
  
  
  
  delay(200);
  
  
  
  
    
}



void picgraftoday()
{
  //************выбор цвета графика
  
   myGLCD.setBackColor(0,38,92);
  if(colorgraf>3)
   colorgraf=0;
    if(colorgraf==0)//выбор цвета графика
     myGLCD.setColor(VGA_WHITE);
     if(colorgraf==1)
    myGLCD.setColor(35,173,255);
      if(colorgraf==2)
    myGLCD.setColor(255, 255, 0);
     if(colorgraf==3)
    myGLCD.setColor(10,255,60);
    //if(colorgraf==4)
  //  myGLCD.setColor(255,62,62);
  //  if(colorgraf==5)
  //  myGLCD.setColor(255,114,0);
      myGLCD.setFont(BigFont);
  byte posy=16;
 
  if (days1<10)
    myGLCD.printNumI(days1, 420+16, posy*colorgraf+25);
  else
    myGLCD.printNumI(days1, 420, posy*colorgraf+25);
    myGLCD.print("." ,420+32, posy*colorgraf+25);
    
            if (mon1<10)
   {myGLCD.print("0" ,420+32+16, posy*colorgraf+25);
     myGLCD.printNumI(mon1, 420+32+32, posy*colorgraf+25);
   }
  else
    myGLCD.printNumI(mon1, 420+32+16, posy*colorgraf+25);
    myGLCD.print("." ,420+32+32+16, posy*colorgraf+25);
    myGLCD.printNumI(years1-2000, 420+32+32+16+16, posy*colorgraf+25);  
   //****************Рисуем график  т ул*************************** 
   
     byte smes =t.hour;
   int y1;
   int y2;  
  for ( byte x =0 ; x < smes; x = x+1) 
    { 
      //delay(500);
     if( temul[smes-x]>999)
     {
      y1=190+((temul[smes-x]-1000)*4/10);
     }
     else
     {
      y1=190-(temul[smes-x]*4/10);
     }
     
     if( temul[smes-1-x]>999)
     {
      y2=190+((temul[smes-1-x]-1000)*4/10);
     }
     else
     {
      y2=190-(temul[smes-1-x]*4/10);
     }
      
      
      
      myGLCD.drawLine(55+x*15, y1, 55+15*(x+1), y2); 
      myGLCD.drawLine(55+x*15, y1-1, 55+15*(x+1), y2-1); 
  
    }
  
  delay(500);

   for ( byte x =0 ; x < smes; x = x+1) //******************************************влажность ул  постр  графика
    { 
      y1=440-(hug[smes-x]*15/100);
      y2=440-(hug[smes-1-x]*15/100);
      myGLCD.drawLine(55+x*15, y1, 55+15*(x+1), y2); 
      myGLCD.drawLine(55+x*15, y1-1, 55+15*(x+1), y2-1); 
    }
  
  delay(500);
    for ( byte x =0 ; x < smes; x = x+1) //****************давление ул  постр  графика
    { 
      y1=310-((pres[smes-x]-735)*120/30);
       y2=310-((pres[smes-1-x]-735)*120/30);
       
       
        if ((x==1)||(x==3)||(x==5)||(x==7)||(x==9)||(x==11)||(x==13)||(x==15)||(x==17)||(x==19)||(x==21))
       {myGLCD.setColor(10,200,60);
           if(colorgraf==3)
                       myGLCD.setColor(255,255,255);
       }
       else
       {
          if(colorgraf>3)
           colorgraf=0;
            if(colorgraf==0)//выбор цвета графика
             myGLCD.setColor(VGA_WHITE);
               if(colorgraf==1)
                 myGLCD.setColor(35,173,255);
                   if(colorgraf==2)
                      myGLCD.setColor(255, 255, 0);
                     if(colorgraf==3)
                       myGLCD.setColor(10,255,60);
       }
       
       
      myGLCD.drawLine(55+x*15, y1, 55+15*(x+1), y2); 
      myGLCD.drawLine(55+x*15, y1-1, 55+15*(x+1), y2-1); 
    }
    
    delay(500);
   for ( byte x =0 ; x < smes; x = x+1) //****************темп дома постр  графика
    { 
        y1=190-(temdom[smes-x]*4/10);
        y2=190-(temdom[smes-1-x]*4/10);
      myGLCD.drawLine(55+x*15, y1, 55+15*(x+1), y2); 
      //myGLCD.drawLine(55+x*15, y1-1, 55+15*(x+1), y2-1); 
    }
    
    delay(500);
      for ( byte x =0 ; x < smes; x = x+1) //****************sun постр  графика
    { 
     y1=440-(sun[smes-x]*15/10);
      y2=440-(sun[smes-1-x]*15/10);
       
       if ((x==1)||(x==3)||(x==5)||(x==7)||(x==9)||(x==11)||(x==13)||(x==15)||(x==17)||(x==19)||(x==21))
       {myGLCD.setColor(255,150,0);
          // if(colorgraf==3)
                     //  myGLCD.setColor(255,255,255);
       }
       else
       {
          if(colorgraf>3)
           colorgraf=0;
            if(colorgraf==0)//выбор цвета графика
             myGLCD.setColor(VGA_WHITE);
               if(colorgraf==1)
                 myGLCD.setColor(35,173,255);
                   if(colorgraf==2)
                      myGLCD.setColor(255, 255, 0);
                     if(colorgraf==3)
                       myGLCD.setColor(10,255,60);
       }
       
  
        myGLCD.drawLine(55+x*15, y1, 55+15*(x+1), y2); 
      myGLCD.drawLine(55+x*15, y1-1, 55+15*(x+1), y2-1); 
    }
  
  
  
}
