void grafik()
{ 
  
  
   boolean datm=1;
          boolean datd=1;
          boolean daty=1;
          
      
          
          
          
  if (graf==1)
  {   
       goto wil;
  }
 
 
 
   myGLCD.setColor(VGA_WHITE);
myGLCD.setBackColor(VGA_BLUE);
 myGLCD.setFont(BigFont);
 myGLCD.fillScr(VGA_BLUE); 
  kalend();
   myGLCD.drawBitmap (639, 370, 160, 80,  cl);
     myGLCD.drawRoundRect (639, 370, 799, 450); //Clok
         
  clc();
  
 
//*********************************************************  
   myGLCD.setColor(8,101,192);
  myGLCD.fillRoundRect(0, 0, 635, 470);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(0, 0, 635, 470);//прямоугольник с  обводкой
  
   myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(415, 22, 635, 90);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(415, 22, 635, 90);//прямоугольник с  обводкой
  
   myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(0, 0, 415, 470);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(0, 0, 415, 470);//прямоугольник с  обводкой
  
  tminmaxprint();
 
      myGLCD.setFont( Ubuntubold);
           myGLCD.setBackColor(8,101,192);
        myGLCD.setColor(255, 255, 0);//цвет 
    myGLCD.print("Change" ,460, 120);
     myGLCD.print("D" ,440, 163);
      myGLCD.print("M" ,440, 203);
       myGLCD.print("Y" ,440, 243); 
  
  
  
  
  myGLCD.setBackColor(0,38,92);
       myGLCD.setFont( Ubuntubold);
       
       
 mon1=t.mon;
 years1=t.year;
 days1=t.date;


        myGLCD.setColor(255, 255, 255);//цвет   
           if (days1<10)
    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(490, 157, 615, 195);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(490, 157, 615, 195);//прямоугольник с  обводкой 
  
  
 myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(490, 197, 615, 235);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(490, 197, 615, 235);//прямоугольник с  обводкой 
 
  myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(490, 237, 615, 275);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(490, 237, 615, 275);//прямоугольник с  обводкой   
  myGLCD.setBackColor(0,38,92);

  if (days1<10)
    {myGLCD.print("0" ,527, 163);
    myGLCD.printNumI(days1, 527+24, 163);
    }
  else
    myGLCD.printNumI(days1, 527, 163); 
    
if (mon1<10)
    {myGLCD.print("0" ,527, 203);
    myGLCD.printNumI(mon1, 527+24, 203);
    }
  else
    myGLCD.printNumI(mon1, 527, 203); 

  myGLCD.printNumI(years1, 507, 243); 
  
  myGLCD.setColor(31,70,126);
  myGLCD.print("<" ,495, 203); 
 myGLCD.print("<" ,495, 163);
//myGLCD.print("<" ,495, 243); 
 myGLCD.print(">" ,590, 203); 
 myGLCD.print(">" ,590, 163);
//myGLCD.print(">" ,495, 243); 

  myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(440, 290, 518, 340);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(440, 290, 518, 340);//прямоугольник с  обводкой   
  myGLCD.setBackColor(0,38,92);
  
    myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(538, 290, 615, 340);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(538, 290, 615, 340);//прямоугольник с  обводкой  
 
     myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(440, 355, 615, 405);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(440, 355, 615, 405);//прямоугольник с  обводкой    
  
       myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(440, 420, 615, 470);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(440, 420, 615, 470);//прямоугольник с  обводкой  

  
    myGLCD.setBackColor(0,38,92);
    myGLCD.print("RS" ,453, 303);
     myGLCD.print("OK" ,553, 303);
      myGLCD.setColor(63, 200, 255);//цвет
      myGLCD.print("GRAFIK" ,458, 368);
       myGLCD.setColor(255, 97, 237);//цвет
       myGLCD.print("QUIT" ,479, 433);
        myGLCD.setColor(255, 255, 255);//цвет
 //************************************************************ 
 printmassiv();

 myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(645, 155, 797, 367);//рисуем синий пр-к
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(645, 155, 797, 367);//прямоугольник с  обводкой
 info(); 
 
 wil:


 while(1)
  {  sec=t.sec;
    
    
 if ((sec==0) ||(sec==15) || (sec==30) || (sec==45))
{
//  myGLCD.setBackColor(0,0,255);
//      myGLCD.drawBitmap (769, 339, 30, 30, jar);
   
    
delay(800);

clc();


}
//*******************************
 //if (sec==22)
 //{printmassiv();
 //}
 //********************************
 
 if ((sec==11) || (sec==42) )
{

 info(); 
 }
 
 if ((sec==53) || (sec==25) )
{

 info();   

 }   
 
 
 
 
 
 
  //*****************************************************************
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();
            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)) 
  {  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)) //кнопка месяц
  {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)) //кнопка год -+
  { 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);
  myGLCD.setColor(255,255,0);
    myGLCD.print("RS" ,453, 303);
       mon1=t.mon;
      years1=t.year;
      days1=t.date;
      myGLCD.setColor(255,255,255);
      if (days1<10)
    {myGLCD.print("0" ,527, 163);
    myGLCD.printNumI(days1, 527+24, 163);
    }
  else
    myGLCD.printNumI(days1, 527, 163);
    if (mon1<10)
    {myGLCD.print("0" ,527, 203);
    myGLCD.printNumI(mon1, 527+24, 203);
    }
  else
    myGLCD.printNumI(mon1, 527, 203); 

  myGLCD.printNumI(years1, 507, 243);
  
  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,255,0);
    myGLCD.print("RS" ,453, 303);
  printmassiv();
  
   //вывод даты данных
   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);
    
       
    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))
  {  myGLCD.setBackColor(0,38,92);
    
    if(daty+datd+datm==3)
    {myGLCD.setColor(0,255,0);
    myGLCD.print("OK" ,553, 303);
    //**************************************
          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);
    }
    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);
  }
 } 
 
 if ((x>=440) && (x<=610)) 
  {if ((y>=360) && (y<=400)) //кнопка GRAFIK
    {
      myGLCD.setBackColor(0,38,92);
      myGLCD.setColor(59, 251, 104);//цвет
      
      myGLCD.print("GRAFIK" ,458, 368);
      delay(500);
       myGLCD.setColor(63, 200, 255);//цвет
       myGLCD.print("GRAFIK" ,458, 368);
      
       
           myGLCD.setColor(0,38,92);
  myGLCD.fillRoundRect(415, 22, 635, 90);//рисуем синий пр-к очистка поля даты
      myGLCD.setColor(255, 255, 255);//цвет обводки
  myGLCD.drawRoundRect(415, 22, 635, 90);//прямоугольник с  обводкой
   myGLCD.setColor(255, 255, 255);//цвет
  colorgraf=0;
  
       grafiks();
    }
   
   if ((y>=420) && (y<=470)) //кнопка QUIT
    { myGLCD.setBackColor(0,38,92);
      myGLCD.setColor(255, 100, 100);//цветmyGLCD.setColor(255, 97, 237);//цвет
       myGLCD.print("QUIT" ,479, 433);
       delay(500);
      myGLCD.setColor(255, 97, 237);//цвет
       myGLCD.print("QUIT" ,479, 433);
        myGLCD.setColor(255, 255, 255);//цвет
     graf=0;
      
      menu();
    }
    
  }
  
    } 
  }//wile

}



//**************************massiv******************
void printmassiv()// таблица данных датчиков за день
{//myGLCD.printNumI(rtc_clock.get_hours(),cx, cy);
//myGLCD.printNumI(rtc_clock.get_minutes()
int x=10;


  
  
 myGLCD.setColor(VGA_RED);//заголовок таблицы
      myGLCD.setBackColor(255,255,255);
       myGLCD.setFont(BigFont);
 myGLCD.print("TIME" ,x+5, 10); 
  myGLCD.print("Th C" ,x+5+70, 10); 
 myGLCD.print("H%" ,x+5+75+63, 10);
myGLCD.print("Pmm" ,x+5+75+63+38, 10);
myGLCD.print("Tu C" ,x+5+75+63+38+53, 10);
myGLCD.print("Hu%" ,x+5+75+63+38+53+70, 10);  
myGLCD.print("S%" ,x+5+75+63+38+53+70+60, 10);  
    myGLCD.setColor(VGA_BLUE);
      myGLCD.setBackColor(255,255,255);
       myGLCD.setFont(BigFont);
       
        for ( byte index=0; index<24; index++)
   {
     
 myGLCD.print(":" ,x+32-5, 30+index*18);
 
 if(time1[index]/100<10)
 {
    myGLCD.print("0" ,x, 30+index*18);
   myGLCD.printNumI(time1[index]/100, x+16, 30+index*18); 
  }  
 else  
 {     myGLCD.printNumI(time1[index]/100, x, 30+index*18); 
  }
 
  if(time1[index]%100<10)
 { myGLCD.print("0" ,x+32+5, 30+index*18);
   myGLCD.printNumI(time1[index]%100, x+32+16+5, 30+index*18);   
 }
else
{
  myGLCD.printNumI(time1[index]%100, x+32+5, 30+index*18);       
} 
   }
 x=x+75;    
  for ( byte index=0; index<24; index++)
   {
      myGLCD.print("+" , x ,30+index*18);
 myGLCD.print("." ,x+32+5, 30+index*18);
      myGLCD.printNumI(temdom[index]/10, x+10, 30+index*18); 
      myGLCD.printNumI(temdom[index]%10, x+10+32+5, 30+index*18); 
     
   }


 x=x+68;
  for ( byte index=0; index<24; index++)
   {
     

    myGLCD.printNumI(h[index], x, 30+index*18); 
  
     
   } 

 x=x+38;
  for ( byte index=0; index<24; index++)
   {
     

      
    myGLCD.printNumI(pres[index], x, 30+index*18);
     
   }
    x=x+53;
    
      for ( byte index=0; index<24; index++)//Tu
   { 
     if (temul[index]<999)
    {  myGLCD.print("+" , x ,30+index*18);
 myGLCD.print("." ,x+32+5, 30+index*18);
       if ((temul[index]<100)&&(temul[index]>9))
      { myGLCD.print("0" , x+10 ,30+index*18); 
      myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18); 
      myGLCD.printNumI(temul[index]%10, x+10+32+5, 30+index*18); 
      }
       if (temul[index]<10)
      { myGLCD.print("00" , x+10 ,30+index*18); 
     // myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18); 
      myGLCD.printNumI(temul[index]%10, x+10+32+5, 30+index*18); 
      }
      if (temul[index]>99)
      {  
      myGLCD.printNumI(temul[index]/10, x+10, 30+index*18); 
      myGLCD.printNumI(temul[index]%10, x+10+32+5, 30+index*18); 
      }
    }
    else
    {
       myGLCD.print("-" , x ,30+index*18);
 myGLCD.print("." ,x+32+5, 30+index*18);
      //myGLCD.printNumI((temul[index]-1000)/10, x+10, 30+index*18); 
      if ((temul[index]-1000<100)&&(temul[index]-1000>9))
      { myGLCD.print("0" , x+10 ,30+index*18); 
      myGLCD.printNumI((temul[index]-1000)/10, x+10+16, 30+index*18); 
      myGLCD.printNumI((temul[index]-1000)%10, x+10+32+5, 30+index*18); 
      }
       if (temul[index]-1000<10)
      { myGLCD.print("00" , x+10 ,30+index*18); 
     // myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18); 
      myGLCD.printNumI((temul[index]-1000)%10, x+10+32+5, 30+index*18); 
      }
      if (temul[index]-1000>99)
      {  
      myGLCD.printNumI((temul[index]-1000)/10, x+10, 30+index*18); 
      myGLCD.printNumI((temul[index]-1000)%10, x+10+32+5, 30+index*18); 
      } 
      
    }
    }
     x=x+70;
    for ( byte index=0; index<24; index++)//Hug
   { 
     myGLCD.print("   " ,x, 30+index*18);
     if ((hug[index]>0)&&(hug[index]<1000))
     {myGLCD.print("." ,x+32-5, 30+index*18);
       myGLCD.printNumI(hug[index]/10, x, 30+index*18); 
      myGLCD.printNumI(hug[index]%10, x+32+5, 30+index*18);
     }
     else
     {
       myGLCD.print("." ,x+32-5, 30+index*18);
       myGLCD.print("00" ,x, 30+index*18);
       myGLCD.print("0", x+32+5, 30+index*18);
     }
   }  
 //sun  
       x=x+60;
    for ( byte index=0; index<24; index++)//Hug
   { 
     myGLCD.print("  " ,x, 30+index*18);
     
     if ((sun[index]>0)&&(sun[index]<100))
   {  if ((sun[index]>0)&&(sun[index]<10))
     {myGLCD.print("0" ,x, 30+index*18);
       myGLCD.printNumI(sun[index], x+16, 30+index*18); 
      //myGLCD.printNumI(hug7[index]%10, x+32+5, 30+index*18);
     }
     else
     {
       //myGLCD.print("." ,x+32-5, 30+index*18);
      myGLCD.printNumI(sun[index], x, 30+index*18); 
      // myGLCD.print("0", x+32+5, 30+index*18);
     }
   }
     else
     {
       //myGLCD.print("." ,x+32-5, 30+index*18);
       myGLCD.print("00" ,x, 30+index*18);
      // myGLCD.print("0", x+32+5, 30+index*18);
     }
   
   
   }
   
delay (200);
}
















//****************************чтение файла со значениями погоды на зад день Ф.txt и запись данных в массивы **********************************************
void readmasfail(byte d,byte m,word y)
{
   byte reader[35];//23:00 T=+26,8C Pmm=756 H=35% 

 byte time7[24]={23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
  word temul7[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};
  
  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; 
//*********************************************************************************************************************************








 
   
  word hug7[24]={756,754,760,764,765,766,770,768,759,755,750,749,756,754,760,764,765,766,770,768,759,755,750,749};
 // word temdom7[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 h7[24]={25,25,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,25,25};
  word pres7[24]={756,754,760,764,765,766,770,768,759,755,750,749,756,754,760,764,765,766,770,768,759,755,750,749};
//********************************************************************************


   sd.chdir("/");
  delay (100);
 sd.chdir("tempdom");//23:00 T=+28,1C Pmm=755 H=35%
  delay (100);
  name= stry[y-2014];
  
      if (!sd.chdir(name))//проверка наличая папки на флешке
  {sd.chdir("/");
  delay (100);
  return;
  }

  delay (100);
sd.chdir(name);// заходим в папку год
delay (100);

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

name= strd[d-1];
  //*************************************************************************
   myFile.open(name, O_READ);
   
    for (int n =0 ; n < 24; 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;
  }
  }
//word time[24]=1000,1100,----
//word temdom[24]=256,254, 
//word pres[24]=756,754,
// time7[n]=reader[0]*1000+reader[1]*100+reader[3]*10+reader[4];
temul7[n]=reader[9]*100+reader[10]*10+reader[12];
pres7[n]=reader[19]*100+reader[20]*10+reader[21];
h7[n]=reader[25]*10+reader[26];
 //time7[n]=reader[0]*10+reader[1];
 
byte b= myFile.read()-48;//возврат коретки 2 байта
 b= myFile.read()-48;
}
 
 
 myFile.close(); 
//******************************************вывод рез в табл**************************************************************************************
 myGLCD.setColor(VGA_RED);//заголовок таблицы
      myGLCD.setBackColor(255,255,255);
       myGLCD.setFont(BigFont);
       int x=10;
   myGLCD.print("TIME" ,x+5, 10); 
  myGLCD.print("Th C" ,x+5+70, 10); 
 myGLCD.print("H%" ,x+5+75+63, 10);
myGLCD.print("Pmm" ,x+5+75+63+38, 10);
myGLCD.print("Tu C" ,x+5+75+63+38+53, 10);
myGLCD.print("Hu%" ,x+5+75+63+38+53+70, 10);  
myGLCD.print("S%" ,x+5+75+63+38+53+70+60, 10); 

    myGLCD.setColor(VGA_BLUE);
      myGLCD.setBackColor(255,255,255);
       myGLCD.setFont(BigFont);
       
 
 
 x=x+75;    
  for ( byte index=0; index<24; index++)
   {
      myGLCD.print("+" , x ,30+index*18);
 myGLCD.print("." ,x+32+5, 30+index*18);
      myGLCD.printNumI(temul7[index]/10, x+10, 30+index*18); 
      myGLCD.printNumI(temul7[index]%10, x+10+32+5, 30+index*18); 
     
   }


 x=x+63+5;
  for ( byte index=0; index<24; index++)
   {
     

    myGLCD.printNumI(h7[index], x, 30+index*18); 
  
     
   } 

 x=x+38;
  for ( byte index=0; index<24; index++)
   {
     

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

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

name= strd[d-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;
  }
//word time[24]=1000,1100,----
//word temdom[24]=256,254, 
//word pres[24]=756,754,
} 

//temdom7[n]=reader[9]*100+reader[10]*10+reader[12];
//pres7[n]=reader[19]*100+reader[20]*10+reader[21];

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

hug7[n]=reader[18]*100+reader[19]*10+reader[21];

if (reader[8]==45)
{temul7[n]=reader[9]*100+reader[10]*10+reader[12]+1000;//- к отр темп прибавляем 1000
}
else
{
temul7[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 index=0; index<24; index++)//Tu
   { 
     if (temul7[index]<999)
    {  myGLCD.print("+" , x ,30+index*18);
 myGLCD.print("." ,x+32+5, 30+index*18);
       if ((temul7[index]<100)&&(temul7[index]>9))
      { myGLCD.print("0" , x+10 ,30+index*18); 
      myGLCD.printNumI(temul7[index]/10, x+10+16, 30+index*18); 
      myGLCD.printNumI(temul7[index]%10, x+10+32+5, 30+index*18); 
      }
       if (temul7[index]<10)
      { myGLCD.print("00" , x+10 ,30+index*18); 
     // myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18); 
      myGLCD.printNumI(temul7[index]%10, x+10+32+5, 30+index*18); 
      }
      if (temul7[index]>99)
      {  
      myGLCD.printNumI(temul7[index]/10, x+10, 30+index*18); 
      myGLCD.printNumI(temul7[index]%10, x+10+32+5, 30+index*18); 
      }
    }
 else
    {
       myGLCD.print("-" , x ,30+index*18);
 myGLCD.print("." ,x+32+5, 30+index*18);
      //myGLCD.printNumI((temul[index]-1000)/10, x+10, 30+index*18); 
      if ((temul7[index]-1000<100)&&(temul7[index]-1000>9))
      { myGLCD.print("0" , x+10 ,30+index*18); 
      myGLCD.printNumI((temul7[index]-1000)/10, x+10+16, 30+index*18); 
      myGLCD.printNumI((temul7[index]-1000)%10, x+10+32+5, 30+index*18); 
      }
       if (temul7[index]-1000<10)
      { myGLCD.print("00" , x+10 ,30+index*18); 
     // myGLCD.printNumI(temul[index]/10, x+10+16, 30+index*18); 
      myGLCD.printNumI((temul7[index]-1000)%10, x+10+32+5, 30+index*18); 
      }
      if (temul7[index]-1000>99)
      {  
      myGLCD.printNumI((temul7[index]-1000)/10, x+10, 30+index*18); 
      myGLCD.printNumI((temul7[index]-1000)%10, x+10+32+5, 30+index*18); 
      } 
      
    }
    }
     x=x+70;
    for ( byte index=0; index<24; index++)//Hug
   { 
     myGLCD.print("   " ,x, 30+index*18);
     if ((hug7[index]>0)&&(hug7[index]<1000))
     {myGLCD.print("." ,x+32-5, 30+index*18);
       myGLCD.printNumI(hug7[index]/10, x, 30+index*18); 
      myGLCD.printNumI(hug7[index]%10, x+32+5, 30+index*18);
     }
     else
     {
       myGLCD.print("." ,x+32-5, 30+index*18);
       myGLCD.print("00" ,x, 30+index*18);
       myGLCD.print("0", x+32+5, 30+index*18);
     }
   }
//****************   ******************    *********************    *********************   *********************
    sd.chdir("/");
  delay (100);
 sd.chdir("sun");//23:00 T=+27,8C Hu=33,2%
  delay (100);
  name= stry[y-2014];
                                                          
      if (!sd.chdir(name))//проверка наличая папки на флешке
  {sd.chdir("/");
  delay (100);
  goto vr;
  }
                                                       
  delay (100);
sd.chdir(name);// заходим в папку год
delay (100);

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

name= strd[d-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;
  }

} 


hug7[n]=reader[8]*10+reader[9];

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

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

  //*******************************************

      x=x+60;
    for ( byte index=0; index<24; index++)//Hug
   { 
     myGLCD.print("  " ,x, 30+index*18);
     if ((hug7[index]>0)&&(hug7[index]<100))
     {//myGLCD.print("." ,x+32-5, 30+index*18);
       myGLCD.printNumI(hug7[index], x, 30+index*18); 
      //myGLCD.printNumI(hug7[index]%10, x+32+5, 30+index*18);
     }
     else
     {
       //myGLCD.print("." ,x+32-5, 30+index*18);
       myGLCD.print("00" ,x, 30+index*18);
      // myGLCD.print("0", x+32+5, 30+index*18);
     }
   }
   
   
//********************************************************************************************   
vr:
x=10;//повт печать времени
        for ( byte index=0; index<24; index++)
   {
     
 myGLCD.print(":" ,x+32-5, 30+index*18);
 
 if(time7[index]<10)
 {
    myGLCD.print("0" ,x, 30+index*18);
   myGLCD.printNumI(time7[index], x+16, 30+index*18); 
  }  
 else  
 {     myGLCD.printNumI(time7[index], x, 30+index*18); 
  }
  myGLCD.print("00" ,x+32+5, 30+index*18);
  

   }
   
   //вывод даты данных
   myGLCD.setBackColor(0,38,92);
       myGLCD.setFont( Ubuntubold); 
        myGLCD.setColor(255, 255, 255);
        
    if (d<10)
   { myGLCD.print(" " ,440-8, 40);
    myGLCD.printNumI(d, 440-8+24, 40);
   }
  else
    myGLCD.printNumI(d, 440-8, 40);
    myGLCD.print("." ,440+40, 40);
    
            if (m<10)
   {myGLCD.print("0" ,440+40+20, 40);
     myGLCD.printNumI(m, 440+40+20+24, 40);
   }
  else
    myGLCD.printNumI(m, 440+40+20, 40);
    myGLCD.print("." ,440+40+17+48, 40);
    myGLCD.printNumI(y-2000, 440+40+20+48+20, 40);
   
   
   
}

void tminmaxprint()
{
 myGLCD.setBackColor(255,255,255); 
  myGLCD.setColor(255, 0, 0);
  myGLCD.setFont(BigFont);

   byte hh;
  byte mm;
  byte d;
  byte m;
  word y;
  d=time1[24]/1000;
  m=(time1[24]%1000)/10;
  y=((time1[24]%1000)%10)*10;
  hh=time1[25]/1000;
  mm=(time1[25]%1000)/10;
   y=y+((time1[25]%1000)%10);
     int px=430;
  byte py=90;
  myGLCD.print("Tmax=+" ,px, py);
   myGLCD.printNumI(temul[24]/10, px+16*6, py); 
    myGLCD.print("," ,px+16*8, py);
     myGLCD.printNumI(temul[24]%10, px+16*9, py);
     myGLCD.print("C " ,px+16*10, py);

 
 
//*************min ***********************************************
  myGLCD.setColor(55, 55, 255);
  myGLCD.setBackColor(255,255,255); 
 d=time1[26]/1000;
  m=(time1[26]%1000)/10;
  y=((time1[26]%1000)%10)*10;
  hh=time1[27]/1000;
  mm=(time1[27]%1000)/10;
   y=y+((time1[27]%1000)%10);
 // int Tm;

int Tm;
int Tm1;
  py=90+16;
  px=430;
   if (temul[25]>1000)
       {   Tm=temul[25]-1000;
       
        if(Tm<100)
        {myGLCD.print("Tmin= -" ,px, py);
        }
        else
        { myGLCD.print("Tmin=-" ,px, py);
        }
       }
    else
   {
    Tm=temul[25];
     if(Tm<100)
        {myGLCD.print("Tmin= +" ,px, py);
        }
        else
        { myGLCD.print("Tmin=+" ,px, py);
        }
   }
  
 if(Tm<100) 
 { // myGLCD.print(" " ,px+16*6, py);
   myGLCD.printNumI(Tm/10, px+16*7, py); 
    myGLCD.print("," ,px+16*8, py);
     myGLCD.printNumI(Tm%10, px+16*9, py);
     myGLCD.print("C " ,px+16*10, py);
 }  
  else
  { myGLCD.printNumI(Tm/10, px+16*6, py); 
    myGLCD.print("," ,px+16*8, py);
     myGLCD.printNumI(Tm%10, px+16*9, py);
     myGLCD.print("C " ,px+16*10, py);
  }  
     
   
  myGLCD.setFont( Ubuntubold);
   
 
//**************************************
 
  
  myGLCD.setFont( Ubuntubold);
  }
