Per fare ciò abbiamo bisogno:
- Arduino UNO (o qualunque altro arduino)
- Un pc
- Un sensore di Umidità del terreno, io ho usato questo
Colleghiamo il sensore di umidità all'Arduino sulla porta A0, e lo alimentiamo collegando sull'uscita 5volts e GND dell'Arduino.
Una volta effettuati i collegamenti scriviamo il codice:
1
|
void setup(){
|
2
|
Serial.begin(9600);
|
3
|
}
|
4
|
void loop(){
|
5
|
Serial.print("Valore:");
|
6
|
Serial.println(analogRead(0));
|
7
|
delay(100);
|
8
|
}
|
Questo primo passaggio, non fa altro che abilitare la seriale a 9600baud e leggere il valore del pin analogico sul pin A0, che riceve il valore dell'umidità registrato dal sensore.
Ora se caricate lo sketch e aprite il monitor seriale dal programma del pc, cliccando sulla lente di ingrandimento sull'angolo in alto a destra della finestra, leggerete il valore trasmesso dal sensore.
Fate delle prove su dei bicchieri riempiti con terreno più o meno umido e vedrete la variazione dell'umidità.
I valori andranno da 1023 (sensore fuori dal terreno), 800-900 (terreno secco) , 150-300 (terreno molto bagnato).
Se vogliamo leggere l'umidità del terreno in percentuale, per semplificare la lettura del valore, facciamo in modo che sia arduino a trasformare i valori rilevati per noi.
Per far ciò però, dobbiamo prima modificare lo sketch per far in modo che il microcontrollore memorizzi le variabili necessarie per effettuare il calcolo.
1
|
int sensorValue=0;
|
2
|
int umidita=0;
|
3
|
void setup(){
|
4
|
Serial.begin(9600);
|
5
|
}
|
6
|
void loop(){
|
7
|
sensorValue
= analogRead(0);
|
8
|
umidita = map
(sensorValue, 100, 970, 100, 0);
|
9
|
Serial.print("% umidità del terreno:");
|
10
|
Serial.println(umidita);
|
11
|
delay(100);
|
12
|
}
|
Ora una volta ricaricato lo sketch e riaperto il monitor seriale si leggerà la percentuale di umidità presente nel terreno.
Per ora ci fermiamo qui... Presto il collegamento con il releè che permetterà di controllare l'elettrovalvola o la pompa collegata alla corrente di casa.
Nessun commento:
Posta un commento