Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // --- Variáveis para temporizar o leitor de umidade do solo e outros ---
- unsigned long tempo_anterior_comparacao = 0; // Variável utilizada para guardar o tempo anterior (comparação)
- unsigned long timer1_anterior_irrigacao = 0; // Variável utilizada para guardar o tempo anterior (bomba de irrigação)
- unsigned long timer2_anterior_irrigacao = 0; // Variável utilizada para guardar o tempo anterior (bomba de irrigação)
- unsigned long timer3_anterior_irrigacao = 0; // Variável utilizada para guardar o tempo anterior (bomba de irrigação)
- unsigned long timer4_anterior_irrigacao = 0; // Variável utilizada para guardar o tempo anterior (bomba de irrigação)
- 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
- unsigned long timer1_irrigacao = 60000; // Intervalo de tempo em MS que a bomba permanece ligada - Tratamento 1
- unsigned long timer2_irrigacao = 120000; // Intervalo de tempo em MS que a bomba permanece ligada - Tratamento 2
- unsigned long timer3_irrigacao = 180000; // Intervalo de tempo em MS que a bomba permanece ligada - Tratamento 3
- unsigned long timer4_irrigacao = 240000; // Intervalo de tempo em MS que a bomba permanece ligada - Tratamento 4
- void compara_sensores() // Faz a comparação dos valores obtidos pelos sensores e dispara o comando para ligar os reles
- {
- // --- Tratamento 1 ---
- if (media_tratamento1 <= L2 && media_tratamento1 >= L1)
- {
- relays.SetRelay(1, SERIAL_RELAY_ON, 1); // Liga o rele da porta 1 (Solenoide)
- nivel_umidade_t1 = ("Baixa");
- status = ("Irrigando");
- }
- else
- {
- if (media_tratamento1 <= L3 && media_tratamento1 >= L2)
- {
- relays.SetRelay(1, SERIAL_RELAY_OFF, 1); // Desliga o rele da porta 1 (Solenoide)
- nivel_umidade_t1 = ("Media");
- status = ("Nao Irrigando");
- }
- }
- // --- Fim Tratamento 1 ---
- // --- Tratamento 2 ---
- if (media_tratamento2 <= L2 && media_tratamento2 >= L1)
- {
- relays.SetRelay(2, SERIAL_RELAY_ON, 1); // Liga o rele da porta 2 (Solenoide)
- nivel_umidade_t2 = ("Baixa");
- status = ("Irrigando");
- }
- else
- {
- if (media_tratamento2 <= L3 && media_tratamento2 >= L2)
- {
- relays.SetRelay(2, SERIAL_RELAY_OFF, 1); // Desliga o rele da porta 2 (Solenoide)
- nivel_umidade_t2 = ("Media");
- status = ("Nao Irrigando");
- }
- }
- // --- Fim Tratamento 2 ---
- // --- Tratamento 3 ---
- if (media_tratamento3 <= L2 && media_tratamento3 >= L1)
- {
- relays.SetRelay(3, SERIAL_RELAY_ON, 1); // Liga o rele da porta 3 (Solenoide)
- nivel_umidade_t3 = ("Baixa");
- status = ("Irrigando");
- }
- else
- {
- if (media_tratamento3 <= L3 && media_tratamento3 >= L2)
- {
- relays.SetRelay(3, SERIAL_RELAY_OFF, 1); // Desliga o rele da porta 3 (Solenoide)
- nivel_umidade_t3 = ("Media");
- status = ("Nao Irrigando");
- }
- }
- // --- Fim Tratamento 3 ---
- // --- Tratamento 4 ---
- if (media_tratamento4 <= L2 && media_tratamento4 >= L1)
- {
- relays.SetRelay(4, SERIAL_RELAY_ON, 1); // Liga o rele da porta 4 (Solenoide)
- nivel_umidade_t4 = ("Baixa");
- status = ("Irrigando");
- }
- else
- {
- if (media_tratamento4 <= L3 && media_tratamento4 >= L2)
- {
- relays.SetRelay(4, SERIAL_RELAY_OFF, 1); // Desliga o rele da porta 4 (Solenoide)
- nivel_umidade_t4 = ("Media");
- status = ("Nao Irrigando");
- }
- }
- // --- Fim Tratamento 4 ---
- }//end compara_sensores()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement