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.
 
 
 

365 lines
7.5 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.dayOfTheWeek();
if(week==0){week=7;}
//int tt;//время
tt=hour1*100+minute1;
//****************1************************
//int m=0;
int oldn1=n1;
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
if(oldn1==n1)
{timon1=0;//флаг события перключение первого таймера
}
else
{
timon1=1;// событие есть
}
if(n2==1)o2=0;//сброс ручного вкл при вкл таймера
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;
Serial.print("rasv,zak:"); // событие в процессе
Serial.print(rasv); // печатаем данные175
Serial.print(","); // печатаем данные175
Serial.println(zak); // печатаем данные175
Serial.print("rasvet,zakat:"); // событие свершилось
Serial.print(rasvet); // печатаем данные175
Serial.print(","); // печатаем данные175
Serial.println(zakat); // печатаем данные175
if(timon1==1)
{ if(n1==1)
{digitalWrite(2, HIGH); // включает светодиод
if(rasvet==0)
{ mode=6;//рассвет
s=1;
//rasv=1;
rasvet=1;
zakat=0;
}
}
else
{
digitalWrite(2, LOW);
if(zakat==0)
{mode=7;
s=1;
// zak=1;
rasvet=0;
zakat=1;
}
}
}
//*************************************************************
if((n2==1)||(o2==1))
{digitalWrite(3, HIGH); // включает светодиод
}
else
{
digitalWrite(3, LOW);
}
//******************************************************
if((n3==1)||(o3==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);
zoom2=l2;
zoom3=l3;
lamp=l3*255/100;
analogWrite(12,lamp);
}
void ras1()
{ Serial.println(mr66);
if(mr66>1500)
{ timezoom++;
if(timezoom>40)
{zoom2=zoom2+1;
zoom3=zoom3+1;
if(zoom2>14)zoom2=zoom2+5;
if(zoom3>14)zoom3=zoom3+5;
timezoom=0;
lm2=zoom2;//% на экране
l2=zoom2;
lm3=zoom3;//% на экране
l3=zoom3;
ulamp ();//l2 l3 рег в процентах от 0% до 100%
}
if(zoom2>70)rasv=0;
}
}
void zak1()
{
Serial.println(mr77);
if(mr77>500)
{ timezoom++;
if(timezoom>40)
{zoom2=zoom2-1;
zoom3=zoom3-1;
if(zoom2>20)zoom2=zoom2-5;
if(zoom3>20)zoom3=zoom3-5;
if(zoom2<1)
{
zoom2=0;
zoom3=0;
}
timezoom=0;
lm2=zoom2;//% на экране
l2=zoom2;
lm3=zoom3;//% на экране
l3=zoom3;
ulamp ();//l2 l3 рег в процентах от 0% до 100%
}
}
}
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;
}
}
}
}
//***************************************************************************************************************************