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.
251 lines
5.5 KiB
251 lines
5.5 KiB
void nagruzlamp ()
|
|
{
|
|
DateTime now = rtc.now();
|
|
//*********************************
|
|
hour1 = now.hour();
|
|
minute1 = now.minute();
|
|
second1 = now.second();
|
|
month1 =now.month();
|
|
day1= now.day();
|
|
year1 =now.year();
|
|
week=now.dayOfTheWeek();
|
|
if(week==0){week=7;}
|
|
//int tn;//заданное время вкл таймера
|
|
//int tno;//заданное время выкл таймера
|
|
//int tt;//время
|
|
tt=hour1*100+minute1;
|
|
//****************1************************
|
|
//int m=0;
|
|
ln1=0;
|
|
ln2=0;
|
|
ln3=0;
|
|
ln4=0;
|
|
for (int m=0 ; m < 4; m++)
|
|
{
|
|
if(timer1amp[m][week+14]==1)//week
|
|
{
|
|
if(timer1amp[m][0]==1)//1 on off
|
|
{
|
|
if (tt ==(timer1amp[m][5]*100+timer1amp[m][6]))//выкл
|
|
{ switch (timer1amp[m][2]) {
|
|
case 1:
|
|
ln1=0;
|
|
lampch1=2;
|
|
break;
|
|
case 2:
|
|
ln2=0;
|
|
lampch2=2;
|
|
break;
|
|
case 3:
|
|
ln3=0;
|
|
lampch3=2;
|
|
break;
|
|
case 4:
|
|
ln4=0;
|
|
lampch3=2;
|
|
|
|
break;
|
|
}
|
|
}//выкл 1 таймер tu
|
|
|
|
//вкл таймера лампа 1
|
|
if ((tt >= timer1amp[m][3]*100+timer1amp[m][4])&&(tt < timer1amp[m][5]*100+timer1amp[m][6]))
|
|
{
|
|
switch (timer1amp[m][2]) {
|
|
case 1:
|
|
ln1=1;
|
|
lm1=timer1amp[m][11];
|
|
sst1=timer1amp[m][12];//время плвного вкл лампы
|
|
lampch1=1;
|
|
break;
|
|
case 2:
|
|
ln2=1;
|
|
sst2=timer1amp[m][12];
|
|
lm2=timer1amp[m][11];
|
|
lampch2=1;
|
|
break;
|
|
case 3:
|
|
ln3=1;
|
|
sst3=timer1amp[m][12];
|
|
lm3=timer1amp[m][11];
|
|
lampch3=1;
|
|
break;
|
|
case 4:
|
|
ln4=1;
|
|
sst4=timer1amp[m][12];
|
|
lm4=timer1amp[m][11];
|
|
lampch4=1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
//***********************************************************************************************
|
|
//*******2************************************************
|
|
//выкл лампа 2
|
|
if(timer1amp[m][1]==1)// -2
|
|
{ if (tt ==(timer1amp[m][9]*100+timer1amp[m][10]))
|
|
{ switch (timer1amp[m][2]) {
|
|
case 1:
|
|
ln1=0;
|
|
lampch1=2;
|
|
break;
|
|
case 2:
|
|
ln2=0;
|
|
lampch2=2;
|
|
break;
|
|
case 3:
|
|
ln3=0;
|
|
lampch3=2;
|
|
break;
|
|
case 4:
|
|
ln4=0;
|
|
lampch4=2;
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
//****************************************************************************************
|
|
|
|
|
|
if ((tt >= timer1amp[m][7]*100+timer1amp[m][8])&&(tt < timer1amp[m][9]*100+timer1amp[m][10]))
|
|
{
|
|
switch (timer1amp[m][2]) {
|
|
case 1:
|
|
ln1=1;
|
|
sst1=timer1amp[m][14];
|
|
lm1=timer1amp[m][13];
|
|
lampch1=1;
|
|
break;
|
|
case 2:
|
|
ln2=1;
|
|
sst2=timer1amp[m][14];
|
|
lm2=timer1amp[m][13];
|
|
lampch2=1;
|
|
break;
|
|
case 3:
|
|
ln3=1;
|
|
sst3=timer1amp[m][14];
|
|
lm3=timer1amp[m][13];
|
|
lampch3=1;
|
|
break;
|
|
case 4:
|
|
ln4=1;
|
|
sst4=timer1amp[m][14];
|
|
lm4=timer1amp[m][13];
|
|
lampch4=1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
//*****************3*******************************************************************
|
|
|
|
//*******************************************************************************************
|
|
}//week
|
|
}//timer
|
|
//ulamptimer ();
|
|
|
|
|
|
|
|
}
|
|
//**********************************************************************************************
|
|
|
|
void ulamptimer ()
|
|
{
|
|
int lamp;//l-текущее lm -max
|
|
//50 lum=960
|
|
if(night==0)//режим ночь выкл
|
|
{analogWrite(7,timernight[6]*255/100);//установка свечения LCD в режиме день
|
|
}
|
|
else
|
|
{analogWrite(7,timernight[5]*255/100);//установка свечения LCD в режиме ночь
|
|
}
|
|
|
|
//lamp=l1*255/100;
|
|
//analogWrite(7,lamp);
|
|
//digitalWrite(13, HIGH);
|
|
//***********LAMP2**************************************************
|
|
if (lampch2==1)
|
|
{if (ln2==1)
|
|
{st2++;
|
|
if(sst2==0)
|
|
{l2=lm2;
|
|
}
|
|
if(st2>((sst2*60/lm2)*220/255))//1pwm во времени в секундах
|
|
{l2++;
|
|
st2=0;
|
|
if (l2>lm2)
|
|
{l2=lm2;
|
|
lampch2=0;
|
|
}
|
|
lamp=l2*255/100;///0-255
|
|
analogWrite(8,lamp);
|
|
}
|
|
}
|
|
}
|
|
if (lampch2==2)
|
|
{if (ln2==0)
|
|
{st2++;
|
|
if(sst2==0)
|
|
{l2=0;
|
|
}
|
|
if(st2>((sst2*60/lm2)*220/255))//1pwm во времени в секундах
|
|
{l2=l2-1;
|
|
st2=0;
|
|
if (l2<1)
|
|
{l2=0;
|
|
lampch2=0;
|
|
}
|
|
lamp=l2*255/100;///0-255
|
|
analogWrite(8,lamp);
|
|
}
|
|
}
|
|
}
|
|
//***********************************************************************
|
|
//***********LAMP3**************************************************
|
|
if (lampch3==1)
|
|
{if (ln3==1)
|
|
{st3++;
|
|
if(sst3==0)
|
|
{l3=lm3;
|
|
}
|
|
if(st3>((sst3*60/lm3)*220/255))//1pwm во времени в секундах
|
|
{l3++;
|
|
st3=0;
|
|
if (l3>lm3)
|
|
{l3=lm3;
|
|
lampch3=0;
|
|
}
|
|
lamp=l3*255/100;///0-255
|
|
analogWrite(12,lamp);
|
|
}
|
|
}
|
|
}
|
|
if (lampch3==2)
|
|
{if (ln3==0)
|
|
{st3++;
|
|
if(sst3==0)
|
|
{l3=0;
|
|
}
|
|
if(st3>((sst3*60/lm3)*220/255))//1pwm во времени в секундах
|
|
{l3--;
|
|
st3=0;
|
|
if (l3<1)
|
|
{l3=0;
|
|
lampch3=0;
|
|
}
|
|
|
|
lamp=l3*255/100;
|
|
analogWrite(12,lamp);
|
|
}
|
|
}
|
|
}
|
|
//***********************************************************************
|
|
//delay(300);
|
|
//digitalWrite(13, LOW);
|
|
|
|
|
|
}
|
|
|