Irrigador Automático com Arduino
This tutorial is not available in English
Introdução
Este projeto é basicamente uma continuação do nosso tutorial sobre o sensor de umidade de solo capacitivo, onde aprendemos a coletar as leituras e a calibrá-lo corretamente, porém só criamos um alerta para nos avisar quando é necessário irrigar o solo.
Neste projeto iremos usar a bomba peristáltica para irrigar o solo automaticamente quando o solo estiver seco, e interromper a irrigação quando o solo alcançar uma determinada concentração de água.
Lista de Materiais
Lista completa de produtos
comprarBlackBoard UNO R3
Bomba Peristáltica 12V
Sensor de Umidade de Solo Capacitivo
Módulo Relé 5V - Relé Metaltex
Mangueira de Silicone - 1 metro
Fonte Chaveada 12V 5A
Diodo 1N4007 - Pacote com 10 unidades
Protoboard 400 Pontos
WorkPlate 400 - Preta
Jumpers Macho-Macho x40 Unidades
Jumpers Macho-Fêmea x40 Unidades
Circuito
Antes de mais nada, monte a WorkPlate 400 do Kit seguindo o manual de montagem contido no botão abaixo.
Manual de Montagem da WorkPlate 400A bomba peristáltica do Kit não possui um local de fixação específico, portanto você pode fixá-la onde e da maneira que achar melhor. Assim que a WorkPlate 400 estiver completamente montada com a BlackBoard UNO e com a protoboard, monte o circuito a seguir.
Para conectar o motor ao relé e à placa, é recomendado soldar o diodo e um par de jumpers macho-macho aos terminais do motor. Entretanto, como a solda pode ser uma opção complicada em alguns casos, é possível apenas conectar o diodo e os conectores dos jumpers aos terminais do motor, desde que essas conexões sejam garantidas. Além disso, atente-se à polaridade do diodo no circuito.
Código
Com o circuito montado, carregue o código a seguir para a sua placa.
Entendendo o Código
O código inicia com a declaração das variáveis PINO_SENSOR
e PINO_RELE
, que armazenam os pinos conectados ao sensor e ao relé, respectivamente. Em seguida, declaramos a variável que armazenará a leitura do sensor que será convertida, juntamente com as constantes dos valores máximo e mínimo para a calibração do sensor, e a variável auxiliar pausa
, que controlará a execução ou não de uma pausa de 10 segundos entre repetições. Para finalizar as declarações globais do código, temos a declaração das constantes com as concentrações máxima e mínima de água no solo desejadas.
Na rotina de configuração do código, configuramos os pinos conectados ao sensor e ao relé como uma entrada e uma saída do sistema, respectivamente. Feito isso, iniciamos o pino conectado ao relé com nível lógico baixo ("LOW").
Já na repetição do código, atribuímos à variável leitura_sensor
a leitura analógica do pino conectado ao sensor, e então convertemos essa leitura para um valor entre 0 e 100 % de acordo com as variáveis VALOR_MINIMO
e VALOR_MAXIMO
, usando o comando leitura_sensor = map(leitura_sensor, VALOR_MINIMO, VALOR_MAXIMO, 100, 0)
. Feito isso, nós verificamos através da condição if(leitura_sensor < CONCENTRACAO_MINIMA)
se o valor atribuído à variável leitura_sensor
é menor que o valor configurado anteriormente na variável CONCENTRACAO_MINIMA
. Se essa condição for verdadeira, acionamos o relé e configuramos a variável pausa
como falsa ("false"). Senão, nós verificamos se o valor atribuído à variável leitura_sensor
é maior que o valor configurado anteriormente na variável CONCENTRACAO_MAXIMA
, através da condição else if (leitura_sensor > CONCENTRACAO_MAXIMA)
. Se essa condição for verdadeira, nós desligamos o relé e configuramos a variável pausa
como verdadeira ("true"). Por fim, verificamos se a variável pausa
é verdadeira, e, se for, realizamos uma interrupção na execução de código de 10 segundos. A variável pausa
é usada para que a interrupção de 10 segundos do código só ocorra caso o solo tenha alcançado a sua umidade máxima desejada. Enquanto a bomba estiver irrigando o solo, o sistema ficará constantemente medindo a umidade para não encharcá-lo. Porém, depois de irrigado, o solo demora bastante para secar novamente, por isso podemos usar uma pausa entre cada leitura.
O Que Deve Acontecer
Assim que carregar o código para a placa, insira o sensor no solo que será controlado e alimente a placa com a fonte de 12 V e 5 A. Assim, o sistema irá acionar a bomba peristáltica para irrigar o solo quando ele estiver seco, como no GIF a seguir. Para demonstrar o funcionamento do sistema, utilizamos um copo com água com o sensor, porém, no solo, o sistema deve demorar bem mais para acionar a bomba peristáltica.
Conclusão
Neste tutorial aprendemos como criar um projeto de irrigador automático, usando as leituras calibradas do sensor de umidade de solo capacitivo para acionar uma bomba peristáltica através de um relé.