April 17, 2025
Description
Ho creato un secondo sensore per li controllo dell'umidità del terreno più compatto della versione con pannello fotovoltaico aggiungendo un'apertura per inserire il cavo USB-C per la ricarica senza dover aprire il sensore. Questo è comodo da inserire nei vasi di casa essendo più compatto.
Ho usato un sensore capacitivo per rilevare l'umidità del terreno abbinato ad un ESP32 mini per la trasmissione dei dati su Home Assistant.
Ho integrato al suo interno un pacco batterie 18650 con relativo caricabatterie. Per la ricarica ho creato un apertura dove inserire il cavo usb per la ricarica manuale.
Tutte le parti stampate sono in ABS e non richiedono supporti. Mentre la parte in TPU è relativa al tappo di chiusura della porta USB.
Prima di inserire il sensore di umidità va messo il silicone nella fessura per rendere il tutto ermetico e nella parte esterna dove fuoriesce spalmare un filo di silicone a completare il tutto. Nella sede del coperchio va inserito un o-ring di diametro interno 38 per rendere il tutto stagno.
Per la parte elettrica ho creato un pacco batterie con una cella 18650.
Il pacco batterie è collegato direttamente al modulo di ricarica TP4056 nelle piazzole B+/B-.
Mentre l'uscita del modulo di ricarica OUT+/OUT- va collegato direttamente al modulo ESP32 mini. Pin VCC al pin OUT+ e pin GND al pin OUT-.
Il sensore di umidità va collegato al modulo ESP32 mini per la parte di alimentazione pin VCC al pin 3V3, pin GND al pin GND ed il pin AUOT al pin GPIO36.
I pin GPIO26 e RST del modulo ESP32 mini vanno collegati tra loro se si desidera utilizzare la funzione deep sleep, che permetterà alla dev-board di eseguire il codice a intervalli regolari per poi entrare in modalità risparmio energetico.
Pz1 ESP32 Mini
Pz1 sensore di umidità del terreno
Pz1 Modulo TP4056 USB-C
Pz1 Batteria 18650
Boost MeTi piace il modello? Se sì, supportami e aiutami a creare altri modelli fantastici.
Questo è il codice da inserire in ESPHOME dopo aver creato il sensore. La prima parte la crea in automatico voi dovete copiare solo la parte dopo “captive_portal:”
esphome:
name: umidita-terreno-2
friendly_name: Umidità terreno_2
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxxxxxxxxxxxxxxxxxxx"
ota:
- platform: esphome
password: "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Umidita-Terreno-2"
password: "xxxxxxxxxxxxxx"
captive_portal:
sensor:
- platform: adc
pin: GPIO36 # Per ESP32
name: "Umidità del Suolo_2"
unit_of_measurement: "%"
accuracy_decimals: 1
update_interval: 10s # Aggiorna meno frequentemente per risparmiare energia
attenuation: 11db # Espande il range ADC a 0-3.9V per evitare saturazioni
filters:
- calibrate_linear:
- 3.3 -> 0.0 # Asciutto (in aria)
- 0.95 -> 100.0 # Terreno molto umido
- lambda: |-
if (x < 0) return 0;
if (x > 100) return 100;
return x;
- median:
window_size: 5
send_every: 3
send_first_at: 1
deep_sleep:
run_duration: 120s # Attivo per 2 minuto
sleep_duration: 3600s # Deep sleep per 60 minuti
License:
Standard Digital File License