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; } } } } //***************************************************************************************************************************