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.
 
 
 
Play/_718/Fl2.ino

681 lines
19 KiB

void flower2()
{
byte bait;
byte bait1;
myGLCD.setFont( BigFont);
// myGLCD.fillScr(200,200,200);
sd.chdir("/");
delay (100);
sd.chdir("weat");//установка раб директории
delay (100);
//myFiles.loadBitmap(0, 0, 800, 480, "33a.raw");
myFile.open("fl2.raw", O_READ);
int n=0;
int m=0;
for (int i =0 ; i < 307200; i = i++)
{
n=n+1;
bait = myFile.read();
bait1 =myFile.read();
// w1= (bait - 48) << 4 | (bait1 - 48);
// w2= (bait2 - 48) << 4 | (bait3 - 48);
w= bait<<8|bait1;
pic1[n]=w;
//3199
if (n>639){
n=0;
// myGLCD.drawBitmap (0, 20*m, 320, 10, pic1, 2);
// myGLCD.drawBitmap (0, 2*m, 320, 1, pic1, 2);
myGLCD.drawBitmap (0, m, 640, 1, pic1, 1);
m=m+1;
}
}
// close the file:d
myFile.close();
//**************************************************
myGLCD.setBackColor(VGA_TRANSPARENT);
myGLCD.setColor(VGA_RED);
myGLCD.setFont(Ubuntubold);
myGLCD.print("+" ,60, 56);
myGLCD.setFont(SevenSegNumFont);
myGLCD.printNumI(tfl2 ,80, 46);
myGLCD.setColor(VGA_AQUA);
myGLCD.setFont(Ubuntubold);
myGLCD.print("%" ,122, 410);
myGLCD.setFont(SevenSegNumFont);
myGLCD.printNumI(vfl2 ,59, 385);
// myGLCD.setFont(Ubuntubold);
// myGLCD.setColor(VGA_BLUE);
//myGLCD.printNumI(osv ,440, 43);
myGLCD.setFont(BigFont);
myGLCD.setColor(VGA_BLUE);
myGLCD.printNumI(dfl2 ,65, 455);
myGLCD.print(":00",77+16, 455);
//********************************************************
sd.chdir("/");//установка раб директории
delay (50);
//**************************************
// myGLCD.setColor(0,38,92);
// myGLCD.fillRoundRect(645, 155, 797, 367);//рисуем синий пр-к
// myGLCD.setColor(255, 255, 255);//цвет обводки
// myGLCD.drawRoundRect(645, 155, 797, 367);//прямоугольник с обводкой
// info();
// myGLCD.fillScr(VGA_BLUE);
myGLCD.setColor(VGA_WHITE);
myGLCD.setBackColor(0,0,55);
graflawer();
grafflm2();
//******************************************************************************************************************************
}
//***************************************************************
void grafflm2()
{
boolean datm=1;
boolean daty=1;
int m=t.mon;//месяц
int ye=t.year; //год
// knopki******************************
byte dat16=0;//16:00 date yes or no
myGLCD.setFont( Ubuntubold);
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255, 255, 0);//цвет
myGLCD.print("M" ,235, 395);//выделение месяца цветом 440 203
// myGLCD.setBackColor(8,101,192);
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255, 255, 0);//цвет 440 243
myGLCD.print("Y" ,235, 435);
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(275, 391, 400, 434-5);//рисуем синий пр-к M
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(275, 391, 400, 434-5);//прямоугольник с обводкой
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(275, 431, 400, 474-5);//рисуем синий пр-к Y
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(275, 431, 400, 474-5);//прямоугольник с обводкой
myGLCD.setBackColor(0,38,92);
if (mon1<10)
{myGLCD.print("0" ,312, 395);
myGLCD.printNumI(m, 312+24, 395);
}
else
myGLCD.printNumI(m, 312, 395);
myGLCD.printNumI(ye, 292, 435);
myGLCD.setColor(31,70,126);
myGLCD.print("<" ,312-32, 395);
myGLCD.print(">" ,312+63, 395);
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(430, 391, 500, 434-5);//рисуем синий пр-к RS
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(430, 391, 500, 434-5);//прямоугольник с обводкой
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(520, 391, 590, 434-5);//прямоугольник с обводкой OK
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(520, 391, 590, 434-5);//прямоугольник с обводкой OK
myGLCD.setColor(0,38,92);
myGLCD.drawRoundRect(430, 431, 590, 474-5);//прямоугольник с обводкой OK
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(430, 431, 590, 474-5);//прямоугольник с обводкой OK
myGLCD.setColor(255, 255, 255);//цвет
myGLCD.setBackColor(0,38,92);
myGLCD.print("RS" ,440, 395);
myGLCD.print("OK" ,530, 395);
myGLCD.setColor(255, 97, 237);//цвет
myGLCD.print("QUIT" ,460, 435);
myGLCD.setColor(255, 255, 255);//цвет
//******************************************************************
graff2:
byte dm=31;// макс день месяца
if (m==2)
dm=28;
if ((m==4)||(m==6)||(m==9)||(m==11))
dm=30;
if(ye==t.year)//проверка на наличае данных
{if(m==t.mon)
{ dm=t.date-1;
}
}
//*************************GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG*******************************************************
word work[31]={100,250,250,244,245,246,240,248,249,245,250,249,250,250,250,244,245,246,250,248,250,250,250,249,250,250,250,250,250,250,249};
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("flower");//23:00 T=+27,8C Hu=33,2%
delay (100);
name= stry[ye-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);
//*************************************************************************
myFile.open("poliv2.txt", O_READ);
char s;
char token[] = "date:";
char token1[] = "16:00";
int n1=0;
int p=0;
int j=0;
int w=0;
for (int d=0; d<dm ;d++){
p=0;
j=0;
n1=0;
while (j<165) {
if (p==0){s = myFile.read();}
if (s == token[n1])
{s = myFile.read();
n1++;
p=1;
}
else
{p=0;
n1=0;
}
j++;
if (n1==5){
//s=myFile.read();//пробел
w=10*(myFile.read()-48);//десятки даты
w=w+(myFile.read()-48);//единицы даты
j=167;
}
}
p=0;
j=0;
n1=0;
while (j<165) {
if (p==0){s = myFile.read();}
if (s == token1[n1])
{s = myFile.read();
n1++;
p=1;
}
else
{p=0;
n1=0;
}
j++;
if (n1==5){
dat16=1;
for (j=0; j<8 ;j++)
{ s=myFile.read();//пропуск 9 символов
//delay(10);
}
work[w-1]=10*(myFile.read()-48);//десятки t
// myGLCD.printNumI( work[w-1], 312-24, 10);
work[w-1]=work[w-1]+(myFile.read()-48);//единицы t
// myGLCD.printNumI( work[w-1], 312+48, 10);
work[w-1]=work[w-1]*10;
j=167;
}
}//while
if (dat16==0)
{
if (w>1){ work[w-1]=work[w-2];}
}
}
myFile.close();
delay (100);
myGLCD.setColor(255, 0, 0);
int y1;
int y2;
//****************Рисуем графики T***************************
// цвет графиа
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);
for ( byte x =1 ; x < dm; x = x+1) //****************темп дома постр графика
{
y1=190-(work[x-1]*4/10);
y2=190-(work[x]*4/10);
myGLCD.drawLine(275+x*11, y1, 275+11*(x+1), y2);
myGLCD.drawLine(275+x*11, y1-1, 275+11*(x+1), y2-1);
}
//********************************************************************************
//****************************влажность
strm = {"JAN","FEBR","MARCH","APRIL","MAY","JUNE","JULY","AUG","SEPT","OCT","NOV","DEC"};
stry = {"2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035"};
sd.chdir("/");
delay (100);
sd.chdir("flower");//23:00 T=+27,8C Hu=33,2%
delay (100);
// name= stry[years1-2014];
name= stry[ye-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);
myFile.open("poliv2.txt", O_READ);
w=0;
for (int d=0; d<dm ;d++){
p=0;
j=0;
n1=0;
while (j<165) {
if (p==0){s = myFile.read();}
if (s == token[n1])
{s = myFile.read();
n1++;
p=1;
}
else
{p=0;
n1=0;
}
j++;
if (n1==5){
//s=myFile.read();//пробел
w=10*(myFile.read()-48);//десятки даты
w=w+(myFile.read()-48);//единицы даты
j=167;
}
}
p=0;
j=0;
n1=0;
dat16=0;
while (j<165) {
if (p==0){s = myFile.read();}
if (s == token1[n1])
{s = myFile.read();
n1++;
p=1;
}
else
{p=0;
n1=0;
}
j++;
if (n1==5){
dat16=1;
s=myFile.read();//пропуск
s=myFile.read();//пропуск
s=myFile.read();//пропуск
work[w-1]=10*(myFile.read()-48);//десятки t
// myGLCD.printNumI( work[w-1], 312-24, 250);
work[w-1]=work[w-1]+(myFile.read()-48);//единицы t
// myGLCD.printNumI( work[w-1], 312+48, 250);
work[w-1]=work[w-1]*10;
j=167;
}
}
if (dat16==0)
{
if (w>1){ work[w-1]=work[w-2];}
}
}
myFile.close();
for ( byte x =1 ; x < dm; x = x+1) //******************************************влажность ул постр графика
{
y1=360-(work[x-1]*15/100);
y2=360-(work[x]*15/100);
myGLCD.drawLine(275+x*11, y1, 275+11*(x+1), y2);
myGLCD.drawLine(275+x*11, y1-1, 275+11*(x+1), y2-1);
}
delay (100);
sd.chdir("/");
//****************************************************************************
while(1)
{
sec=t.sec;
if ((sec==0)||(sec==20)||(sec==40))
{
delay(800);
clc();
}
if ((sec==11) || (sec==45) )
{
info();
}
//*********************************TOUCH********************************
if (myTouch.dataAvailable())
{
myTouch.read();
int x=myTouch.getX();
int y=myTouch.getY();
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();
flower2();
}
if ((y>=370) && (y<=450)) //(10, 370, 90, 450); //Clok
{waitForIt1(639, 370, 799, 450);
menu();
}
}
if ((y>=400) && (y<=430)) //
{
if ((x>=280) && (x<=300))//<M
{datm=1;
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
myGLCD.print("<" ,312-32, 395);
//myGLCD.print(">" ,312+63, 395);
myGLCD.setColor(255,255,255);
m=m-1;
if (m==0)
m=12;
if(ye==t.year)
{if(m>t.mon)
{myGLCD.setColor(255,0,0);
datm=0;
}
}
if(ye<2016)
{if(m<9)
{myGLCD.setColor(255,0,0);
datm=0;
}
}
myGLCD.setBackColor(0,38,92);
if (m<10)
{myGLCD.print("0" ,312, 395);
myGLCD.printNumI(m, 312+24, 395);
}
else
myGLCD.printNumI(m, 312, 395);
delay (300);
myGLCD.setColor(31,70,126);
myGLCD.print("<" ,312-32, 395);
}
if ((x>=370) && (x<=390))//>M
{datm=1;
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(218,231,250);// myGLCD.setColor(31,70,126);
//myGLCD.print("<" ,312-32, 395);
myGLCD.print(">" ,312+63, 395);
myGLCD.setColor(255,255,255);
m=m+1;
if (m==13)
m=1;
if(ye==t.year)
{if(m>t.mon)
{myGLCD.setColor(255,0,0);
datm=0;
}
}
if(ye<2016)
{if(m<9)
{myGLCD.setColor(255,0,0);
datm=0;
}
}
myGLCD.setBackColor(0,38,92);
if (m<10)
{myGLCD.print("0" ,312, 395);
myGLCD.printNumI(m, 312+24, 395);
}
else
myGLCD.printNumI(m, 312, 395);
delay (300);
myGLCD.setColor(31,70,126);
myGLCD.print(">" ,312+63, 395);
}
if ((x>=435) && (x<=500))//RS
{myGLCD.setBackColor(0,38,92);
if(daty+datm==2)
{myGLCD.setColor(0,255,0);
myGLCD.print("RS" ,440, 395);
//GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
delay(300);
myGLCD.setFont( Ubuntubold);
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255,255,255);
myGLCD.print("RS" ,440, 395);
graflawer();
grafflm2();
}
else
{myGLCD.setColor(255,0,0);
myGLCD.print("RS" ,440, 395);
}
delay(300);
myGLCD.setFont( Ubuntubold);
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255,255,255);
myGLCD.print("RS" ,440, 395);
}
if ((x>=525) && (x<=590))//OK
{myGLCD.setBackColor(0,38,92);
if(daty+datm==2)
{myGLCD.setColor(0,255,0);
myGLCD.print("OK" ,530, 395);
delay(300);
colorgraf++;
myGLCD.setFont( Ubuntubold);
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255,255,255);
myGLCD.print("OK" ,530, 395);
goto graff2;
}
//*******GGGGGGGGGGGGGGGGGGGGGGGGG
else
{myGLCD.setColor(255,0,0);
myGLCD.print("OK" ,530, 395);
}
delay(300);
myGLCD.setFont( Ubuntubold);
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255,255,255);
myGLCD.print("OK" ,530, 395);
}
}
if ((y>=440) && (y<=470)) //
{
if ((x>=280) && (x<=300))//<Y
{daty=1;
ye=ye-1;
if(ye<2015)
ye=2015;
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255,255,255);
if((ye<2015) || (ye>t.year))
{ myGLCD.setColor(255,0,0);
daty=0;
}
myGLCD.printNumI(ye, 292, 435);
delay(300);
}
if ((x>=370) && (x<=390))//>Y
{daty=1;
ye=ye+1;
myGLCD.setBackColor(0,38,92);
myGLCD.setColor(255,255,255);
if((ye<2015) || (ye>t.year))
{ myGLCD.setColor(255,0,0);
daty=0;
}
myGLCD.printNumI(ye, 292, 435);
delay(300);
}
if ((x>=435) && (x<=590))//QUIT
{myGLCD.setBackColor(0,38,92);
myGLCD.setColor(59, 251, 104);//цвет
myGLCD.print("QUIT" ,460, 435);
delay(500);
flower();
}
}
}//touch
}
}