// This program requires the UTFT library. #define imagedatatype unsigned short //#include #include #include //#include #include //#include SdFat sd; SdFile myFile; //#include //#include #include #include //RTC_clock rtc_clock(XTAL); //*********************RTC************************************************************* #include // Init the DS3231 using the hardware interface DS3231 rtc(A2, A3); // Init a Time-data structure Time t; //**************BMP085**************************************************************** #define BMP085_ADDRESS 0x77 // I2C address of BMP085 const unsigned char OSS = 0; // Oversampling Setting //float temperatur; float pressure; boolean rawp=0; // Calibration values of BMP085: short ac1; short ac2; short ac3; unsigned short ac4; unsigned short ac5; unsigned short ac6; short b1; short b2; short mb; short mc; short md; long b5; // temul[24]max t // temul[25]min t //***************************************************************************** word temdom[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 temul[26]={256,254,260,264,265,266,270,268,259,255,250,249,256,254,260,264,265,266,270,268,259,255,250,249,490,152};// max t=49.0 min 15.2 word pres[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 time1[28]={1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300,0,100,200,300,400,500,600,700,800,900,16081,12004,20021,6454};//max 16.08.14 12:00 min 2.02.14 6:45 word hug[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}; byte h[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}; byte sun[24]={0,0,0,0,0,0,0,0,20,20,20,20,20,20,20,20,20,20,20,20,20,0,0,0}; word t1[24]={201,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202}; word t2[24]={202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202}; word t3[24]={203,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202}; word t4[24]={204,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202}; word t5[24]={205,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202}; word bat[5]={300,300,300,300,300}; byte h1[24]={10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10}; byte h2[24]={10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10}; byte h3[24]={10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10}; byte h4[24]={10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10}; byte h5[24]={10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10}; //word temul[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}; //********************************************************************************* extern uint8_t SevenSegNumFont[]; extern uint8_t SmallFont[]; extern uint8_t BigFont[]; extern uint8_t Ubuntubold[]; extern imagedatatype aandelen[]; extern imagedatatype fotos[]; extern imagedatatype instellingen[]; extern imagedatatype radio[]; extern imagedatatype klok[]; extern imagedatatype cl[]; extern imagedatatype pr[]; extern imagedatatype le[]; extern imagedatatype xf[]; extern imagedatatype ad[]; extern imagedatatype mi[]; extern imagedatatype jar[]; extern imagedatatype wer[]; extern imagedatatype open[];//40 extern imagedatatype del[];//40 extern imagedatatype flr[];//40 extern imagedatatype ints[];//40 extern imagedatatype clokk[];//40 extern imagedatatype dom1[]; byte volume=7; byte rad=0; long StationFrequency; int vetzav;//napr vetra int vetczav;//skorost vetra int vetdzav;//skorost vetra dr int preszav; int vet;//napr vetra int vetc;//skorost vetra int vetd;//skorost vetra dr byte q=1; byte hour1; byte hourp;//время пропуска данных massiv 623 byte dd=0;// флаг перехода времени через 00 byte min1; byte sec; byte date; byte mon; word year1; byte dow ; byte night; int clockCenterX=300; int clockCenterY=230; int oldsec=0; char* str[] = {"MON","TUE","WED","THU","FRI","SAT","SUN"}; const int chipSelect = 10; byte ptoday=0;//погода сегодня 0-солн 1-перемен обл 2-пасмурно 3-дождь 4- снег 5- туман 6-гроза byte pzav=0; //pogoda zavtra byte tu; //********************************** byte ntdat;//номер датчика byte zndat;//знак температуры 0+ int hourd1;//время прихода данных час int mind1;//мин int hourd2=2;//время прихода данных час int mind2=2;//мин int hourd3;//время прихода данных час int mind3;//мин int hourd4=4;//время прихода данных час int mind4=4;//мин int hourd5=5;//время прихода данных час int mind5=5;//мин boolean fh=0;// флаг данных одного часа записываются данные в файл только один раз в час int hourdu=77;//время прихода данных час int mindu=77;//мин word h11=100; word h12=100; word h13=100; word h14=100; word h15=100; word t11=202; word t12=202; word t13=202; word t14=202; word t15=202; //******************************************** byte tud; byte hu; byte hud; int volt; byte zn; byte znzav; byte tuzav; byte tudzav; unsigned long currentMillis = millis(); unsigned long previousMillis = 0; int tab=0; boolean graf=0; byte colorgraf=0; byte mon1; word years1; byte days1; int w=0;//счетчик строк при чтении из файла String bufer=""; char* name; boolean fa=0;//флаг изменения макс темп boolean fi=0;//флаг изменения мин темп boolean bt=0;//флаг показа барометра //boolean priemt=0;//флаг приема данных long interval; // interval at which to blink (milliseconds) //UTFT myGLCD(ITDB50,38,39,40,41); // Remember to change the model parameter to suit your display module! UTFT myGLCD(TFT01_70,38,39,40,41); UTouch myTouch(42,43,44,45,46);//TCLK, TCS, TDIN, TDOUT и IRQ.Папа //UTouch myTouch(59,61,60,15,14);//TCLK, TCS, TDIN, TDOUT и IRQ.Вова //UTouch myTouch(19,16,17,15,14);//TCLK, TCS, TDIN, TDOUT и IRQ.Вова //UTFT_Buttons myButtons(&myGLCD, &myTouch); //int x,y; //UTFT_tinyFAT myFiles(&myGLCD); unsigned short pic1[0x320]; int color = 0; word colorlist[] = {VGA_WHITE, VGA_BLACK, VGA_RED, VGA_BLUE, VGA_GREEN, VGA_FUCHSIA, VGA_YELLOW, VGA_AQUA}; int bsize = 4; //unsigned short pic2[0x6400]; //unsigned short pic3[0x6400]; byte brightness=0; byte br; byte constbr=100; boolean c=0; boolean fcl=0;//флаг закрытия файла // int pressed_button; boolean default_colors = true; boolean fsec=1; //**************************DHT11********************************** //#include "DHT.h" //#define DHTPIN 3 // what pin we're connected to //#define DHTTYPE DHT22 // DHT 22 (AM2302) //int humidity=50; //DHT dht(DHTPIN, DHTTYPE); int tdc=20; int tdd=0; int hdc=50; int hdd=0; //************************************************************** //#define SSID "VOVA-47" // введите ваш SSID //#define PASS "vovak26102003" // введите ваш пароль //#define DST_IP "188.226.224.148" //api.openweathermap.org boolean raw1=0; byte wifi=0; boolean fwifi=1; byte wifih=10;// час обновления данных byte wifim=15;// минуты //**************************************************************** int per=1;//номер передачи //**************************************** int hour9; int min9; int t9; int h9; int osv9; boolean zn9=0; //**************************************** int tfl=25;// temp flower int vfl=50;// vlaga flower int osv=37;// svet flower int dfl=12;// time flower int tfl2=26;// temp flower int vfl2=55;// vlaga flower int dfl2=13;// time flower int tfl3=27;// temp flower int vfl3=52;// vlaga flower int dfl3=14;// time flower //************************************ void setup() { rtc.begin(); Wire.begin(); Serial.begin(9600); // скорость обмена по уарт Serial3.begin(9600); // скорость обмена по уарт // delay(200); Serial2.begin(9600); // скорость обмена по уарт WIFI //Serial2.begin(115200); // скорость обмена по уарт WIFI delay(1000); Serial2.setTimeout(5000); bmp085Calibration(); delay(1000); pinMode(65, OUTPUT); digitalWrite(65, LOW); Serial3.print(1); pinMode(18, OUTPUT);// reset WIFI digitalWrite(18, LOW); delay(100); digitalWrite(18, HIGH); pinMode(53, OUTPUT);// reset nrf digitalWrite(53, LOW); delay(100); digitalWrite(53, HIGH); // dumpRegisters(); //dps.dumpCalData(); // uart(); pinMode(12, OUTPUT); br=constbr+brightness; analogWrite(12, 0); delay(800); // catch Due reset problem pinMode(10, OUTPUT); myGLCD.InitLCD(); myGLCD.setFont( BigFont); myGLCD.fillScr(VGA_BLUE); //sd.begin(chipSelect, SPI_FULL_SPEED ); sd.begin(chipSelect, SPI_HALF_SPEED ); // file system SdFat sd; myTouch.InitTouch(); myTouch.setPrecision(PREC_HI); // dht.begin(); dtu21(); // rtc_clock.init(); //readmasclok(); readmasrab(); //// rtc.setTime(12, 39, 0); // Set the time to 12:00:00 (24hr format) //rtc.setDate(29, 11, 2015); // Set the date to January 1st, 2014 //rtc.setDOW(THURSDAY); t = rtc.getTime(); years1=t.year; days1=t.date; mon1=t.mon; // dow=calcDOW(days1, mon1, years1); // rtc.setDOW(dow); dow=t.dow ; hour1=t.hour; min1=t.min; delay(100); // myButtons.setTextFont(BigFont); // myButtons.setSymbolFont(Dingbats1_XL); //dtu21(); // esp8266(); br=constbr+brightness; analogWrite(12, br); } //myFiles.loadBitmap(0, 0, 320, 240, "33.raw"); void loop() { if (t.date==0) { setClock(); } menu(); }