Arduino

Controllare l’umidità del terreno con Arduino e il sensore FC-28

Alessandro Oppo 2 min di lettura

Controllare l’umidità del terreno con Arduino è veramente semplice e oggi vedremo il terzo sensore da utilizzare per il nostro giardino.

Il sensore si chiama FC-28 e può differire leggermente nell’estetica. Il mio, ad esempio, ha delle scritte in cinese sopra e nessuna sigla.

(Controllare l'umidità del terreno con Arduino) Arduino e il sensore FC-28. In mezzo il modulo con potenziometro
Arduino e il sensore FC-28. In mezzo il modulo con potenziometro

Il sensore è composto da due parti, un PCB biforcuto ed un modulino su cui è montato un potenziometro (il parallelepipedo blu), ovvero una resistenza variabile.

I collegamenti da fare per controllare l’umidità del terreno con Arduino.

Dal sensore al modulino (in realtà un pin vale l’altro in questo caso).
– (simbolo meno) – GND del modulino
l’altro polo (non ci sono simboli) – l’altro pin libero del modulino

Dal modulino ad Arduino:
VCC – 5V
GND – GND
AO (Analog Output) – A0 (Analog zero)

Lo sketch

Si tratta di un programma molto semplice e che altro non fa che leggere da una porta analogica (la A0).

//analog read 9minuti.it

#define pinSensor 0 int sensorValue;

void setup() {

Serial.begin(9600); }

void loop() {

sensorValue = analogRead(pinSensor);

Serial.print(“Valore: ”); Serial.println(sensorValue);

delay(1000);
}

3 La #define ci serve per avere indicare il pin 0 con un nome, in questo caso pinSensor
4 Dichiarazione variabile di tipo intero chiamata sensorValue
8 Inizializzazione della porta seriale con baud rate 9600
13 Salviamo il valore analogico letto sul pin pinSensor nella variabile sensorValue
15-16 Stampa dei valori
18 Delay di 1000ms (1 secondo) tra una lettura e l’altra

Il sensore FC-28 interrato (Controllare l'umidità del terreno con Arduino)
Il sensore FC-28 interrato

Una volta caricato lo sketch, per leggere i valori del nostro sensore bisogna aprire il Serial Monitor.
Se l’umidità è bassa (fuori dalla terra dovrebbe essere intorno a 1000) i valori dovrebbero essere alti, mentre mano a mano che aumenta le letture dovrebbero indicare numeri più bassi.

È consigliabile fare qualche prova girando la vite del potenziometro (il parallelepipedo blu) per una calibrazione ottimale del sensore.

Nel caso voleste ottenere un valore da 0 a 100 è disponibile la funzione map che ci consente di ridimensionare i nostri valori nel range di numeri che preferiamo.

Per far ciò è sufficiente incollare questo codice dopo la riga 13.

sensorValue = map(sensorValue, 0, 1023, 0, 100);

Spero che questo tutorial sia stato d’aiuto, rimango a disposizione per domande o chiarimenti.

Grazie,
Alessandro

Leggi anche

Arduino

Minivocabolario: i parametri

In questa breve guida ti spiegherò cosa sono i parametri, in particolar modo applicate alla programmazione del micro controllore Arduino. Parametri Vediamo ora i parametri e per farlo ci lanceremo immediatamente con…