SparkFun Forums 

Where electronics enthusiasts find answers.

User avatar
By akb515
#204580
Hi, I recently purchased two ADS1015 sensors in order to try getting values of 4fingers while wearing a glove. After getting the parts, I decided to test it, using the Qwiic Shield for the Arduino Uno. From the shield, there is one qwiic connector going to the first ADS1015, and then another qwiic connector going from that sensor to the next one (daisy chained together). The code is supposed to print the values of the 4 fingers (example code #2 SetUp Hand), however, the values are clearly wrong. When just one sensor connector, the first image shows the output of the flex sensors completely straight. I knew this was wrong because when I had forgotten to hook up the sensors, all 4 fingers read 4095, so I knew that there was some issue present. When bending the sensors on both sensors, the values for finger 1 and 2 change in a weird way, while fingers 3 and 4 remain 4095.
untouched.PNG
I decided to run the same code, but with only one ads15103 connected. Now, finger one and two print values close to 1000 when unbent and drop once bent (the correct response), while 3 and 4 print 4095, showing they are not connected.
only one.PNG
I have no clue what is going on, so if someone could help, that would be awesome! Thanks, Akash.
You do not have the required permissions to view the files attached to this post.
User avatar
By TS-Mark
#204621
Hi Akash,

From your description, it sounds like you have not adjusted the address jumpers correctly to use more than one of the Qwiic Flex Glove Controllers on a single I2C bus.

The second example in the Hookup Guide has the I2C addresses set to default (connected to GND) and 0x4A (connected to SDA). Make sure you have adjusted the solder jumper on the back of the board to switch from GND to SDA. If you are not sure how to modify those jumpers, take a look at this tutorial on working with Jumper pads and PCB Traces.

If you continue to have issues after adjusting that jumper and running the second example, please take a few photos of the top and bottom of your boards and attach them to your reply.
User avatar
By akb515
#204814
Hey TS-Mark,
This is my first time dealing with jumper boards so I am a little confused. Below, I have attached pictured of my circuit right now. Would I work with the jumper pad on the Flex Glove that is connected to the Quiic Shield or the last one daisy chained? Also, for soldering the jumper pads, there are two rows of 3 leads, so what should I connect together? Sorry for all the questions.
IMG_4252 (1).jpg
IMG_4254 (1).jpg
Thanks,
Akash.
You do not have the required permissions to view the files attached to this post.
By n1ist
#204817
Look at the pad labelled GND. You see a thin short trace connecting it to the middle pad. Cut that trace between the pads, and instead solder a jumper or blob between the pad labeled 3v3 and the middle pad on that row (between 3v3 and SCL). This will change the address to 0x49. Do this on one of the two boards; the other will remain at 0x48
/mike
User avatar
By TS-Mark
#204822
Thanks for helping out here, Mike!

Akash, try following Mike's instructions. This photo gives you a clear view of the default configuration for the address jumpers here and the table above it in the Hardware Overview section of our guide lists the addresses of each position. I would highly recommend reading through our How to Work with Jumper Pads and PCB Traces tutorial if you have never modified a solder jumper before. That will have step-by-step instructions for cutting a trace between jumper pads and adding a solder jumper.
User avatar
By akb515
#204988
Hi, I am still having trouble. Now, the one that I modified won't give me any values when I bend it, whether or not it is hooked up with the other sensor too. Can you guide me on what to do? Thanks,
IMG_4327.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
By TS-Chris
#205070
Hi akb515.

Is your code looking for the second board at the correct I2C address? Changing the jumper changed the address and if your code is looking for the old address it won't find the board.

Try this modified test code with the modified board and see if it works then.
Code: Select all
#include <SparkFun_ADS1015_Arduino_Library.h>

ADS1015 fingerSensor;

void setup() {

  Wire.begin();
  Serial.begin(115200);

  if (fingerSensor.begin(Wire, 100000, ADS1015_ADDRESS_VDD) == false) {
     Serial.println("Device not found. Check wiring.");
     while (1);
  }

}

void loop() {  
  uint16_t data;
  for (int finger = 0; finger < 2; finger++) {
    data = fingerSensor.getAnalogData(finger);
    Serial.print(finger);
    Serial.print(": ");
    Serial.print(data);
    Serial.print(",");
  }
  Serial.println();
}