Advertisement
junior_sk65

Menu

Sep 27th, 2015
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.47 KB | None | 0 0
  1. #include <EEPROM.h>d
  2. #include<string.h>
  3. #include <DS1307.h>
  4. #include <Wire.h>
  5. #include <LiquidCrystal.h> //Biblioteca do LCD
  6.  
  7.  
  8. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//Portas do lcd
  9.  
  10. int bEnter = A1;//botão de enter // Variaveis
  11. int bMode = A0; //botão de menu *
  12. int bUp = A2; //botão de acrescimo *
  13. int bDown = A3; //botão de decrescimo // dos Botões
  14.  
  15. int programa = 0; //variavel para armazenar programas // Variaveis para armazenar
  16. int dia =0; //Dias da semana *
  17. int tBomba= 0;//Tempo para desligar a bomba *
  18. int horario =0; //armazena os horarios *
  19. int manual =0;//aciona o manual e automatico do sistema *
  20. int testar =0; // faz o teste das ligações *
  21. int zer = 0;//zerar o programa *
  22. int acertarh =0;//Ajuste de hora // valores do menu
  23. int p;//variavel programas
  24. int tB;//variavel tempo de bomba
  25. int F;
  26. int tempo=0;
  27.  
  28. const int bomba = 10;//variavel do rele
  29. const int vs1 = 9;
  30. const int vs2 = 8;
  31. const int vs3 = 7;
  32. const int vs4 = 6;
  33. int hora = 0;
  34. int minu = 0;
  35.  
  36. int semana;
  37. int d[8]; //dias da semana
  38. int h[34]; //horarios dos programas
  39. char dateTime[20];
  40. int RTCValues[7];
  41. int horaA[7];
  42.  
  43. byte menu = 0; //variavel do menu
  44. byte contador = 0; //variavel contadora
  45.  
  46. void setup() {
  47. Serial.begin(9600);
  48. DS1307.begin();
  49. lcd.begin(16, 2); // iniciando o lcd
  50. pinMode(bMode, INPUT_PULLUP); //botão Mode
  51. pinMode(bUp, INPUT_PULLUP); //Botão Aumenta
  52. pinMode(bDown, INPUT_PULLUP); //Botão Diminui
  53. pinMode(bEnter, INPUT_PULLUP); //Botão Enter
  54. pinMode(bomba, OUTPUT);//Rele da Bomba
  55. pinMode(vs1, OUTPUT);
  56. pinMode(vs2, OUTPUT);
  57. pinMode(vs3, OUTPUT);
  58. pinMode(vs4, OUTPUT);
  59. digitalWrite(bomba, LOW);
  60. digitalWrite(vs1, HIGH);
  61. digitalWrite(vs2, HIGH);
  62. digitalWrite(vs3, HIGH);
  63. digitalWrite(vs4, HIGH);
  64. lcd.print(" Iniciando...");
  65. delay(2000);
  66. lcd.clear();
  67. lcd.setCursor(1,0);lcd.print("Luciano Junior");
  68. lcd.setCursor(3,1);lcd.print("Versao 1.0");
  69. delay(5000);
  70. lcd.clear();
  71. }
  72.  
  73. void menus() //Função dos Menus
  74. {
  75. delay(1000);
  76. if(digitalRead(bMode)==LOW){menu=1;}
  77. while(menu>0)
  78. {
  79. lcd.clear();
  80. lcd.setCursor(0,0);
  81. if(menu==1){lcd.print("Num de Programas");if(digitalRead(bEnter)==LOW){programa=1; menu=0; numP();}}
  82. if(menu==2){lcd.print("Definir Dias ");if(digitalRead(bEnter)==LOW){dia=1; menu=0; dias();}}
  83. if(menu==3){lcd.print("Definir Horarios");if(digitalRead(bEnter)==LOW){horario=1; menu=0; horarios();}}
  84. if(menu==4){lcd.print("Tempo de Bomba ");if(digitalRead(bEnter)==LOW){tBomba=1; menu=0; Bomba();}}
  85. if(menu==5){lcd.print("Automatic/Manual");if(digitalRead(bEnter)==LOW){manual=1; menu=0; aut();}}
  86. if(menu==6){lcd.print("Testar Ligacao ");if(digitalRead(bEnter)==LOW){testar=1; menu=0; teste();}}
  87. if(menu==7){lcd.print("Zerar Programas ");if(digitalRead(bEnter)==LOW){zer=1; menu=0; zerar();}}
  88. if(menu==8){lcd.print("Ajustar Hra Data");if(digitalRead(bEnter)==LOW){acertarh=1; menu=0; acertahora();}}
  89. if(menu==9){lcd.print("Sair ");lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(6,1);lcd.write(B01111111);lcd.print("Ant");if(digitalRead(bEnter)==LOW){menu=0;}}
  90. if(menu >0 && menu<9){lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(6,1);lcd.write(B01111111);lcd.print("Ant");lcd.setCursor(11,1);lcd.print("Prox");lcd.write(B01111110);}
  91. if(!digitalRead(bDown)==LOW && menu <= 9){delay(120);menu++;}
  92. if(!digitalRead(bUp)==LOW && menu > 0){delay(120);menu--;}
  93. }
  94. delay(100);
  95. }
  96. void numP()//Função da quantidade de programas, limite de 3 por dia
  97. {
  98. delay(1000);
  99. while(programa >0 && programa<=4)
  100. {
  101. lcd.clear();
  102. lcd.setCursor(0,0);
  103. lcd.print("Programas ");
  104. lcd.print(programa);
  105. lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(7,1);lcd.print("(-)");lcd.setCursor(12,1);lcd.print("(+)");
  106. delay(70);
  107. if(digitalRead(bUp)==LOW && programa<3){delay(70);programa++;}
  108. if(digitalRead(bDown)==LOW && programa>1){delay(70);programa--;}
  109. if(digitalRead(bEnter)==LOW){p=programa*2;programa=0;dia=1;dias();}
  110. if(digitalRead(bMode)==LOW){menu=0;programa=0;}
  111. }
  112. }
  113. void dias()//Dias da semana para serem irrigados
  114. {
  115. lcd.clear();lcd.setCursor(0,0);lcd.print("Definir Dias ");
  116. delay(1000);
  117. int d[8]={0};
  118. while(dia >0 && dia<9)
  119. {
  120. lcd.clear();
  121. lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(6,1);lcd.write(B01111111);lcd.print("Ant");lcd.setCursor(11,1);lcd.print("Prox");lcd.write(B01111110);
  122. lcd.setCursor(0,0);
  123. if(dia==1){lcd.print("Todos os dias");if(digitalRead(bEnter)==LOW){lcd.clear();lcd.print("OK");delay(1000);dia=0;d[0]=1;}else{d[0]=0;}}
  124. if(dia==2){lcd.print("Segunda ");if(digitalRead(bEnter)==LOW){lcd.clear();lcd.print("OK");delay(1000);dia=3;d[2]=1;}else{d[2]=0;}}
  125. if(dia==3){lcd.print("Terca ");if(digitalRead(bEnter)==LOW){lcd.clear();lcd.print("OK");delay(1000);dia=4;d[3]=1;}else{d[3]=0;}}
  126. if(dia==4){lcd.print("Quarta ");if(digitalRead(bEnter)==LOW){lcd.clear();lcd.print("OK");delay(1000);dia=5;d[4]=1;}else{d[4]=0;}}
  127. if(dia==5){lcd.print("Quinta ");if(digitalRead(bEnter)==LOW){lcd.clear();lcd.print("OK");delay(1000);dia=6;d[5]=1;}else{d[5]=0;}}
  128. if(dia==6){lcd.print("Sexta ");if(digitalRead(bEnter)==LOW){lcd.clear();lcd.print("OK");delay(1000);dia=7;d[6]=1;}else{d[6]=0;}}
  129. if(dia==7){lcd.print("Sabado ");if(digitalRead(bEnter)==LOW){lcd.clear();lcd.print("OK");delay(1000);dia=8;d[7]=1;}else{d[7]=0;}}
  130. if(dia==8){lcd.print("Domingo ");if(digitalRead(bEnter)==LOW){lcd.clear();lcd.print("OK");delay(1000);dia=0;d[1]=1;}else{d[1]=0;}}
  131. delay(70);
  132. if(digitalRead(bUp)==LOW && dia<=8){delay(70);dia++;}
  133. if(digitalRead(bDown)==LOW && dia>1){delay(70);dia--;}
  134. if(digitalRead(bMode)==LOW){menu=0;dia=0;}
  135. }
  136. horario=1;horarios();
  137. }
  138. void horarios()//Os horarios de inicio
  139. {
  140. lcd.clear();lcd.setCursor(0,0);lcd.print("Definir Horarios");
  141. delay(1000);
  142. horario=p;
  143. while(horario >0)
  144. {
  145. lcd.clear();lcd.setCursor(0,0); //hora = numeros pares e minutos = numeros impares
  146. switch(p)
  147. {
  148. case 2:
  149. if(horario==2 || horario==1){lcd.setCursor(0,0);lcd.print(" Programa 1 ");lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(10,1);
  150. lcd.print(h[2]);lcd.print(":");lcd.print(h[1]);lcd.print("h");delay(120);;if(digitalRead(bEnter)==LOW){delay(120);horario--;}}
  151. h[30]=0;//Para realizar o Calculo
  152. break;
  153. case 4:
  154. if(horario==4 || horario==3){lcd.setCursor(0,0);lcd.print(" Programa 1 ");lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(10,1);
  155. lcd.print(h[4]);lcd.print(":");lcd.print(h[3]);lcd.print("h");delay(120);;if(digitalRead(bEnter)==LOW){delay(120);horario--;}}
  156. if(horario==2 || horario==1){lcd.setCursor(0,0);lcd.print(" Programa 2 ");lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(10,1);
  157. lcd.print(h[2]);lcd.print(":");lcd.print(h[1]);lcd.print("h");delay(120);;if(digitalRead(bEnter)==LOW){delay(120);horario--;}}
  158. h[31]=0;
  159. break;
  160. case 6:
  161. if(horario==6 || horario==5){lcd.setCursor(0,0);lcd.print(" Programa 1 ");lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(10,1);
  162. lcd.print(h[6]);lcd.print(":");lcd.print(h[5]);lcd.print("h");delay(120);;if(digitalRead(bEnter)==LOW){delay(120);horario--;}}
  163. if(horario==4 || horario==3){lcd.setCursor(0,0);lcd.print(" Programa 2 ");lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(10,1);
  164. lcd.print(h[4]);lcd.print(":");lcd.print(h[3]);lcd.print("h");delay(120);;if(digitalRead(bEnter)==LOW){delay(120);horario--;}}
  165. if(horario==2 || horario==1){lcd.setCursor(0,0);lcd.print(" Programa 3 ");lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(10,1);
  166. lcd.print(h[2]);lcd.print(":");lcd.print(h[1]);lcd.print("h");delay(120);;if(digitalRead(bEnter)==LOW){delay(120);horario--;}}
  167. h[32]=0;
  168. break;
  169. }//fim switch
  170. if(digitalRead(bUp)==LOW){delay(120);h[horario]++;}
  171. if(digitalRead(bDown)==LOW){delay(120);h[horario]--;}
  172. if(digitalRead(bEnter)==LOW){delay(120);horario--;}
  173. if(digitalRead(bMode)==LOW){menu=0;horario=0;}
  174. if(h[2] > 23){h[2] = 0; }
  175. if(h[2] < 0){h[2] = 23; }
  176. if(h[4] > 23){h[4] = 0; }
  177. if(h[4] < 0){h[4] = 23; }
  178. if(h[6] > 23){h[6] = 0; }
  179. if(h[6] < 0){h[6] = 23; }
  180. if(h[1] > 59){h[1] = 0; }
  181. if(h[1] < 0){h[1] = 59; }
  182. if(h[3] > 59){h[3] = 0; }
  183. if(h[3] < 0){h[3] = 59; }
  184. if(h[5] > 59){h[5] = 0; }
  185. if(h[5] < 0){h[5] = 59; }
  186. }//fim while
  187. tBomba=1;Bomba();
  188. }//fim void
  189.  
  190.  
  191. void acertahora()//Acertar a hora no RTC
  192. {
  193. delay(1000);
  194. while(acertarh>0 && acertarh<8)
  195. {
  196. lcd.clear();lcd.setCursor(0,0);
  197. if(acertarh==1){lcd.print(" Entre com Ano ");}
  198. if(acertarh==2){lcd.print(" Entre com Mes ");}
  199. if(acertarh==3){lcd.print(" Entre com Dia ");}
  200. if(acertarh==4){lcd.print(" Entre cm Semana");}
  201. if(acertarh==5){lcd.print(" Entre com Hora ");}
  202. if(acertarh==6){lcd.print(" Entre com Min ");}
  203. if(acertarh==7){lcd.print(" Entre com Seg ");}
  204. if(digitalRead(bUp)==LOW){delay(70);horaA[acertarh]++;}
  205. if(digitalRead(bDown)==LOW){delay(70);horaA[acertarh]--;}
  206. if(digitalRead(bEnter)==LOW){delay(70);acertarh++;}
  207. if(digitalRead(bMode)==LOW){menu=0;acertarh=0;}
  208. lcd.setCursor(10,1);
  209. lcd.print(horaA[acertarh]);
  210. delay(120);
  211. }
  212. DS1307.setDate(horaA[1], horaA[2], horaA[3], horaA[4], horaA[5], horaA[6], horaA[7]); // AQUI ENVIAMOS OS DADOS DEFINIDOS PARA O REAL TIME CLOK
  213. lcd.clear();
  214. }
  215.  
  216.  
  217. void Bomba()//Tempo que a bomba ficará ligada
  218. {
  219. delay(1000);
  220. while(tBomba >=1)
  221. {
  222. lcd.clear();lcd.setCursor(0,0);lcd.print("Tempo ");lcd.print(tBomba);lcd.print(" minutos");
  223. lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(7,1);lcd.print("(-)");lcd.setCursor(12,1);lcd.print("(+)");
  224. delay(120);
  225. if(tBomba>60){tBomba=1;}
  226. if(digitalRead(bUp)==LOW){delay(70);tBomba++;}
  227. if(digitalRead(bDown)==LOW){delay(70);tBomba--;}
  228. if(digitalRead(bEnter)==LOW){delay(70);tB=tBomba;menu=0;tBomba=0;}
  229. if(digitalRead(bMode)==LOW){menu=0;tBomba=0;}
  230.  
  231. //Vetores recebem horas e minutos e converte para minutos
  232. //Calculo Programa 1
  233. if(h[2]!=0 && h[1]!=0 && h[30]==0 && tB!=0){
  234. h[34]=h[2];h[33]=h[1]; //Depois acrescenta o valor do tempo de bomba(tB)
  235. h[34]=h[34]*60;h[34]=h[34]+h[33]+(4*tB);h[33]=h[34]%60;h[34]=h[34]/60; //Operação desliga bomba e valvula 4 //Retorna os valores para os vetores com o horario de desligar
  236. h[8]=h[2];h[7]=h[1]; //Exemplo: Programa 1 - 6:30 com tempo de bomba 10min
  237. h[8]=h[8]*60;h[8]=h[8]+h[7]+tB;h[7]=h[8]%60;h[8]=h[8]/60;//1 tempo(desliga 1 e liga 2) //Em minutos (6*60)+30+10=400minutos
  238. h[10]=h[2];h[9]=h[1]; //Tranformando para desligar hora=400/60=6 e minuto=400%60=40
  239. h[10]=h[10]*60;h[10]=h[10]+h[9]+(2*tB);h[9]=h[10]%60;h[10]=h[10]/60;//2 tempo(desliga 2 e liga 3)
  240. h[12]=h[2];h[11]=h[1];
  241. h[12]=h[12]*60;h[12]=h[12]+h[11]+(3*tB);h[11]=h[12]%60;h[12]=h[12]/60;//3 tempo(desliga 3 e liga 4)
  242.  
  243.  
  244. //Calculo Programa 2
  245. if(h[4]!=0 && h[3]!=0 && h[31]==0){
  246. h[14]=h[4];h[15]=h[3];
  247. h[14]=h[14]*60;h[14]=h[14]+h[15]+(4*tB);h[15]=h[14]%60;h[14]=h[14]/60;//Operação Desliga bomba e valvula 4
  248. h[16]=h[4];h[17]=h[3];
  249. h[16]=h[16]*60;h[16]=h[16]+h[17]+tB;h[17]=h[16]%60;h[16]=h[16]/60;//1 tempo(desliga 1 e liga 2)
  250. h[18]=h[4];h[19]=h[3];
  251. h[18]=h[18]*60;h[18]=h[18]+h[19]+(2*tB);h[19]=h[18]%60;h[18]=h[18]/60;//2 tempo(desliga 2 e liga 3)
  252. h[20]=h[4];h[21]=h[3];
  253. h[20]=h[20]*60;h[20]=h[20]+h[21]+(3*tB);h[21]=h[20]%60;h[20]=h[20]/60;//3 tempo(desliga 3 e liga 4)
  254. h[31]=1;
  255.  
  256. //Calculo Programa 3
  257. if(h[6]!=0 && h[5]!=0 && h[32]==0){
  258. h[22]=h[6];h[23]=h[5];
  259. h[22]=h[22]*60;h[22]=h[22]+h[23]+(4*tB);h[23]=h[22]%60;h[22]=h[22]/60;//Operação Desliga bomba e valvula 4
  260. h[24]=h[6];h[25]=h[5];
  261. h[24]=h[24]*60;h[24]=h[24]+h[25]+tB;h[25]=h[24]%60;h[24]=h[24]/60;//1 tempo(desliga 1 e liga 2)
  262. h[26]=h[6];h[27]=h[5];
  263. h[26]=h[26]*60;h[26]=h[26]+h[27]+(2*tB);h[27]=h[26]%60;h[26]=h[26]/60;//2 tempo(desliga 2 e liga 3)
  264. h[28]=h[6];h[29]=h[5];
  265. h[28]=h[28]*60;h[28]=h[28]+h[29]+(3*tB);h[29]=h[28]%60;h[28]=h[28]/60;//3 tempo(desliga 3 e liga 4)
  266. h[32]=1;
  267. }
  268. }//Fim if Programa 2
  269. h[30]=1;tempo=1;
  270. }//Fim if Programa 1
  271. }//Fim While
  272. }
  273. void zerar()//Zera os programas de irrigação
  274. {
  275. delay(1000);
  276. while(zer >0)
  277. {
  278. lcd.clear();
  279. lcd.setCursor(0,0);
  280. lcd.print("Zerar todos");
  281. if(digitalRead(bMode)==LOW){menu=0;zer=0;}
  282. }
  283. }
  284. void aut()//Aqui vai alterar modo automatico e manual
  285. {
  286. delay(1000);
  287. while(manual>0)
  288. {
  289. lcd.clear();
  290. lcd.setCursor(0,0);
  291. lcd.print("Automatico Prox");lcd.write(B01111110);
  292. lcd.setCursor(0,1);
  293. lcd.print("Manual Ant");(lcd.write(B01111111));
  294. delay(70);
  295. if(digitalRead(bMode)==LOW){menu=0;manual=0;}
  296. }
  297. }
  298. void teste() //Teste das ligações apenas para ligar a bomba e conferir se está ligando
  299. { //Pedir para que seja definido um delay
  300. delay(1000); //Pressione ENTER para iniciar
  301. while(testar >0)
  302. {
  303. lcd.clear();
  304. lcd.setCursor(0,0);
  305. lcd.print("Defina valor");
  306. lcd.setCursor(0,1);
  307. lcd.print("Tempo");
  308. if(digitalRead(bMode)==LOW){menu=0;testar=0;}
  309. }
  310. }
  311. void ativa()
  312. {
  313. if(tempo!=0){
  314. int semana=RTCValues[3]; //semana recebe o valor de semanas( 1 a 7)
  315. if(d[0]=1){//Se apção todos os dias for selecionada
  316. //Horarios Para Programa 1
  317. if(h[2]==RTCValues[4] && h[1]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,HIGH);digitalWrite(vs1,LOW);delay(70);}//Liga bomba e valvula 1
  318. if(h[8]==RTCValues[4] && h[7]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);delay(70);}//Desliga Valvula 1 e liga Valvula 2
  319. if(h[10]==RTCValues[4] && h[9]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);delay(70);}//Desliga Valvula 2 e liga Valvula 3
  320. if(h[12]==RTCValues[4] && h[11]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);delay(70);}//Desliga Valvula 3 e liga Valvula 4
  321. if(h[34]==RTCValues[4] && h[33]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);delay(70);}//Desliga bomba e desliga Valvula 4
  322. //Horarios Para Programa 2
  323. if(h[4]==RTCValues[4] && h[3]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  324. if(h[16]==RTCValues[4] && h[17]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  325. if(h[18]==RTCValues[4] && h[19]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  326. if(h[20]==RTCValues[4] && h[21]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  327. if(h[14]==RTCValues[4] && h[15]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  328. //Horarios Para Programa 3
  329. if(h[6]==RTCValues[4] && h[5]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  330. if(h[24]==RTCValues[4] && h[25]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  331. if(h[26]==RTCValues[4] && h[27]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  332. if(h[28]==RTCValues[4] && h[29]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  333. if(h[22]==RTCValues[4] && h[23]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  334. }
  335. else{
  336. if(semana==1 && d[1]==1){//Dom
  337. //Horarios Para Programa 1
  338. if(h[2]==RTCValues[4] && h[1]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  339. if(h[8]==RTCValues[4] && h[7]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  340. if(h[10]==RTCValues[4] && h[9]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  341. if(h[12]==RTCValues[4] && h[11]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  342. if(hora==RTCValues[4] && minu==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  343. //Horarios Para Programa 2
  344. if(h[4]==RTCValues[4] && h[3]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  345. if(h[16]==RTCValues[4] && h[17]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  346. if(h[18]==RTCValues[4] && h[19]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  347. if(h[20]==RTCValues[4] && h[21]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  348. if(h[14]==RTCValues[4] && h[15]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  349. //Horarios Para Programa 3
  350. if(h[6]==RTCValues[4] && h[5]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  351. if(h[24]==RTCValues[4] && h[25]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  352. if(h[26]==RTCValues[4] && h[27]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  353. if(h[28]==RTCValues[4] && h[29]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  354. if(h[22]==RTCValues[4] && h[23]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  355.  
  356. } //Fim Dom
  357. if(semana==2 && d[2]==1){ //Seg
  358. //Horarios Para Programa 1
  359. if(h[2]==RTCValues[4] && h[1]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  360. if(h[8]==RTCValues[4] && h[7]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  361. if(h[10]==RTCValues[4] && h[9]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  362. if(h[12]==RTCValues[4] && h[11]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  363. if(hora==RTCValues[4] && minu==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  364. //Horarios Para Programa 2
  365. if(h[4]==RTCValues[4] && h[3]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  366. if(h[16]==RTCValues[4] && h[17]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  367. if(h[18]==RTCValues[4] && h[19]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  368. if(h[20]==RTCValues[4] && h[21]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  369. if(h[14]==RTCValues[4] && h[15]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  370. //Horarios Para Programa 3
  371. if(h[6]==RTCValues[4] && h[5]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  372. if(h[24]==RTCValues[4] && h[25]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  373. if(h[26]==RTCValues[4] && h[27]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  374. if(h[28]==RTCValues[4] && h[29]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  375. if(h[22]==RTCValues[4] && h[23]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  376.  
  377. }//Fim Seg
  378. if(semana==3 && d[3]==1){ //Ter
  379. //Horarios Para Programa 1
  380. if(h[2]==RTCValues[4] && h[1]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  381. if(h[8]==RTCValues[4] && h[7]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  382. if(h[10]==RTCValues[4] && h[9]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  383. if(h[12]==RTCValues[4] && h[11]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  384. if(hora==RTCValues[4] && minu==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  385. //Horarios Para Programa 2
  386. if(h[4]==RTCValues[4] && h[3]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  387. if(h[16]==RTCValues[4] && h[17]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  388. if(h[18]==RTCValues[4] && h[19]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  389. if(h[20]==RTCValues[4] && h[21]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  390. if(h[14]==RTCValues[4] && h[15]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  391. //Horarios Para Programa 3
  392. if(h[6]==RTCValues[4] && h[5]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  393. if(h[24]==RTCValues[4] && h[25]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  394. if(h[26]==RTCValues[4] && h[27]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  395. if(h[28]==RTCValues[4] && h[29]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  396. if(h[22]==RTCValues[4] && h[23]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  397.  
  398. }//Fim Ter
  399. if(semana==4 && d[4]==1){ //Qua
  400. //Horarios Para Programa 1
  401. if(h[2]==RTCValues[4] && h[1]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  402. if(h[8]==RTCValues[4] && h[7]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  403. if(h[10]==RTCValues[4] && h[9]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  404. if(h[12]==RTCValues[4] && h[11]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  405. if(hora==RTCValues[4] && minu==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  406. //Horarios Para Programa 2
  407. if(h[4]==RTCValues[4] && h[3]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  408. if(h[16]==RTCValues[4] && h[17]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  409. if(h[18]==RTCValues[4] && h[19]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  410. if(h[20]==RTCValues[4] && h[21]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  411. if(h[14]==RTCValues[4] && h[15]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  412. //Horarios Para Programa 3
  413. if(h[6]==RTCValues[4] && h[5]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  414. if(h[24]==RTCValues[4] && h[25]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  415. if(h[26]==RTCValues[4] && h[27]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  416. if(h[28]==RTCValues[4] && h[29]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  417. if(h[22]==RTCValues[4] && h[23]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  418.  
  419. }
  420. if(semana==5 && d[5]==1){ //Qui
  421. //Horarios Para Programa 1
  422. if(h[2]==RTCValues[4] && h[1]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  423. if(h[8]==RTCValues[4] && h[7]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  424. if(h[10]==RTCValues[4] && h[9]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  425. if(h[12]==RTCValues[4] && h[11]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  426. if(hora==RTCValues[4] && minu==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  427. //Horarios Para Programa 2
  428. if(h[4]==RTCValues[4] && h[3]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  429. if(h[16]==RTCValues[4] && h[17]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  430. if(h[18]==RTCValues[4] && h[19]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  431. if(h[20]==RTCValues[4] && h[21]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  432. if(h[14]==RTCValues[4] && h[15]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  433. //Horarios Para Programa 3
  434. if(h[6]==RTCValues[4] && h[5]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  435. if(h[24]==RTCValues[4] && h[25]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  436. if(h[26]==RTCValues[4] && h[27]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  437. if(h[28]==RTCValues[4] && h[29]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  438. if(h[22]==RTCValues[4] && h[23]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  439. }
  440. if(semana==6 && d[6]==1){ //Sex
  441. //Horarios Para Programa 1
  442. if(h[2]==RTCValues[4] && h[1]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  443. if(h[8]==RTCValues[4] && h[7]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  444. if(h[10]==RTCValues[4] && h[9]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  445. if(h[12]==RTCValues[4] && h[11]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  446. if(hora==RTCValues[4] && minu==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  447. //Horarios Para Programa 2
  448. if(h[4]==RTCValues[4] && h[3]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  449. if(h[16]==RTCValues[4] && h[17]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  450. if(h[18]==RTCValues[4] && h[19]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  451. if(h[20]==RTCValues[4] && h[21]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  452. if(h[14]==RTCValues[4] && h[15]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  453. //Horarios Para Programa 3
  454. if(h[6]==RTCValues[4] && h[5]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  455. if(h[24]==RTCValues[4] && h[25]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  456. if(h[26]==RTCValues[4] && h[27]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  457. if(h[28]==RTCValues[4] && h[29]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  458. if(h[22]==RTCValues[4] && h[23]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  459. }
  460. if(semana==7 && d[7]==1){ //Sab
  461. //Horarios Para Programa 1
  462. if(h[2]==RTCValues[4] && h[1]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  463. if(h[8]==RTCValues[4] && h[7]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  464. if(h[10]==RTCValues[4] && h[9]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  465. if(h[12]==RTCValues[4] && h[11]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  466. if(hora==RTCValues[4] && minu==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  467. //Horarios Para Programa 2
  468. if(h[4]==RTCValues[4] && h[3]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  469. if(h[16]==RTCValues[4] && h[17]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  470. if(h[18]==RTCValues[4] && h[19]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  471. if(h[20]==RTCValues[4] && h[21]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  472. if(h[14]==RTCValues[4] && h[15]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  473. //Horarios Para Programa 3
  474. if(h[6]==RTCValues[4] && h[5]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1
  475. if(h[24]==RTCValues[4] && h[25]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2
  476. if(h[26]==RTCValues[4] && h[27]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3
  477. if(h[28]==RTCValues[4] && h[29]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4
  478. if(h[22]==RTCValues[4] && h[23]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4
  479. }
  480. }//Fim else
  481. }//Fim if tempo
  482. }
  483. void mostrahora()
  484. {
  485. DS1307.getDate(RTCValues);
  486. sprintf(dateTime, "%02d.%02d.%02d %02d:%02d:%02d", RTCValues[2], //RTCValues [0]=ANO, RTCValues [1]=MES, RTCValues [2]=DIA
  487. RTCValues[1], RTCValues[0], RTCValues[4], RTCValues[5], //RTCValues [3]=DIA DA SEMANA, RTCValues [4]=HORA
  488. RTCValues[6]); //RTCValues [5]=MINUTO, RTCValues [6]=SEGUNDOS
  489. //DIA SEMANA = 1(DOMINGO) E 7(SABADO)
  490.  
  491. lcd.setCursor(0,0);lcd.print("Timer Irrigacao ");
  492. lcd.setCursor(0,1);lcd.print(dateTime);delay(70);
  493. }
  494. void loop() {
  495. mostrahora();
  496. menus();
  497. ativa();
  498. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement