Create file for the soil moisture sensor with some logic

This commit is contained in:
Andrés Uribe Stengel 2020-06-22 16:13:22 +02:00
parent f5bc52ac3a
commit 566fcda0cc

View File

@ -0,0 +1,43 @@
/*
Code for the Capacitive Soil Moisture Sensor
*/
const int numReadings = 10;
int readings[numReadings]; // the readings from the analog input
int readIndex = 0; // the index of the current reading
int total = 0; // the running total
int average = 0; // the average
int inputPin = 12;
void setupCapacitiveSoilMoistureSensor() {
Serial.begin(9600);
for (int thisReading = 0; thisReading < numReadings; thisReading++) {
readings[thisReading] = 0;
}
}
void loopCapacitiveSoilMoistureSensor() {
// subtract the last reading:
total = total - readings[readIndex];
// read from the sensor:
readings[readIndex] = analogRead(inputPin);
// add the reading to the total:
total = total + readings[readIndex];
// advance to the next position in the array:
readIndex = readIndex + 1;
// if we're at the end of the array...
if (readIndex >= numReadings) {
// ...wrap around to the beginning:
readIndex = 0;
}
// calculate the average:
average = total / numReadings;
Serial.println(average);
delay(1); // delay in between reads for stability
}