analog read slow response when using capacitive soil sensor

Hi,

i bought this cheap capacitive soil moisture sensor v1.2 here Analog Capacitive Soil Moisture Sensor V1.2 Corrosion Resistant Whosale&Dropship|soil moisture sensor|moisture sensorcapacitive soil moisture sensor - AliExpress . it works except when I drop sensor into water it takes a long time for the reading to stabilize (take >20 gradual reading to the final value) the reading stabilize fast when moving sensor from wet to dry (within 3 reading). It seem like the analog read pin take time to drop its voltage from high to low (dry to wet).

i found out when i hooked a voltmeter across analog read pin and ground, the sensor will work normally. I have no issue when using dfrobot's capacitive sensor so there's must be something wrong with this cheap sensor.

any idea whats going on? how do i fix this?

below is the code i use
void setup() {
Serial.begin(9600);
pinMode(A7,INPUT);
}
void loop() {
int rawValue = analogRead(A7);

Serial.print("Analog Read :");
Serial.println(rawValue);
delay(1000) }

Few things :

The sensor is supposed to operate in soil, where the soil /water combination forms the dielectric of the capacitor . Maybe just using water by itself has a different effect on its operation ( maybe ?).

Does it matter ? Soil conditions won’t change rapidly , so if the response time is long , does it matter ?

Connected up correctly ?

syafiqridzuan:
i found out when i hooked a voltmeter across analog read pin and ground, the sensor will work normally.

Please explain what you're doing here, and how you determine the sensor to "work normally". Reading from voltmeter or Arduino? Digital or analog voltmeter?

I have seen before that analog outputs need some minimum load to work properly. An analog voltmeter could very well offer sufficient load making it work; a digital one does not.

wvmarle:
Please explain what you're doing here, and how you determine the sensor to "work normally". Reading from voltmeter or Arduino? Digital or analog voltmeter?

I have seen before that analog outputs need some minimum load to work properly. An analog voltmeter could very well offer sufficient load making it work; a digital one does not.

I am using the sensor to measure the soil moisture every second. I used a digital voltmeter

work normally- when soil is dry screen shows 30% (humidity), when water is poured onto the soil, within 2 seconds the screen shows 90%.

abnormal- when water is pour onto soil it take more than 1 minute for the screen to show 90%..the reading increase gradually 31%,32%....89% and stabilize at 90% after >1mins.

btw at 1st i watch the analog read value decrease slowly from serial monitor (sensor going from dry to wet).. later I hook up the voltmeter ( analog read pin to ground) to see what is going on with the voltage. suddenly the sensor work properly (reacted fast to the changing condition).but when i took of the voltmeter off the problem comeback..as if the sensor need the voltmeter to work properly

How do you make sure that the water reaches the sensor at the same pace every time, and that the water is distributed through the soil homogeneously?

Small changes in how exactly the water is added to a pot of soil may make a HUGE difference in the reading of a soil moisture sensor, as the sensor reads the humiditiy in it's direct environment (a few mm around it), not the humidity more than a finger's width away, let alone an average of the whole pot.

In other words: I don't see anything obviously abnormal here.

Poor wiring may also have such symptoms - did you solder everything properly?

i actually repeat the same experiment using a glass of water instead (from "hanging in air" to submerge sensor into a glass of water) it shows same beahaviour.

When i replaced the sensor with a "dfrobot" brand , i will have no prob. thats why i tot theres got something to do with the sensor

If someone still has this problem, just add a 10k resistor between the arduino analog input and ground. That has worked for my china sensor.