Advertisement
Guest User

Untitled

a guest
Aug 27th, 2018
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.03 KB | None | 0 0
  1. // --- Variáveis para temporizar o leitor de umidade do solo e outros ---
  2. unsigned long tempo_anterior_comparacao = 0; // Variável utilizada para guardar o tempo anterior (comparação)
  3. unsigned long timer1_anterior_irrigacao = 0; // Variável utilizada para guardar o tempo anterior (bomba de irrigação)
  4. unsigned long timer2_anterior_irrigacao = 0; // Variável utilizada para guardar o tempo anterior (bomba de irrigação)
  5. unsigned long timer3_anterior_irrigacao = 0; // Variável utilizada para guardar o tempo anterior (bomba de irrigação)
  6. unsigned long timer4_anterior_irrigacao = 0; // Variável utilizada para guardar o tempo anterior (bomba de irrigação)
  7.  
  8. unsigned long intervalo_comparacao = 3600000; // Intervalo de tempo em MS para realizar a comparação entre os valores dos sensores e ativar ou não o sistema de irrigação
  9. unsigned long timer1_irrigacao = 60000; // Intervalo de tempo em MS que a bomba permanece ligada - Tratamento 1
  10. unsigned long timer2_irrigacao = 120000; // Intervalo de tempo em MS que a bomba permanece ligada - Tratamento 2
  11. unsigned long timer3_irrigacao = 180000; // Intervalo de tempo em MS que a bomba permanece ligada - Tratamento 3
  12. unsigned long timer4_irrigacao = 240000; // Intervalo de tempo em MS que a bomba permanece ligada - Tratamento 4
  13.  
  14.  
  15. void compara_sensores() // Faz a comparação dos valores obtidos pelos sensores e dispara o comando para ligar os reles
  16. {
  17. // --- Tratamento 1 ---
  18. if (media_tratamento1 <= L2 && media_tratamento1 >= L1)
  19. {
  20. relays.SetRelay(1, SERIAL_RELAY_ON, 1); // Liga o rele da porta 1 (Solenoide)
  21. nivel_umidade_t1 = ("Baixa");
  22. status = ("Irrigando");
  23. }
  24. else
  25. {
  26. if (media_tratamento1 <= L3 && media_tratamento1 >= L2)
  27. {
  28. relays.SetRelay(1, SERIAL_RELAY_OFF, 1); // Desliga o rele da porta 1 (Solenoide)
  29. nivel_umidade_t1 = ("Media");
  30. status = ("Nao Irrigando");
  31. }
  32. }
  33. // --- Fim Tratamento 1 ---
  34. // --- Tratamento 2 ---
  35. if (media_tratamento2 <= L2 && media_tratamento2 >= L1)
  36. {
  37. relays.SetRelay(2, SERIAL_RELAY_ON, 1); // Liga o rele da porta 2 (Solenoide)
  38. nivel_umidade_t2 = ("Baixa");
  39. status = ("Irrigando");
  40. }
  41. else
  42. {
  43. if (media_tratamento2 <= L3 && media_tratamento2 >= L2)
  44. {
  45. relays.SetRelay(2, SERIAL_RELAY_OFF, 1); // Desliga o rele da porta 2 (Solenoide)
  46. nivel_umidade_t2 = ("Media");
  47. status = ("Nao Irrigando");
  48. }
  49. }
  50. // --- Fim Tratamento 2 ---
  51. // --- Tratamento 3 ---
  52. if (media_tratamento3 <= L2 && media_tratamento3 >= L1)
  53. {
  54. relays.SetRelay(3, SERIAL_RELAY_ON, 1); // Liga o rele da porta 3 (Solenoide)
  55. nivel_umidade_t3 = ("Baixa");
  56. status = ("Irrigando");
  57. }
  58. else
  59. {
  60. if (media_tratamento3 <= L3 && media_tratamento3 >= L2)
  61. {
  62. relays.SetRelay(3, SERIAL_RELAY_OFF, 1); // Desliga o rele da porta 3 (Solenoide)
  63. nivel_umidade_t3 = ("Media");
  64. status = ("Nao Irrigando");
  65. }
  66. }
  67. // --- Fim Tratamento 3 ---
  68. // --- Tratamento 4 ---
  69. if (media_tratamento4 <= L2 && media_tratamento4 >= L1)
  70. {
  71. relays.SetRelay(4, SERIAL_RELAY_ON, 1); // Liga o rele da porta 4 (Solenoide)
  72. nivel_umidade_t4 = ("Baixa");
  73. status = ("Irrigando");
  74. }
  75. else
  76. {
  77. if (media_tratamento4 <= L3 && media_tratamento4 >= L2)
  78. {
  79. relays.SetRelay(4, SERIAL_RELAY_OFF, 1); // Desliga o rele da porta 4 (Solenoide)
  80. nivel_umidade_t4 = ("Media");
  81. status = ("Nao Irrigando");
  82. }
  83. }
  84. // --- Fim Tratamento 4 ---
  85. }//end compara_sensores()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement