You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1407 lines
39 KiB
1407 lines
39 KiB
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);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|