Tutorial ESP32 35/55 - Monitor de plantas, solo, temperatura e luz | Kit de aprendizado IoT ESP32 da SunFounder
Neste tutorial, estaremos construindo um monitor de plantas usando o microcontrolador ESP32 do Kit de Aprendizado IoT SunFounder ESP32. Este projeto combina vários componentes para monitorar a umidade do solo, temperatura, umidade e níveis de luz. Ao final deste guia, você terá um sistema totalmente funcional que pode gerenciar e exibir esses parâmetros críticos para o cuidado das plantas. Para uma explicação visual detalhada, não deixe de conferir o vídeo (no vídeo às 00:00).

Hardware Explicado
Os principais componentes utilizados neste projeto incluem o microcontrolador ESP32, o sensor DHT11, o sensor de umidade do solo, o resistor dependente de luz (LDR) e um LCD para exibir dados. O ESP32 atua como o cérebro da configuração, lidando com o processamento de dados e tarefas de controle. Ele possui Wi-Fi e Bluetooth integrados, oferecendo opções de conectividade para monitoramento remoto.
O sensor DHT11 mede a temperatura e a umidade, enquanto o sensor de umidade do solo detecta os níveis de umidade no solo. O LDR mede a intensidade da luz ambiente, permitindo insights sobre as condições de iluminação da planta. Cada componente desempenha um papel crucial na garantia da saúde da planta, fornecendo dados em tempo real.
Detalhes da Ficha Técnica
| Fabricante | SunFounder |
|---|---|
| Número da peça | DHT11 |
| Tensão de Lógica/IO | 3,3 V |
| Tensão de alimentação | 5 V |
| Corrente de saída (por canal) | 20 mA |
| Corrente de pico (por canal) | 50 mA |
| Orientação de frequência PWM | N/A |
| Limiares de lógica de entrada | 0,3 VCC (baixo), 0,7 VCC (alto) |
| Queda de tensão / RDS(on)/ saturação | N/A |
| Limites térmicos | 0°C a 50°C |
| Pacote | Mergulhar |
| Notas / variantes | Compatível com DHT22 |
- Garanta níveis de tensão adequados para cada componente (5V para o driver do motor, 3,3V para os sensores).
- Use resistores de pull-down para botões de pressão para evitar entradas flutuantes.
- Mantenha a fiação organizada para evitar confusões e possíveis curtos-circuitos.
- Verifique as conexões antes de energizar o circuito para evitar danos.
- Verifique a fiação do DHT11, pois é sensível a conexões incorretas.
Instruções de Fiação

Para conectar os componentes, comece conectando as linhas de alimentação e terra. O ESP32 deve ser alimentado com uma bateria de lítio, conectando o terminal positivo à linha VCC e a terra à linha GND na placa de ensaio. O pino de dados do sensor DHT11 conecta-se aPIN 13, enquanto seu VCC vai para a linha de 3,3V e GND para o terra. O sensor de umidade do solo conecta-se de forma semelhante: seu pino de sinal aPIN 14, VCC para 3,3V e GND para terra.
Para o LDR, conecte um pino à linha de 3,3V e o outro aPIN 35, com um resistor de 10k ohm conectado do LDR ao terra. O display LCD conecta à linha de 5V para energia e usaSDAeSCLpinos conectados aPIN 21ePIN 22, respectivamente. Por fim, conecte o botão de pressão aPIN 32com o resistor de pull-down conectado ao terra, garantindo que leia baixo quando não for pressionado e alto quando pressionado.
Exemplos de Código & Passo a Passo
O núcleo do nosso programa começa com a definição das portas para cada componente. Por exemplo,DHTPINé atribuído aPIN 13para o sensor DHT11, enquantoMOIS_PINestá definido paraPIN 14para o sensor de umidade. Esta organização ajuda a acompanhar qual sensor está conectado a qual pino.
#define DHTPIN 13 // Set the pin connected to the DHT11 data pin
#define MOIS_PIN 14 // Soil moisture module
#define LIGHT_PIN 35 // Photoresistor
Em seguida, inicializamos o sensor DHT e o display LCD dentro dosetup()função. Isso é crucial, pois prepara esses componentes para operação. Certificando-se de chamardht.begin()é essencial para o sensor DHT começar a ler os valores corretamente.
void setup() {
Serial.begin(115200);
dht.begin(); // Initialize the DHT11
lcd.init(); // Initialize the LCD
lcd.backlight();
}
No textoloop()função, lemos continuamente os valores de temperatura e umidade, exibindo-os no LCD. Se o botão for pressionado, o motor é ativado para regar as plantas. Essa lógica utiliza a leitura digital do pino do botão para determinar se o motor deve ser ligado ou desligado.
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (digitalRead(BUTTON) == HIGH) {
digitalWrite(motor1A, HIGH); // Turn on water pump
} else {
digitalWrite(motor1A, LOW); // Turn off water pump
}
delay(2000);
}
Esta estrutura de código permite um fluxo claro de dados e controle, garantindo que o monitor da planta funcione sem problemas. Para mais detalhes, o código completo carrega abaixo do artigo.
Demonstração / O que Esperar
Após concluir a configuração e carregar o código, o LCD deve exibir alternadamente as leituras de temperatura e umidade com os níveis de umidade e luz. Quando o botão de pressão é pressionado, a bomba de água deve ser ativada, fornecendo água para a planta. Certifique-se de que todas as conexões estejam seguras para evitar problemas como entradas flutuantes ou leituras incorretas (no vídeo em 05:30).
Monitorar os valores exibidos no LCD e no monitor serial ajudará a garantir que o sistema funcione corretamente. Se você encontrar problemas, verifique novamente a fiação e certifique-se de que todos os componentes estão alimentados adequadamente.
Marcos do Vídeo
- 00:00 Iniciar
- 2:23 Introdução do Projeto
- 4:02 Página de documentos
- 7:43 Driver de motor da bomba 1-L293D
- 14:30 2-Pressionar botão para Bomba
- 16:35 sensor de temperatura e umidade 3-DHT11
- 19:26 Sensor de Umidade 4-slild
- 21:43 Sensor de 5 Luzes
- 24:47 6-Sensor de Umidade do Solo
- 26:01 código completo do Monitor de Plantas Arduino
- 29:21 Demonstração
Common Course Links
Common Course Files
Coisas que você pode precisar
-
AmazonasCompre o LCD1602-I2C na Amazonamzn.to
-
eBayCompre LCD1602-I2C no eBayebay.us
-
AliExpressCompre 10 peças de LCD1602-I2C no AliExpress.s.click.aliexpress.com
Recursos e referências
-
DocumentaçãoTutorial ESP32 35/55 - Página do doc SunFounder monitor de plantasdocs.sunfounder.com
Arquivos📁
Arquivo Fritzing
-
Sensor de Umidade e Temperatura DHT11 (3 pinos)
DHT11 Humitidy and Temperature Sensor (3 pins).fzpz0.20 MB -
Módulo LCD LCD1602-I2C com 4 fios
LCD1602-I2C.fzpz0.01 MB