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/my719/raw.ino

767 lines
17 KiB

//*******************************************************************************
void raw()//sd.begin(chipSelect, SPI_HALF_SPEED );
//myGLCD.setFont( Ubuntubold);
//myGLCD.setFont(BigFont);
{
boolean pause=0;
byte p=0;
if (t.hour<7 || t.hour>22)
{myGLCD.fillScr(22,18,70);
myGLCD.setColor(255, 255, 255);
myGLCD.setBackColor(22,18,70);
myGLCD.drawBitmap (639, 370, 160, 80, cl);
myGLCD.drawRoundRect (639, 370, 799, 450); //Clok
}
else
{
myGLCD.setBackColor(VGA_AQUA);
}
// myGLCD.setColor(VGA_WHITE);
myGLCD.setColor(255, 255, 255);
// myGLCD.drawBitmap (679, 280, 80, 80, instellingen);
// myGLCD.drawRoundRect (679, 280, 759, 360); //Install
myGLCD.drawBitmap (639, 370, 160, 80, cl);
myGLCD.drawRoundRect (639, 370, 799, 450); //Clok
myGLCD.drawBitmap (769, 449, 30, 30, jar);
myGLCD.drawRoundRect (769, 449, 769+30, 449+30);// яркость
//myGLCD.setColor(255,255,255);
myGLCD.setBackColor(0,38,92);
myGLCD.setFont( BigFont);
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect (769-31, 449, 769-1, 449+30);
myGLCD.setColor(255, 255, 255);
myGLCD.setColor(0,250,0);
myGLCD.fillCircle (769-31+7+8,449+7+8,12);
myGLCD.setColor(255, 255, 255);
myGLCD.drawRoundRect (769-31, 449, 769-1, 449+30);// pause
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect (769-61, 449, 769-31, 449+30);
//myGLCD.setColor(255, 255, 255);
myGLCD.setColor(0,174,235);
myGLCD.fillCircle (769-61+7+8,449+7+8,12);
//myGLCD.setColor(255,0,0);
// myGLCD.fillCircle (769-61+7+8,449+7+8,5);
myGLCD.setColor(255, 255, 255);
myGLCD.drawRoundRect (769-61, 449, 769-31, 449+30);// flower
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect (769-91, 449, 769-61, 449+30);
myGLCD.setColor(255, 255, 255);
myGLCD.setColor(255,216,0);
myGLCD.fillCircle (769-91+7+8,449+7+8,12);
myGLCD.setColor(255,0,0);
myGLCD.fillCircle (769-61+7+8,449+7+8,5);
myGLCD.setColor(255, 255, 255);
myGLCD.drawRoundRect (769-91, 449, 769-61, 449+30);// datchik
sd.chdir("/");
delay (100);
if (!sd.chdir("/"))
{sd.begin(chipSelect, SPI_HALF_SPEED );
delay (100);
sd.chdir("/");
delay (100);
}//установка раб директории
int i;
int data;
kalend();
clc();
//myGLCD.print(" ", 710, 90);
// myGLCD.printNumI(brightness, 710, 90);
byte bait;
byte bait1;
byte k=2;
byte k1=0;
byte k2=0;
//long address;
int w;
int q=0;
char* S1[]={"fam4.raw","1.raw","2.raw","3.raw","4.raw","5.raw","6.raw","7.raw","8.raw","9.raw","10.raw","11.raw","12.raw","15.raw","16.raw","17.raw","18.raw","19.raw","20.raw","21.raw","22.raw","23.raw","24.raw","25.raw","26.raw","27.raw","28.raw","29.raw","30.raw","31.raw","32.raw","35.raw","36.raw","37.raw","38.raw","39.raw","39.raw"};//36
//********************Foto*************************************************
myFile.open(S1[19], O_READ);
int n=0;
int m=0;
for (i =0 ; i < 76800; 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>319)
{
n=0;
// myGLCD.drawBitmap (0, 20*m, 320, 10, pic1, 2);
myGLCD.drawBitmap (0, 2*m, 320, 1, pic1, 2);
m=m+1;
}
}
// close the file:
myFile.close();
//********************************************************
myGLCD.setColor(0,38,92);
myGLCD.fillRoundRect(645, 155, 797, 367);//рисуем синий пр-к
myGLCD.setColor(255, 255, 255);//цвет обводки
myGLCD.drawRoundRect(645, 155, 797, 367);//прямоугольник с обводкой
info();
myGLCD.setFont(BigFont);
while(1)
{
// currentMillis = millis();
// save the last time you blinked the LED
// previousMillis = currentMillis;
t = rtc.getTime();
sec=t.sec;
//*****************************************************************************
if (pause==0)
{
if (t.hour>6 && t.hour<22)
{
if (p==0)
{ if (sec==25 )
{
int days=t.date;
int mon=t.mon;
word years=t.year;
kalendar(days, mon, years);
//drawButkal();
delay(5000);
}
}
}
if ((sec==5) || (sec==20) || (sec==35)|| (sec==50))
{ p=0;
priem();
q = random(0, 36);
k2=k2+1;
k=k+1;
k1=k1+1;
if (p==0)
{
if (k2==5)
{
nightgraf();
p=1;
}
}
//******************************
if (p==0)
{
if (k2>9)
{//rawp=1;
k2=0;
rawp=1;
readprognoz();
// delay(2000);
p=1;
}
}
//***************
if (p==0)
{
if (k1==3)
{//rawp=1;
rawp=1;
// flower();
home1();
//delay(2000);
p=1;
}
}
if (p==0)
{
if (k>7)
{k=0;
bmp085();
win();
p=1;
// delay(4000);
}
}
if (p==0)
{
if (k1>8)
{rawp=1;
k1=0;
prognoz();
p=1;
}
}
if (p==0)
{
//********************Foto*************************************************
myFile.open(S1[q], O_READ);
int n=0;
int m=0;
for (i =0 ; i < 76800; 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>319){
n=0;
// myGLCD.drawBitmap (0, 20*m, 320, 10, pic1, 2);
myGLCD.drawBitmap (0, 2*m, 320, 1, pic1, 2);
m=m+1;
}
}
// close the file:
myFile.close();
}
//********************************************************
}
//*****************************************************************
}//pause
else
{
myGLCD.setColor(VGA_WHITE);
myGLCD.setBackColor(0,172,238);
myGLCD.setFont(BigFont);
if(zn9==0)
{ myGLCD.print("T=+" ,80, 457);
}
else
{myGLCD.print("T=-" ,80, 457);
}
myGLCD.printNumI(t9/10,80+48,457);
myGLCD.print("," ,80+48+32, 457);
myGLCD.printNumI(t9%10,80+48+32+16,457);
myGLCD.print("C H=" ,80+48+32+16+16, 457);
myGLCD.printNumI(h9/10,80+48+32+16+16+64,457);
myGLCD.print("," ,80+48+32+16+16+64+32, 457);
myGLCD.printNumI(h9%10 ,80+48+32+16+16+64+48,457);
myGLCD.print("% S=" ,80+48+32+16+16+64+48+16, 457);
myGLCD.printNumI(osv9,80+48+32+16+16+64+48+16+64,457);
myGLCD.printNumI(hour9,80+48+32+16+16+64+48+16+64+64,457);
myGLCD.print(":" ,80+48+32+16+16+64+48+16+64+64+32, 457);
if(min9>9){
myGLCD.printNumI(min9,80+48+32+16+16+64+48+16+64+64+32+16,457);
}
else
{myGLCD.print("0" ,80+48+32+16+16+64+48+16+64+64+32+16, 457);
myGLCD.printNumI(min9,80+48+32+16+16+64+48+16+64+64+32+16+16,457);
}
}
//**********************************************************************
if ((sec==14) || (sec==42) )
{
//******DHT read********
info();
}
//delay(5000);
if (myTouch.dataAvailable())
{
myTouch.read();
int x=myTouch.getX();
int y=myTouch.getY();
if ((x>=640) && (x<=799)) // Upper row
{
if ((y>=370) && (y<=450)) //(10, 370, 90, 450); //Clok
{waitForIt1(639, 370, 799, 450);
rawp=0;
menu();
}
if ((y>=10) && (y<=150)) //(10, 370, 90, 450); //Install
{
kalendarset();
//pogoda();
}
if ((y>=160) && (y<=360)) //(10, 370, 90, 450); //Clok
{waitForIt1(645, 155, 797, 367);//(645, 190, 795, 328)
rawp=1;
readprognoz();
k1=5;
}
}
//*********
if ((y>=451) && (y<=479)) // Upper row (y>=449) && (y<=479)
{
if ((x>=769) && (x<=799)) // яркость
{
waitForIt1(769, 449, 799, 479);
bright();
}
if ((x>=769-61) && (x<=799-61)) // яркость
{
waitForIt1(769-61, 449, 799-61, 479);
rawp=1;
//flower();
home1();
delay (2000);
}
if ((x>=769-91) && (x<=799-91)) // датчик
{
waitForIt1(769-91, 449, 799-91, 479);
printdat();
delay (3000);
}
if ((x>=769-31) && (x<=768)) // pause
{
waitForIt1(769-31, 449, 768, 479);
myGLCD.setColor(255,0,0);
myGLCD.setBackColor(0,38,92);
myGLCD.setFont( BigFont);
if(pause==1)
{myGLCD.setColor(0,250,0);
myGLCD.fillCircle (769-31+7+8,449+7+8,12);
pause=0;
}
else
{myGLCD.setColor(255,60,50);
myGLCD.fillCircle (769-31+7+8,449+7+8,12);
pause=1;
}
}
}
if ((y>=50) && (y<=420))
{ if ((x>=50) && (x<=768)) // pause
{
waitForIt1(769-31, 449, 768, 479);
myGLCD.setBackColor(0,38,92);
myGLCD.setFont( BigFont);
if(pause==1)
{//myGLCD.print("P",769-31+7, 449+7);
myGLCD.setColor(0,250,0);
myGLCD.fillCircle (769-31+7+8,449+7+8,12);
pause=0;
}
else
{//myGLCD.print(">",769-31+7, 449+7);
myGLCD.setColor(255,60,50);
myGLCD.fillCircle (769-31+7+8,449+7+8,12);
pause=1;
}
}
}
delay(500);
// myGLCD.setColor(255,255,255);
// if(pause==0)
// myGLCD.print("P",769-31+7, 449+7);
// else
// myGLCD.print(">",769-31+7, 449+7);
}
//*********************************************************
// sec=rtc_clock.get_seconds();
t = rtc.getTime();
//*********************************************************
// sec=rtc_clock.get_seconds();
// sec=rtc_clock.get_seconds();
if ((sec==0)||(sec==23)||(sec==40))
{
delay(800);
clc();
if(t.hour<6 )
{night=1;
brightness=0;
constbr=20;
br=constbr+brightness;
analogWrite(12, br);
rawp=1;
clok();
}
else
{night=0;
}
if (t.hour<7 || t.hour>21)
{constbr=20;
br=constbr+brightness;
if (br>255)
{br=255;
}
analogWrite(12, br);
}
else
{constbr=250;
br=constbr+brightness;
if (br>255)
br=255;
analogWrite(12, br);
}
myGLCD.setFont(BigFont);
}
}//wile
}
//***************************************************
//************** INFO *************************************
void info()
{
myGLCD.setColor(255,255,255);
myGLCD.setBackColor(0,38,92);
myGLCD.setFont( BigFont);
myGLCD.print("|||" ,660+83, 200-25);
//******DHT read********
dtu21();
bmp085();
uart();
//******DHT read********
//*****************VOLT ************************
if (volt/100<3)
{myGLCD.setColor(255,0,0);//низкое напр батареи красным цветом
myGLCD.setBackColor(0,38,92);
}
else
{
myGLCD.setColor(255,255,255);
myGLCD.setBackColor(0,38,92);
}
//myGLCD.print("V=" ,650 , 290);
myGLCD.print("." ,712-48, 200-30);
myGLCD.printNumI(volt/100 , 700-48, 200-30);
if (volt%100<10)
{
myGLCD.print("0" ,724-48, 200-30);
myGLCD.printNumI(volt%100, 724+16-48, 200-30);
}
else
{
myGLCD.printNumI(volt%100, 724-48, 200-30);
}
delay(1000);
myGLCD.setColor(255,255,255);
myGLCD.setBackColor(0,38,92);
//*********************************
myGLCD.print(" " ,660+16+83, 200-30);
myGLCD.setFont( Ubuntubold);
//********************** P ************************************
myGLCD.setBackColor( VGA_TRANSPARENT);
myGLCD.setBackColor(0,38,92);
if (ptoday==0)//погода сегодня 0-солн 1-перемен обл 2-пасмурно 3-дождь 4- снег 5- туман 6-гроза
{ myGLCD.setColor(255,250,50);
if (t.hour<6 || t.hour>20)//ночь
{myGLCD.print("[]" ,650, 200-5);//луна
}
else
{myGLCD.print("{}" ,650, 200-5);
}
}
if (ptoday==1)
{
if (t.hour<6 || t.hour>20)//ночь
{myGLCD.setColor(255,250,50);
myGLCD.print("[]" ,650, 200-9);//луна
myGLCD.setColor(210,210,220);
myGLCD.setBackColor( VGA_TRANSPARENT);
myGLCD.print("|~" ,650, 200-5);//туча
}
else
{myGLCD.setColor(255,250,50);
myGLCD.print("{}" ,650, 200-9);// солнце
myGLCD.setColor(220,230,255);
myGLCD.setBackColor( VGA_TRANSPARENT);
myGLCD.print("|~" ,650, 200-5);//туча
}
}
if ((ptoday==2)||(ptoday==5))
{
if (t.hour<6 || t.hour>20)//ночь
{
myGLCD.setColor(81,120,180);
myGLCD.print("|~" ,650, 200-8);//туча
}
else
{myGLCD.setColor(74,126,200);
myGLCD.print("|~" ,650, 200-8);//туча
}
}
if ((ptoday==3)||(ptoday==6))
{
if (t.hour<6 || t.hour>20)//ночь
{
myGLCD.setColor(81,120,180);
myGLCD.print("^_" ,650, 200-7);//rain
}
else
{myGLCD.setColor(74,126,200);
myGLCD.print("^_" ,650, 200-7);
}
}
if (ptoday==4)
{
if (t.hour<6 || t.hour>20)//ночь
{
myGLCD.setColor(250,250,250);
myGLCD.print("()" ,650, 200-7);//snow
}
else
{myGLCD.setColor(255,255,255);
myGLCD.print("()" ,650, 200-7);
}
}
myGLCD.setBackColor(0,38,92);
if (pressure>759)
{ myGLCD.setColor(255,250,50);
//myGLCD.print("{}" ,650, 200-5);
}
if (pressure<746)
{myGLCD.setColor(0,0,255);
// myGLCD.print("|~" ,650, 200-5);
}
if ((pressure>745)&&(pressure<760))
{
myGLCD.setColor(255,250,50);
// myGLCD.print("{}" ,650, 200-5);
myGLCD.setColor(7,255,34);
}
myGLCD.printNumI(pressure,698,200-5);
word pr=pressure;
if (pr>pres[4]+1)
myGLCD.print("&",690+83,200-8);
if (pr==pres[0])
myGLCD.print(" ",690+83,200-8);
if (pr<pres[4]-1)
myGLCD.print("'",690+83, 200-8);
//********************** tu ************************************
myGLCD.setColor(5,252,46);
myGLCD.print("#" ,650, 200+30);
if (zn<2)
{ myGLCD.setColor(129,239,255);
myGLCD.print("-",650+20, 200+30);
}
else
{ myGLCD.setColor(255,150,150);
myGLCD.print("+",650+20, 200+30);
}
if (tu<10)
{myGLCD.print(" ",650+20+24+16+18+24, 230);
myGLCD.print(".",650+20+24+16, 230);
myGLCD.printNumI(tud,650+20+24+16+18 ,230);
myGLCD.printNumI(tu,650+20+24,230);// myGLCD.print(":",cx+32+32, cy);
}
else
{myGLCD.print(".",650+20+24+24+16, 230);
myGLCD.printNumI(tu,650+20+24,230);
myGLCD.printNumI(tud,650+20+24+24+16+18 ,230);
}
//**********************T up or doun *****************************
int Tm;
int Tm1;
if (zn<2)
{Tm1=-1*tu;
}
else
{Tm1=tu;
}
if (temul[1]>1000)
{ Tm=-1*(temul[1]-1000);
}
else
{
Tm=temul[1];
}
//myGLCD.setFont( Ubuntubold);
if (Tm/10>Tm1)
myGLCD.print("'",690+83, 232-5);
if (Tm/10==Tm1)
myGLCD.print(" ",690+83, 232-5);
if (Tm/10<Tm1)
myGLCD.print("&",690+83,232-5);
//***************************Hul**********************************************
myGLCD.setColor(129,200,255);
// myGLCD.print("0" ,650, 270-5);
// myGLCD.setColor(200,200,255);
myGLCD.print(".",650+20+24+24+16, 270-5);
myGLCD.printNumI(hu,650+20+24,270-5);
myGLCD.printNumI(hud,650+20+24+24+16+18,270-5);
if (hug[0]/10>hug[1]/10)
myGLCD.print("&",690+83,267-5);
if (hug[0]/10==hug[1]/10)
myGLCD.print(" ",690+83,267-5);
if (hug[0]/10<hug[1]/10)
myGLCD.print("'",690+83, 267-5);
//*************************** T dom **************************************************
myGLCD.setColor(255,255,255);
myGLCD.print("!" ,650, 270+35-5);
int tem =tdc*10+tdd;
myGLCD.setColor(5,252,46);
myGLCD.print("+" ,650+24, 270+35-5);
myGLCD.print(".",650+20+24+24+16, 270+35-5);
myGLCD.printNumI(tem/10,650+20+24,270+35-5);
myGLCD.printNumI(tem%10,650+20+24+24+16+18,270+35-5);
if (temdom[0]/10>temdom[1]/10)
myGLCD.print("&",690+83,270+32-5);
if (temdom[0]/10==temdom[1]/10)
myGLCD.print(" ",690+83,270+32-5);
if (temdom[0]/10<temdom[1]/10)
myGLCD.print("'",690+83, 270+32-5);
//******************** H dom ***************************
myGLCD.setColor(129,200,255);
// myGLCD.print("0" ,650, 270+70-5);
myGLCD.setColor(200,200,255);
//int humidity=35;
//myGLCD.printNumI(DHT.humidity,650+20+24,270+70-5);
//myGLCD.printNumI(hdc,650+20+24,270+70-5);
//myGLCD.print(",",650+20+24+24+24, 270+70-5);
// myGLCD.printNumI(hdd,650+20+24+24+24+24,270+70-5);
// myGLCD.print("%",650+20+24+24+24+24, 270+70-5);
myGLCD.print(".",650+20+24+24+16, 270+70-5);
myGLCD.printNumI(hdc,650+20+24,270+70-5);
myGLCD.printNumI(hdd,650+20+24+24+16+18,270+70-5);
if (h[0]/10>h[1]/10)
myGLCD.print("&",690+83,270+70-3-5);
if (h[0]/10==h[1]/10)
myGLCD.print(" ",690+83,270+70-3-5);
if (h[0]/10<h[1]/10)
myGLCD.print("'",690+83, 270+70-3-5);
//*****************************************************************
}
void initial()
{
myGLCD.setFont( Ubuntubold);
myGLCD.setBackColor( VGA_TRANSPARENT);
myGLCD.setColor(10, 50, 255);
myGLCD.print("LOADING ..." ,400-120, 200-5);
sd.chdir("/");
delay (100);
if (!sd.chdir("/"))
{sd.begin(chipSelect, SPI_HALF_SPEED );
delay (100);
sd.chdir("/");
delay (100);
}//установка раб директории
else
{delay(500);
}
}