Home/Support/Support Forum/What do my printed ADC values from my moisture sensor really mean?

What do my printed ADC values from my moisture sensor really mean?

0 votes
Ok so here are my brief setup details:

xbee coordinator communicating with xbee remote router module both in API mode. I have a YL-69 moisture sensor connected to the YL-38 meter. On the YL-38 meter I have pin "D0" connected to remote xbee pin 20 (DIO0_AD0) configured as ADC. Vcc is connected to Vcc and GND to GND.

In code I basically get the adc value of IOLine DIO_AD0 and print it out every couple seconds.

Running the program:

When I dip the moisture sensor in water the program prints "1023"
When I remove the moisture sensor from the water the program prints "90". (sometimes 89 or 92 or 93, so far).

So what do these values mean / where are they coming from?

Many thanks! :)
asked Jul 15 in XBee Programmable Development by edunn106 New to the Community (19 points)

Please log in or register to answer this question.

1 Answer

0 votes
The ADC input on the XBee is a 0 - 1023 value (10 bit). 0 would mean dry in this case and 1023 is max value. In this case, the meters max output value.
answered Jul 15 by mvut Veteran of the Digi Community (12,834 points)
You are a veteran and at the ready hah - you've answered most of my posts :) thanks!

My code setup is either backwards or you got the order backwards based on my post... when I dip in the water its ~90. When I keep it dry its 1023.

dry = 1023
varying degrees of wetness is <= 1022.

I dont get why I connect the sensor's DO(digital out) pin to the xbee's ADC pin. when there is an AO pin on the sensor.. I would think I would connect the AO(analog out) pin to the xbee's ADC (analog to digital converter). But when I do that it doesn't work lol. Fundamentals get the best of me.

10 bit value, gotchya. cool!
Yea I misread what you had.

Why are you connecting a Digital Out to an Analog input?  That line on the XBee should be configured for Digital Input instead.
I was following this video (https://www.youtube.com/watch?v=9LxrX5Eeukg&t=260s) of someone using the same sensor but with a Raspberrypi. He connected DO to the rasppi's AO I'm pretty sure. and then in my code I am using a get_adc_value type deal. It works haha. But probably not working the way it could/should right :D.
I am interested in both making use of digital sensing that tells me HIGH/LOW states and equally interested in analog values so I can have different set points that trigger different functions.