BBG ADC I2C Grove Problems

Friends,

Having trouble with the BBG and I2C ADC Grove. Below are steps I took and errors I’ve received. How can I this simple hardware configuration to work?

Thanks for your help.

Andy

Steps:
1 Purchased a BBG and an I2C ADC Grove.
2. Connected the BBG to my router via ethernet.
3. Connected the I2C ADC to the Grove connector on the BBG with the Grove cable included with the ADC.
4. Logged into the BBG via ssh.
5. Did the following on the BBG (note that the ADC is not showing-up):

root@beaglebone:~# i2cdetect -r 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1 using read byte commands.
I will probe address range 0x03-0x77.
Continue? [Y/n] Y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – --
20: – -- – -- – -- – -- – -- – -- – -- – --
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- UU UU UU UU – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --
root@beaglebone:~#

  1. Ran the python program via cloud9 located here:
    seeedstudio.com/wiki/Grove_-_I2C_ADC
    (Note, I updated the following line: ADDR_ADC121 = 0x55)

Receive the following error:
sensor value Error accessing 0x55: Check your I2C address
-1

Hello,

The issue seems to be that address 0x55 is unavailable and used internally by BBG. This can be seen from UU displayed corresponding to unavilable addresses after i2cdetect -y -r 1 command.

Please use the ADC I2C wiki page to learn how to change the default address to 0x50 (i.e make the ADR0 and ADR1 floating). With this adjustment the i2cdetect command detects ADC at 0x50.

i2cdetect -y -r 1

root@beaglebone:~# i2cdetect -y -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- UU UU UU UU -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --  

Address 0x55 unavailablity might be due to the latest version of OS that came with BBG making use of this for some other purpose.

Thanks and Warm Regards…

I changing the I2C address to 0x50 using the wiki directions. It worked. Thank you.

Next, I connected the ADC to the BBG as follows:

ADC Gnd to BBG Gnd
ADC VCC to BBG 5 volt
ADC Sig to BBG 3.3 volt

Since the ADC is 12 bit, I was expecting the sensor value to be ~2703, but received this output:

sensor value 47624
sensor value 47880

The value is ~20x larger than expected. Why?

Thank you.

Hello,

Please use the schematic to know how VCC and GND are connected to ADC Input Grove. VCC and GND are already internally connected to I2C Grove connector (i.e. Vcc= 3.3V & GND = 0V).

To measure external Analog signal, use SIG and GND pins. These should be enough.

Thanks and Warm Regards.