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.
287 lines
5.6 KiB
287 lines
5.6 KiB
void nagruz ()
|
|
{
|
|
DateTime now = rtc.now();
|
|
//*********************************
|
|
hour1 = now.hour();
|
|
minute1 = now.minute();
|
|
second1 = now.second();
|
|
month1 =now.month();
|
|
day1= now.day();
|
|
year1 =now.year();
|
|
week=now.dayOfWeek();
|
|
if(week==0){week=7;}
|
|
|
|
//int tt;//время
|
|
tt=hour1*100+minute1;
|
|
//****************1************************
|
|
//int m=0;
|
|
n1=0;
|
|
n2=0;
|
|
n3=0;
|
|
n4=0;
|
|
|
|
if(vent==0)
|
|
{n5=0;
|
|
}
|
|
|
|
if(fn==1)
|
|
{n5=1;
|
|
}
|
|
|
|
|
|
|
|
|
|
for (int m=0 ; m < 6; m++)//перебираем таймеры от 1(0) до 6(5)
|
|
{
|
|
if(timer_1[m][week+15]==1)//week
|
|
{
|
|
if(timer_1[m][0]==1)//1-3 on off
|
|
{
|
|
if ((tt >= timer_1[m][4]*100+timer_1[m][5])&&(tt < timer_1[m][6]*100+timer_1[m][7]))
|
|
{
|
|
switch (timer_1[m][3]) {
|
|
case 1:
|
|
n1=1;
|
|
timernumb=m;
|
|
break;
|
|
case 2:
|
|
n2=1;
|
|
break;
|
|
case 3:
|
|
n3=1;
|
|
break;
|
|
case 4:
|
|
n4=1;
|
|
break;
|
|
case 5:
|
|
n5=1;
|
|
break;
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
//*******2************************************************
|
|
if(timer_1[m][1]==1)
|
|
{
|
|
if ((tt >= timer_1[m][8]*100+timer_1[m][9])&&(tt < timer_1[m][10]*100+timer_1[m][11]))
|
|
{
|
|
switch (timer_1[m][3]) {
|
|
case 1:
|
|
n1=1;
|
|
timernumb=m;
|
|
break;
|
|
case 2:
|
|
n2=1;
|
|
break;
|
|
case 3:
|
|
n3=1;
|
|
break;
|
|
case 4:
|
|
n4=1;
|
|
break;
|
|
case 5:
|
|
n5=1;
|
|
break;
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
//*****************3*******************************************************************
|
|
if(timer_1[m][2]==1)
|
|
{
|
|
if ((tt >= timer_1[m][12]*100+timer_1[m][13])&&(tt < timer_1[m][14]*100+timer_1[m][15]))
|
|
{
|
|
switch (timer_1[m][3]) {
|
|
case 1:
|
|
n1=1;
|
|
timernumb=m;
|
|
break;
|
|
case 2:
|
|
n2=1;
|
|
break;
|
|
case 3:
|
|
n3=1;
|
|
break;
|
|
case 4:
|
|
n4=1;
|
|
break;
|
|
case 5:
|
|
n5=1;
|
|
break;
|
|
|
|
}
|
|
}
|
|
}//1-3 on off
|
|
//*******************************************************************************************
|
|
}//week
|
|
}//timer
|
|
uprav ();
|
|
//***************Режим ночь *************************************************************
|
|
night=0;
|
|
if (timernight[0]==1)
|
|
{if ( timernight[1]*100+timernight[2] > timernight[3]*100+timernight[4])
|
|
{ if ((tt >= timernight[1]*100+timernight[2])&&(tt <= 2359))
|
|
{//l=timernight[5]*255/100;
|
|
analogWrite(7,timernight[5]*255/100);
|
|
night=1;
|
|
//ulamptimer ();
|
|
}
|
|
if (tt < timernight[3]*100+timernight[4])
|
|
{//l=timernight[5]*255/100;
|
|
analogWrite(7,timernight[5]*255/100);
|
|
night=1;
|
|
// ulamptimer ();
|
|
}
|
|
}
|
|
if ( timernight[1]*100+timernight[2] < timernight[3]*100+timernight[4])
|
|
{ if ((tt >= timernight[1]*100+timernight[2])&&(tt < timernight[3]*100+timernight[4]))
|
|
{//l=timernight[5]*255/100;
|
|
analogWrite(7,timernight[5]*255/100);
|
|
night=1;
|
|
// ulamptimer ();
|
|
}
|
|
}
|
|
}
|
|
if(night==0)//режим ночь выкл
|
|
{analogWrite(7,timernight[6]*255/100);//установка свечения LCD в режиме день
|
|
}
|
|
else
|
|
{analogWrite(7,timernight[5]*255/100);//установка свечения LCD в режиме ночь
|
|
}
|
|
//**************************************************************************************************
|
|
|
|
|
|
}
|
|
|
|
void uprav ()
|
|
{
|
|
//***********UPR NAGRUZKOY*************************************************************
|
|
bool a=0;
|
|
if(n1==1)
|
|
{digitalWrite(2, HIGH); // включает светодиод
|
|
if(rasvet==0)
|
|
{mode=6;
|
|
s=1;
|
|
rasvet=1;
|
|
zakat=0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
digitalWrite(2, LOW);
|
|
if(zakat==0)
|
|
{mode=7;
|
|
s=1;
|
|
rasvet=0;
|
|
zakat=1;
|
|
}
|
|
|
|
}
|
|
if(n2==1)
|
|
{digitalWrite(3, HIGH); // включает светодиод
|
|
}
|
|
else
|
|
{
|
|
digitalWrite(3, LOW);
|
|
}
|
|
if(n3==1)
|
|
{digitalWrite(4, HIGH); // включает светодиод
|
|
}
|
|
else
|
|
{
|
|
digitalWrite(4, LOW);
|
|
}
|
|
if(n4==1)
|
|
{//a=digitalRead(5);
|
|
if(a==0)digitalWrite(5, HIGH); // включает светодиод#
|
|
|
|
}
|
|
else
|
|
{a=digitalRead(5);
|
|
if(a==1)digitalWrite(5, LOW);
|
|
}
|
|
if(n5==1)
|
|
{digitalWrite(6, HIGH); // включает светодиод
|
|
}
|
|
else
|
|
{if(vent==0)
|
|
{digitalWrite(6, LOW);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
void ulamp ()
|
|
{
|
|
int lamp;
|
|
lamp=l1*255/100;
|
|
//analogWrite(7,lamp);
|
|
|
|
|
|
lamp=l2*255/100;
|
|
analogWrite(8,lamp);
|
|
|
|
lamp=l3*255/100;
|
|
analogWrite(12,lamp);
|
|
|
|
|
|
}
|
|
|
|
|
|
void rgb (){
|
|
//*****************************************************RGB *********************
|
|
//******* управление RGB лентой в 1 канале таймеров 1-6 те при n=1 ********
|
|
|
|
int tn;//заданное время вкл таймера
|
|
int tno;//заданное время выкл таймера
|
|
|
|
if(timer_1[timernumb][week+15]==1)//week
|
|
{
|
|
if(timer_1[timernumb][0]==1)//1-3 on off
|
|
{
|
|
tn=timer_1[timernumb][4]*100+timer_1[timernumb][5];
|
|
tno=timer_1[timernumb][6]*100+timer_1[timernumb][7];
|
|
if ((tt==tn )||(tt==tn+1 ))
|
|
{ mode=6;
|
|
s=1;
|
|
}
|
|
if ((tt==tno)||(tt==tno+1 ))
|
|
{ mode=7;
|
|
s=1;
|
|
}
|
|
}
|
|
|
|
if(timer_1[timernumb][1]==1)//1-3 on off
|
|
{
|
|
tn=timer_1[timernumb][8]*100+timer_1[timernumb][9];
|
|
tno=timer_1[timernumb][10]*100+timer_1[timernumb][11];
|
|
if ((tt==tn )||(tt==tn+1 ))
|
|
{ mode=6;
|
|
s=1;
|
|
}
|
|
if ((tt==tno)||(tt==tno+1 ))
|
|
{ mode=7;
|
|
s=1;
|
|
}
|
|
|
|
}
|
|
|
|
if(timer_1[timernumb][2]==1)//1-3 on off
|
|
{
|
|
tn=timer_1[timernumb][12]*100+timer_1[timernumb][13];
|
|
tno=timer_1[timernumb][14]*100+timer_1[timernumb][15];
|
|
if ((tt==tn )||(tt==tn+1 ))
|
|
{ mode=6;
|
|
s=1;
|
|
}
|
|
if ((tt==tno)||(tt==tno+1 ))
|
|
{ mode=7;
|
|
s=1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//***************************************************************************************************************************
|
|
|
|
|