Soil Moisture Sensor shows strange values
I bought a cheap soil moisture sensor from Aliexpress that is simple and straight forward to use. The sensor reports 1023 when it is completely dry, which is correct. However when the sensor is submerged in water, it only reports around 380-400. One might think it should show a value much closer to 0?
Does anyone have experience with this? Or is the simple solution just to map the values from around 400-1023 as 100%-0% moisture?
@ronnyandre the sensor measures resistance/conductivity, which can be used as a proxy for moisture.
If you submerge the sensor in salt water, you'll see that the value is closer to 0 than regular tap water.
If you submerge the sensor in distilled water, you'll see a value closer to 1023.
I have even seen lower values in moist soil than in tap water, which most likely is thanks to the minerals in the soil having better conductivity than the tap water.
So the "moist" value and the "dry" value will be different for different mixtures of soil. It might be that "completely dry" for one type of soil is lower than 1023.
In addition to that, some plants prefer much drier soil than others.
Testing "dry" and "moist" for your particular soil composition and plant needs, and mapping can be a good method. I have chosen to not do that, but instead set different thresholds in my controller for "time to water the plant" notifications. One notifies at 60%, another at 12%.
@ronnyandre this is a resistive sensor, I guess.
Resistance of water is not zero, so you still get a value much bigger than zero when converted by your arduino.
What value does it report when you short the sensor poles with a wire?
@mfalkvidd Thanks for the careful and understanding explanation. Of course it makes sense that salt water is more conductive than tap water and distilled water. I will calibrate and map according to the specific soil I will use the sensor with. Thanks
@Yveaux I haven't tried that, but that was a good idea to see if the sensor itself has any issues with the conductivity. One can never completely trust cheap chinese hardware..