Controllare l’irrigazione di piccole piante.

Irrigare una pianta può diventare molto noioso! L’irrigazione è una pratica che richiede costanza e attenzione, caratteristiche che non si sposano bene se abbiamo altri impegni e interessi. Fortunatamente possiamo automatizzarne il processo.

Esistono diversi circuiti pronti all’uso che eseguono molto bene questo compito, ma se siete appassionati del fai da te probabilmente vorrete realizzare qualcosa con le vostre mani.

Quello che ho realizzato io è un semplice circuito che utilizza una pompa peristaltica. Il circuito elettrico è molto semplice e si riduce a un componente programmabile, come una scheda Arduino e un circuito di potenza per pilotare la pompa peristaltica.

Schema pompa peristaltica

Il software deve eseguire l’attivazione della pompa ad intervalli regolari. Da qui le possibilità di gestione sono davvero tante, possiamo creare un sistema on off, un sistema che utilizza un rtc o un sistema complesso che monitorizza l’umidità del terreno e temperatura ambiente per decidere la giusta quantità di acqua da fornire alla pianta.

In questo esempio utilizzo la libreria Time per creare un ciclo di irrigazione che si attiva ogni giorno. Il codice seguente mostra come fare:

#include <TimeAlarms.h>
#include <Time.h>

void avviaIrrigazionePianta()
{
  Serial.println("Avvio irrigazione pianta");
  digitalWrite(3, HIGH);
}

void fermaIrrigazionePianta()
{
  Serial.println("Fermo irrigazione pianta");
  digitalWrite(3, LOW);
}


void setup() {
  //init Seriale
  Serial.begin(9600);
  delay(100);

  pinMode(3, OUTPUT);
  digitalWrite(3, LOW);

  //imposto l'ora e la data
  setTime(8, 29, 45, 24, 01, 2021);

  //queste funzioni vengono eseguite ogni giorno
  //imposto orario di avvio irrigazione
  Alarm.alarmRepeat(8, 30, 0, avviaIrrigazionePianta);
  //imposto interruzione orario di irrigazione
  Alarm.alarmRepeat(8, 32, 0, fermaIrrigazionePianta);
//l'irrigazione dura 2 minuti } void loop() { //visualizzo data e ora correnti Serial.print("Tempo= "); Serial.print(hour()); Serial.print(":"); Serial.print(minute()); Serial.print(":"); Serial.print(second()); Serial.println(""); Serial.print("Data= "); Serial.print(day()); Serial.print("/"); Serial.print(month()); Serial.print("/"); Serial.print(year()); Serial.println(""); //aggiorno l'allarme ogni secondo
//senza questa istruzione non è possibile far scattare
//gli allarmi preimpostati Alarm.delay(1000); }

Con pochi componenti e una manciata di istruzioni abbiamo realizzato un semplice irrigatore automatico. Questo semplice circuito può essere ampliato utilizzando un sensore di umidità, un rtc e un datalogger per monitorare tutti i parametri.

Circuito con pompa peristaltica
Circuito completo con Arduino e pompa peristaltica
Circuito di potenza
Mosfet per pilotare la pompa peristaltica
dettaglio Pompa peristaltica
Pompa peristaltica