Sistema Inteligente de Rega de Plantas com Arduino Nano
Componentes e materiais
![]() |
Arduino Nano R3 | × | 1 |
![]() |
Adafruit LCD Standard 16x2 Branco no Azul | × | 1 |
![]() |
Mini bomba d'água | × | 1 |
![]() |
Encoder Rotativo com Botão | × | 1 |
| CI L298n | × | 1 | |
![]() |
Fotorresistor | × | 1 |
![]() |
Transistor NPN Uso Geral | × | 1 |
![]() |
Resistor 10k ohm | × | 1 |
![]() |
Potenciômetro de Volta Única 10k ohms | × | 1 |
![]() |
Capacitor 10 µF | × | 1 |
![]() |
Capacitor 1000 µF | × | 1 |
![]() |
Capacitor 470 µF | × | 1 |
![]() |
Capacitor 100 nF | × | 7 |
| Diodo 1N4001 | × | 8 | |
| Soquete RCA | × | 1 | |
| Sensor de umidade do solo | × | 1 | |
| Bloco de terminais de parafuso | × | 3 | |
| AMS1117-ADJ | × | 1 | |
| Resistor 2k Ohm | × | 1 | |
| Resistor 680 ohm | × | 1 | |
| Fonte DC 9V 3A | × | 1 |
Ferramentas necessárias
![]() |
Ferro de solda (genérico) |
Aplicativos e serviços online
![]() |
Arduino IDE |
Sobre este projeto
Mais um sistema de rega de plantas
Existem muitos projetos e tutoriais na Internet descrevendo como usar sensores de umidade do solo. Neste projeto, combinamos algumas ideias brilhantes encontradas online e as completamos com a parte de software para construir o controlador de sistema de rega doméstico. Às vezes a solução parece óbvia até você olhar de perto e ver o diabo nos detalhes. Vamos investigar esses detalhes.
Principais recursos do controlador
Este controlador possui os seguintes recursos:
- Suporta duas plantas, com dois canais independentes; qualquer canal pode ser desativado
- Cada canal tem dois parâmetros gerais: tempo de bombeamento para frente e para trás, medidos em dezenas de segundos
- Modo manual: possível regar a planta pressionando o botão
- Verifica a umidade após regar; desativa o canal se a umidade não aumentar
- Implementa sensor de luz para evitar funcionamento noturno
- Sistema de menu para configuração de parâmetros; configuração salva na EEPROM
A umidade do solo
Como medir a umidade do solo com precisão? Você pode comprar o sensor no eBay, colocá-lo na planta e medir a resistência. Esse método é descrito em muitos tutoriais. Infelizmente, no meu caso, a resistência de planta "seca" e "molhada" eram muito próximas (300 kΩ e 500 kΩ), dificultando decidir quando adicionar água. O problema é que a água pura não conduz eletricidade; são os minerais na água que conduzem. Portanto, a resistência medida depende enormemente da quantidade e tipo de minerais na planta, não da quantidade de água aplicada.
O Google ajuda. Encontrei na Internet a ideia brilhante de medir a capacitância do sensor, não a resistência. A ideia principal: a água tem alta permissividade dielétrica, e a capacitância de planta "molhada" é muito maior que a "seca" (200 µF vs 200 pF) — uma diferença de um milhão de vezes!
Como medir a capacitância?
Outros gênios transformaram o Arduino em um medidor de capacitância de alta precisão. Mas, na minha opinião, esse método é complicado e não é necessário medir a capacitância do sensor com tanta precisão. Outra forma, muito mais simples, usa apenas dois pinos analógicos e dá precisão aceitável para distinguir entre condições "seca" e "molhada". Como mencionado, as leituras de "seca" e "molhada" têm grande diferença; não é conveniente usar esse valor diretamente para definir um limite, então o logaritmo natural das leituras de capacitância é usado no código, para reduzir o intervalo de valores possíveis.
Por que ponte H (H-bridge)?
Parecia boa ideia usar um único transistor MOSFET para acionar a bomba d'água. Infelizmente, o nível de água no reservatório (garrafa) pode ficar mais alto que a planta. Nesse caso, começamos a bombear, mas a água continua fluindo após a bomba parar. Como parar a água com certeza? Você pode rodar a bomba em sentido reverso por um tempo. Como usamos motor DC, basta inverter os polos ("+" e "-"). Para isso, precisa de uma ponte H. O CI L298n é uma boa escolha. As bombas neste projeto usam 9V e 3A, então você precisa de dissipador de calor no CI e resistor de potência. Usa-se resistor de potência de 1Ω 5W. A ponte H L298n gerencia dois motores, então este controlador pode gerenciar duas plantas simultaneamente.
Sistema de menu do controlador
Para gerenciar o controlador de plantas, usa-se um encoder rotativo. Após o controlador iniciar, a tela principal aparece. Nela, são exibidos parâmetros úteis: leituras atuais dos sensores de ambos os canais (linha superior). Se o canal estiver desativado, exibe "xxxx". Na linha inferior, exibem-se os limites de secura.

Para acionar a bomba manualmente, pressione o encoder brevemente. A tela manual aparece. Para configurar parâmetros, pressione o encoder por tempo longo (cerca de 1 segundo) na tela principal. A árvore do menu de configuração:
- Canal esquerdo
- Canal direito
- Brilho do backlight do display (ou automático)
- Brilho do backlight à noite
Cada canal tem seu próprio menu:
- Habilitar canal
- Limite de secura
- Tempo de bombeamento para frente (dezenas de segundos)
- Tempo de bombeamento para trás (dezenas de segundos)
- Testar parâmetros
"Limite de secura" define a umidade mínima do solo para iniciar a rega. O valor é o logaritmo natural da capacitância do sensor. Os valores atuais das leituras do sensor podem ser vistos na tela principal junto com os valores do limite de secura.
O item "testar parâmetros" permite verificar como o sistema de rega funcionará para ajustar os valores de tempo antes de salvá-los na EEPROM.
O hardware
O controlador é construído em duas PCBs double-sided de 3x7 cm. A primeira é usada para o driver de motor L298n, diodos, blocos de terminais para conectar alimentação e bombas, conectores para sensores. Esta placa também tem módulo de fonte DC AMS1117-adj para obter 5V para L298n e Arduino. Foi conveniente usar regulador de tensão separado durante a depuração. Você pode usar o regulador da placa Arduino para obter 5V estabilizado.
A segunda PCB contém o Arduino Nano, conectores para encoder rotativo e fotorresistor, e soquete para display LCD.
Código
WateringSystem
Código fonte: GitHub
Esquemáticos
Processo de manufatura
- Sistema Automatizado de Rega de Plantas com Raspberry Pi e Dashboard Web
- Sistema Inteligente de Monitoramento para Hotéis e Residências com Controles Automatizados na Nuvem
- Alerta Inteligente de Sede para Plantas – Sensor DIY para Hidratação Ideal
- Detector de Terremoto DIY ADXL335 – Acelerômetro 3-Eixos de Baixa Potência
- Sistema Automático de Rega de Plantas com Arduino
- Sistema Inteligente de Monitoramento de Plantas com AWS IoT
- Controlador Residencial Arduino com Alexa: Automação Inteligente Simplificada
- Sistema Inteligente de Monitoramento de Plantas com Windows 10 IoT
- Purificador de Ar Inteligente com Arduino Yun, Sharp Plasmacluster e IoT AWS
- Sistema Solar de Rastreamento Solar DIY com Arduino UNO (Duplo Eixo)












