Gestione irrigazione terreno

Tesine 2015-18

Scritto da Vittori Kevin - Kalaja Davide

Vittori Kevin - Kalaja Davide - Classe 5A-IPAI -  Esame di Stato: 2016-2017
Gestione irrigazione terreno
Applicazione con Arduino e sensore di umidità

Descrizione
Tramite il circuito programmabile basato su ARDUINO viene controllata l'umidità del terreno e attivato il sistema di irrigazione in base al seguente output:
1) <20%       Display scrive Asciutto, Led rosso e segnale  acustico attivi, pompa brushless accesa
2) 20%-60%  Display scrive Umido,  Led verde lampeggia
3) >60%        Display scrive Bagnato,  Led rosso e Led verde   lampeggiano

Hardware
In Fig. 1 è riportato lo schema elettrico del sistema

Schema 01

Lo schema è costituito dalle seguenti parti/moduli
1) Arduino UNO/RedBoard
2) Modulo sensore umidità terreno
3) Pulsante Test

4) Pompa Brushless
5) Buzzer
 6) Display LCD 16x2
7) Gruppo Led Verde/Rosso

 

Assemblaggio 1
 

 Assemblaggio 2Assemblaggio 3

 

 

1) Arduino UNO/RedBoard

 Arduino è un sistema (framework) open source che permette la prototipazione rapida e l'apprendimento veloce dei principi fondamentali dell'elettronica e della programmazione. È composto da una piattaforma hardware per il physical computing sviluppata presso l'Interaction Design Institute, un istituto di formazione post- dottorale con sede a Ivrea, fondato da Olivetti e Telecom Italia.  Questa si basa su un circuito stampato che integra un microcontrollore con pin connessi alle porte I/O, un regolatore di tensione e un'interfaccia USB che permette la comunicazione con il computer. A questo hardware viene affiancato un ambiente di sviluppo integrato (IDE) multipiattaforma (Linux, Apple Macintosh e Windows). Questo software permette di scrivere programmi (sketch ) con un linguaggio semplice e intuitivo derivato da C/C++ chiamato Wiring (cablare, collegare con cavi).  Arduino può essere utilizzato per lo sviluppo di oggetti interattivi stand-alone (funzionare da solo)ma può anche interagire, tramite collegamento, con software residenti su computer. La particolarità del progetto è che le informazioni sull'hardware e soprattutto i progetti sono disponibili per chiunque: si tratta quindi di un hardware open source.

 

2) Modulo sensore umidità terreno

sensore 1In Fig. 2 è riportato lo schema elettrico del modulo sensore di umidità.
Lo schema di Fig. 2 mostra un tipico amplificatore di corrente a transistor.
La resistenza di base del transistor è costituita da due resistenze in serie: una fissa da 100 Ω  (SO_R1 ) e da una variabile il cui valore dipende dal grado di umidità del suolo ( SO_R2).
La tensione di uscita (AOUT), funzione della corrente di emettitore, è prelevata ai capi della resistenza di emettitore SO_R3.
Se il suolo presenta un grado di umidità basso (terreno secco ) il valore di SO_R2 è elevato, la corrente di base del transistor è bassa.
Di conseguenza la corrente di emettitore è bassa e AOUT assume valori bassi.
Man mano che l’umidità aumenta, la resistenza SO_R2 diminuisce, la corrente di base del transistor aumenta facendo aumentare la corrente di emettitore con relativo aumento di AOUT. Questa tensione viene applicata all’ingresso del convertitore A/D di Arduino tramite il pin A0.
La tensione AOUT è funzione dell’umidità relativa a cui è sottoposto in sensore immerso nel terreno.
Il modulo dispone tre terminali (Vcc, GND, AOUT) e un diodo Led:
1. Aout: uscita analogica
2. Led SO_L1: Led Power
3. Vcc e GND ( Vcc=5V, GND=Massa)

 

 

3) Pulsante test

 Il pulsante (Fig. 3) è collegato tra il pin 8 e GND, il pin deve essere abilitato tramite

software come input con resistenza di PullUp.

1) Test=OFF (pulsante aperto) il pin 8 si trova a livello
alto (5V), il software legge il valore dell’umidità
fornita da sensore (ingresso A0).

2) Test=ON (pulsante chiuso) il pin 8 si trova a livello
basso (GND), il software esclude A0 e tramite un
contatore viene simulata l’umidità da 0% a 85% in
questo modo è possibile testare il funzionamento
delle tre fasi.

 

 

 

4) Pompa Brushless

La pompa alimentata a 5V viene attivata tramite il transistor P2N2222 (Fig 4).

Pompa

Si utilizza il circuito di figura perché la corrente di uscita sul Pin 10 non è sufficiente a pilotare la pompa.
Il transistor (NPN) viene polarizzato 
per il funzionamento come interruttore.

1) Pin10=HIGH (transistor in saturazione) massima corrente di base, massima corrente di collettore, pompa on (attivata).
2) Pin10=LOW (transistor interdetto) minima corrente di base, minima corrente di collettore, pompa off (spenta).

Parte inglese

A pump is a device that raises or transfer fluids. Pumps are used for a variety of applications, such as: draingate, sewage, irrigation, chemical industry, medical fields and steel mills. In this field, irrigation, we are using a electronic submersible pump which has a hermetically sealed motor close-coupled to the pump body. The whole assembly is submerged in the fluid to be pumped.

 

5) Buzzer

Il buzzer o in italiano cicalino, suonerà quando il terreno risulterà totalmente Asciutto.

6Display LCD 16x2

Display LCD 2 righe e 16 caratteri alfanumerici con retroilluminazione. Utilizza il controller HD44780 (datasheet). Alimentazione: 5 Vdc.Fornito di un trimmer per la regolazione del contrasto e 4 piedini: vcc, gnd, SDA e SCL.Lo schermo a cristalli liquidi (LCD) è un display a schermo piatto, una visualizzazione elettronica o un video che utilizza le proprietà modulanti della luce dei cristalli liquidi. I cristalli liquidi non emettono direttamente la luce.

Nel display sarrano visualizzati di dati relativi la percentuale di umidità e in quale dei tre parametri risulterà il terreno (Asciutto, Umido, Bagnato).

 

Video

 

Software
Di seguito è riportato un estratto del sostware di gestione. Il programma completo si trova in allegato (solo utenti registrati).
video vittori f3

Programma

if(um<20.0)                                              // Gestione "Asciutto"

{ lcd.setCursor(2,0); lcd.print(" ");

lcd.setCursor(2,0); lcd.print(um,1);

lcd.setCursor(8,0); lcd.print("Asciutto");

digitalWrite(ledverde,LOW);

digitalWrite(ledrosso,HIGH);

digitalWrite(pompa,HIGH);                        // attiva la pompa per l'irrigazione lcd.setCursor(6,1); lcd.print("ON ");

tone(buzzer,frequenza,200);

delay (50);

frequenza=frequenza+100;

if (frequenza>3000) {frequenza=700;} }

 

In questo breve sketch viene mostrato cosa fa il programma quando il terreno risulta asciutto.

 

 

 

 

 

Allegati:
Scarica questo file (Moisture Sensor User Manual.pdf)Moisture Sensor User Manual [Moisture Sensor User Manual ]62 kB
Scarica questo file (P2N2222A-D.PDF)DataSheet Transitor NPN P2N2222A[DataSheet Transitor NPN P2N2222A]119 kB