Tutorial ESP32 35/55 - Monitor de plantas, solo, temperatura e luz | Kit de aprendizado IoT ESP32 da SunFounder

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).

ESP32-25_esquema_de_monitoramento_plantas

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.

fotoresistor
Módulo DHT11
Módulo DHT11

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

ESP32-25_plant_moitor_wiring

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

Imagens

DHT11 Module
DHT11 Module
5V DC water pump
5V DC water pump
soil_mositure_module
soil_mositure_module
photoresistor
photoresistor
ESP32-25_plant_moitor_schematic
ESP32-25_plant_moitor_schematic
ESP32-25_plant_moitor_wiring
ESP32-25_plant_moitor_wiring
836-ESP32 Tutorial 35/55- Arduino code for plant monitor
Idioma: C++
Copiado!

Coisas que você pode precisar

Recursos e referências

Arquivos📁

Arquivo Fritzing