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/akva/_256-27nrf/nagrlamp.ino

252 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.dayOfWeek();
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);
}