Tutorial ESP32 24/55 - Misurazione dell'umidità del suolo per l'irrigazione | Kit di apprendimento IoT ESP32 di SunFounder

Tutorial ESP32 24/55 - Misurazione dell'umidità del suolo per l'irrigazione | Kit di apprendimento IoT ESP32 di SunFounder

In questo tutorial, impareremo a utilizzare il SunFounder ESP32 insieme a un sensore di umidità del suolo per misurare il livello di umidità nel suolo, il che può aiutare ad automatizzare i sistemi di irrigazione. Monitorando i livelli di umidità, possiamo attivare un buzzer quando l'umidità scende al di sotto di una certa soglia, indicando che le piante hanno bisogno di acqua. Questo progetto è utile per mantenere la salute delle piante e può essere ampliato per varie applicazioni di rilevamento ambientale. (nel video a 00:00)

modulo_di_umidità_del_suolo

Utilizzeremo un sensore di umidità del suolo capacitivo, che funziona misurando la variazione della capacità tra due piatti che varia in base al contenuto di umidità del mezzo circostante. Questo sensore fornirà un'uscita analogica che riflette il livello di umidità, consentendoci di prendere decisioni in base alle letture. L'ESP32 leggerà l'uscita analogica e attiverà un buzzer se il suolo è troppo secco.

Hardware spiegato

Per questo progetto, i componenti principali sono il microcontrollore SunFounder ESP32, il sensore capacitivo di umidità del suolo e un buzzer. L'ESP32 dispone di Wi-Fi e Bluetooth integrati, che consentono il monitoraggio e il controllo da remoto. Il sensore di umidità del suolo è composto da due piastre che misurano la capacità, che cambia a seconda del livello di umidità nel suolo. Questa variazione della capacità altera la tensione di uscita, che l'ESP32 legge attraverso il suo ingresso analogico. Il buzzer ci allertarà quando il livello di umidità scende al di sotto di una soglia impostata.

schema_modulo_umidità_del_suolo

Dettagli della scheda tecnica

Produttore SunFounder
Numero di parte Sensore di umidità del suolo
Tensione di funzionamento 3,3 a 5 V
Tipo di output Analogico
Intervallo di segnale 0 a 3,3 V
Tempo di risposta Veloce
Dimensioni Circa 60 x 20 mm
Note / varianti Sensore di tipo capacitivo

  • Assicurati che il sensore non venga immerso completamente nell'acqua per prevenire danni.
  • Usa resistori di pull-up appropriati se necessario per letture stabili.
  • Calibra il sensore per il tuo specifico tipo di terreno per letture accurate dell'umidità.
  • Mantenere correttamente le connessioni dei cavi per evitare la perdita di segnale.
  • Fai attenzione all'alimentazione per evitare situazioni di sovratensione.

Istruzioni di cablaggio

ESP32-24-soild-moisture-wiring

Per collegare il sensore di umidità del suolo all'ESP32, collegare il pin VCC del sensore al pin 3.3V dell'ESP32. Successivamente, collegare il pin GND del sensore a un pin GND dell'ESP32. Il pin di uscita analogica del sensore di umidità del suolo dovrebbe essere collegato al pin analogico.35sull'ESP32. Per il cicalino, collega il pin positivo al pin digitale13sull'ESP32 e il pin negativo a GND. Assicurati che tutte le connessioni siano sicure per evitare eventuali problemi intermittenti durante il funzionamento.

Esempi di codice e guida passo passo

Di seguito è riportato un breve estratto dal codice che inizializza la comunicazione seriale e legge il valore del sensore di umidità:

void setup() {
  // Initialize serial communication at 115200 bits per second:
  Serial.begin(115200);
}

Questo frammento imposta la comunicazione seriale, consentendoci di visualizzare le letture del sensore di umidità nel monitor seriale.

Successivamente, abbiamo il ciclo principale in cui il valore analogico viene letto dal sensore:

void loop() {
  // Read the analog value
  int analogValue = analogRead(35);
  
  // Print out the values
  Serial.printf("Analog value = %d\n",analogValue);
  
  delay(300);  // delay between reads for clear read from serial monitor
}

In questo ciclo, il codice legge continuamente il valore analogico dal pin.35e lo stampa sul monitor seriale ogni 300 millisecondi. Questo ci consente di monitorare il livello di umidità in tempo reale.

Dimostrazione / Cosa Aspettarsi

Quando il sensore di umidità è posizionato in terreno secco, il valore analogico sarà più alto, indicando bassa umidità. Al contrario, quando il sensore è inserito in terreno umido, il valore scenderà significativamente. Se la lettura scende al di sotto della soglia definita (ad es., 2000), il segnale acustico collegato al pin13si attiverà, segnalando che la pianta ha bisogno di acqua. Fai attenzione agli ingressi galleggianti e assicurati che il sensore non sia esposto all'acqua oltre i suoi limiti raccomandati (nel video alle 02:30).

Timestamp video

  • 00:00 Inizio
  • 1:51 Introduzione al progetto
  • 5:53 Spiegazione del cablaggio
  • 7:23 Codice Arduino spiegato
  • 9:09 Selezionare la scheda ESP32 e la porta COM in Arduino IDE
  • 10:47 Dimostrazione del progetto sulla fioriera
  • 14:30 Attivazione del buzzer quando il serbatoio è a secco

Immagini

ESP32-24-soild-moisture-wiring
ESP32-24-soild-moisture-wiring
ESP32-24-soild-moisture-schematic
ESP32-24-soild-moisture-schematic
soil_mositure_module
soil_mositure_module
soil_mositure_module_schematic
soil_mositure_module_schematic
823-ESP32 Tutorial 24/55- Arduino code for soil moisture measurement
Lingua: C++
Copia!

Risorse e riferimenti

File📁

Nessun file disponibile.