Software apps and online services
Ramesh my society gardener is educated carries a phone and is very lazy and does less work as compared to his brother Suresh.... So to help out Suresh and reward him of his honesty and hardwork I have created a Soil Moisture Monitoring system that keeps him updated of the Soil Moisture and also detects any Anomalies if any harm is done to the plants.
This way he can keep track of the Moisture of the Soil and also if anybody tries to hurt his plants.
Soil Moisture Sensor or Hygrometer is usually used to detect the humidity of the soil. It is also perfect to to build an Automatic Watering System.
Sensor consists of 2 pieces:
- Electronic Board
- Probe with 2 pads
Sensor has built in potentiometer for sensitivity adjustment.
Voltage of the sensor output changes to the content of water in soil.
WET: Output Voltage decreases.
DRY: Output Voltage increases.
Output can be Digital 1 or 0 and Output can be Analog 0 to 1024.
To watch the Demo video of the working:
It is a Machine Learning Algorithm to predict the future values.
Here the data is written as a sum of Polynomial Function(y=f(x)).
Polynomial regression chart is used to predict the values of the next 5 future values of the Soil Moisture.
It is an Algorithm to detect any anomaly in the data.
Mn= ∑ Vi / r
Zn= C *(∑ (Vi -Mn) ²/r) ½
Tn= Vi ± Zn
Mn is Mean
Zn is Z Cross
Tn is the Threshold value of Upper and Lower Bound
V is the Variance
r is the frame Size
C is the Multiplication Factor (Increasing or Decreasing the value of C…...Threshold Points move away or close).
When the Soil has Moisture level increased then we receive a lower Analog Value from the Sensor.
When the Soil has Moisture level decreased then we receive a higher Analog Value from the Sensor.
And since we have to map the moisture level in percentage then, we will divide by 1024 and then multiply by 100 to get the percentage but this value is not the final value as we have to detect the moisture and suppose we receive 2 values from the sensor at 2 different times like 35 and 1000 where 35 shows increase in moisture level and 1000 shows decrease in moisture level.
Moisture = (35/1024)*100 = 3.4% moisture......but this is not the correct value so we subtract this value from the total moisture content that is 100%........So no we get 100-3.4 = 96.6% mg/L.......which shows a more appropriate value for the Moisture.
Now, we do same for 1000 value to verify our result.
Moisture = (1000/1024)*100 = 97%.........Moisture = 100-97 = 3% mg/L
The projects works fine and the Output from the program will sort of look like this:
Whenever moisture of the soil decreases the message is sent from Twilio Account.
When I accidentally removed the moisture sensor from soil a SMS prompt is sent.