Arduino Nano ESP32 - Sistema de Irrigação Automática

Este tutorial ensina como usar o Arduino Nano ESP32, o sensor de umidade do solo, o relé e a bomba para construir um sistema de irrigação automática para o jardim. Especificamente:

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×Conector de Alimentação DC
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 está familiarizado com a bomba e o sensor de umidade do solo (incluindo pinagem, funcionamento, programação etc.), os tutoriais a seguir vão ajudar:

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-automatic-irrigation-system */ #define RELAY_PIN D2 // The Arduino Nano ESP32 pin connected to the relay #define MOISTURE_PIN A2 // The Arduino Nano ESP32 pin connected to the 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(MOISTURE_PIN); // read the analog value from sensor if (value > THRESHOLD) { Serial.print("The soil is DRY => turn pump ON"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil is WET => turn pump OFF"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(200); }

Passos Rápidos

  • Se você é novo no Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente para o Arduino Nano ESP32 no Arduino IDE.
  • Ligue os componentes como mostrado no diagrama.
  • Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Escolha a placa Arduino Nano ESP32 e a respectiva porta COM.
  • Faça a calibração para identificar o THRESHOLD entre úmido e seco, como descrito em Arduino Nano ESP32 - Calibra o Sensor de Umidade do Solo.
  • Insira o valor calibrado de THRESHOLD no código.
  • Abra o Serial Monitor no Arduino IDE.
  • Faça o upload do código para o Arduino Nano ESP32.
  • Veja o resultado no Serial Monitor.
∞
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 is DRY => turn pump ON (1927) The soil is DRY => turn pump ON (1824) The soil is DRY => turn pump ON (1749) The soil is DRY => turn pump ON (1648) The soil is DRY => turn pump ON (1565) The soil is WET => turn pump OFF (1466) The soil is WET => turn pump OFF (1417) The soil is WET => turn pump OFF (1366) The soil is WET => turn pump OFF (1373) The soil is WET => turn pump OFF (1271)
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2

Explicação do Código

Veja a explicação linha por linha contida nos comentários 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!