Descrición:
Imos usar o sensor Soilwatch10 (pino-tech) que permite medir o contido relativo de auga no chan.
Semella un condensador onde as placas están formadas por pistas de cobre na placa do circuíto e o medio circundante (o solo) é o material dieléctrico, producíndose un campo eléctrico entre a placa positiva e negativa en función da permitividade eléctrica do solo. Os factores que afecta a este valor non son unicamente o contido de auga do solo, senón tamén a temperatura, porosidade, tipo de minerais, etc.
Montaxe:
Este sensor conéctase nun pin analóxico que mide a saída de voltaxe no sensor, que variará segundo a permitividade eléctrica do solo, que está relacionada co contido de auga.
Fíxate na serigrafía e conecta VCC, GND e o pin de datos ao pin analóxico A0.
Programa:
O primeiro que temos que facer é calibrar o sensor vendo os valores que dá cando está completamente seco (minSolo) e completamente somerxido en auga (maxSolo). No programa calcularemos a saída en % utilizando a función map.
// Declaración de variables:
const int PinSolo = A0; // Pin analóxico no que conectamos o sensor
int minSolo = 7; // substitúe pola túa medición no aire
int maxSolo = 660; // substitúe pola túa medición completamente somerxido
bool is1V1Output = false; // poñer "true" se é un sensor con saída de 1.1V e "false"para un sensor de 3V
int medidaSolo; // variable da saída do convertedor analóxico dixital do sensor de auga no solo
int augaSolo; // contido de auga no solo a partir do valor de saída mínimo en aire e máximo en auga
// Configuración:
void setup() {
Serial.begin(9600); // Iniciamos a comunicación serie
// Isto non o imos usar nós, pois é para o caso de que o sensor sexa de 1.1V
if(is1V1Output == true){
analogReference(INTERNAL); //set ADC reference to internal 1.1V
}
}
// Programa:
void loop() {
medidaSolo = analogRead(PinSolo); // Lectura analóxica no pin A0
augaSolo = map(medidaSolo,minSolo,maxSolo, 0, 100); // Calculamos a porcentaxe de auga
Serial.print("Medida= " ); // Imprimimos na consola
Serial.print(medidaSolo);
Serial.print(" - " );
Serial.print("auga= " );
Serial.print(augaSolo);
Serial.println("%" );
delay(500); // tempo de agarda entre medicións
}
Propostas:
- Imos regar unha planta cando o % de humidade do solo sexa menor que un 20%. Deberá activarse unha bomba de auga mediante un relé que regue a maceta que funcionará ata que a humidade do solo alcance o 50%.