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.
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.
Related posts
Articoli popolari
Sorry. No data so far.
.Net micro framework Arduino Arduino Webserver Domotica Flyport I2C IOT Netduino OpenPicus raspberry RTC Speed Test