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/my718/my718.ino

340 lines
10 KiB

// This program requires the UTFT library.
#define imagedatatype unsigned short
//#include <UTFT_Buttons.h>
#include <UTouch.h>
#include <UTFT.h>
//#include <UTFT_tinyFAT.h>
#include <SdFat.h>
//#include <SdFatUtil.h>
SdFat sd;
SdFile myFile;
//#include <Time.h>
//#include <rtc_clock.h>
#include <MP1090S.h>
#include <Wire.h>
//RTC_clock rtc_clock(XTAL);
//*********************RTC*************************************************************
#include <DS3231.h>
// 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); // скорость обмена по уарт
delay(200);
Serial3.begin(9600); // скорость обмена по уарт
// delay(200);
Serial2.begin(9600); // скорость обмена по уарт WIFI
//Serial2.begin(115200); // скорость обмена по уарт WIFI
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();
}