Arduino Nano ESP32 - Bomba com Sensor de Umidade do Solo

Neste tutorial, vamos aprender a usar o Arduino Nano ESP32 para controlar a bomba de acordo com o valor lido do sensor capacitivo de umidade do solo.

Hardware Necessário

1×Arduino Nano ESP32
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Sensor Capacitivo de Umidade do Solo
1×Relé
1×12V Bomba
1×Vinyl Tube
1×Fonte de Alimentação 12V
1×(Opcional) Conector de Alimentação DC
1×Protoboard
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Buy Note: Many soil moisture sensors available in the market are unreliable, regardless of their version. We strongly recommend buying the sensor with TLC555I Chip from the DIYables brand using the link provided above. We tested it, and it worked reliably.

Sobre o sensor de umidade do solo e a Bomba

Se você não conhece a bomba e o sensor de umidade do solo (pinagem, como funcionam, como programar ...), aprenda sobre eles nos tutoriais a seguir:

Como Funciona

O Arduino Nano ESP32 lê periodicamente o valor do sensor capacitivo de umidade do solo. Com base no valor da umidade do solo, ele executa as seguintes ações:

  • Se o valor do sensor estiver acima de um limite (o solo está seco), o Arduino Nano ESP32 ativa automaticamente um relé para ligar a bomba.
  • Caso contrário, o Arduino Nano ESP32 desativa automaticamente um relé para desligar a bomba.

Diagrama de Ligação

The wiring diagram between Arduino Nano ESP32 and soil moisture sensor Pump

This image is created using Fritzing. Click to enlarge image

Código Arduino Nano ESP32

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-soil-moisture-sensor-pump */ #define RELAY_PIN D2 // The Arduino Nano ESP32 pin that connects to relay #define SENSOR_PIN A2 // The Arduino Nano ESP32 pin that connects to AOUT pin of moisture sensor #define THRESHOLD 1500 // => CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(RELAY_PIN, OUTPUT); } void loop() { int value = analogRead(SENSOR_PIN); // read the analog value from soild moisture sensor if (value > THRESHOLD) { Serial.print("The soil moisture is DRY => activate pump"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil moisture is WET => deactivate the pump"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(1000); }

Passos Rápidos

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2

Explicação do Código

Leia a explicação linha por linha nas linhas de comentário do código-fonte!

※ Nota:

Este tutorial usa a função analogRead() para ler valores de um ADC (Conversor Analógico-Digital) conectado a um sensor ou componente. O ADC do Arduino Nano ESP32 é adequado para projetos que não exigem alta precisão. No entanto, para projetos que precisam de medições precisas, tenha em mente o seguinte:

  • O ADC do Arduino Nano ESP32 não é perfeitamente preciso e pode precisar de calibração para obter resultados corretos. Cada placa Arduino Nano ESP32 pode variar um pouco, então a calibração é necessária para cada placa individual.
  • A calibração pode ser desafiadora, especialmente para iniciantes, e nem sempre produz os resultados exatos que você quer.

Para projetos que exigem alta precisão, considere usar um ADC externo (por exemplo, ADS1115) com o Arduino Nano ESP32 ou usar outro Arduino, como o Arduino Uno R4 WiFi, que tem um ADC mais confiável. Se você ainda quiser calibrar o ADC do Arduino Nano ESP32, consulte o ESP32 ADC Calibration Driver.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!