Sensor Values Influencing Eachother

I am currently working on getting some Flex Sensors to work and am trying to make a sign language translator.

I have 5 of these Flex Sensors hooked up for each finger. I am currently using the Arduino UNO.

Whenever I bend one flex sensor the value of all the other sensors change to that value, and the only way they are connected is through 5 Volts and Ground.

Here is my code:

long int flexthumb;
long int flexindex;
long int flexmiddle;
long int flexring;
long int flexpinky;

long int flextot;

const int flext = A0;
const int flexi = A1;
const int flexm = A2;
const int flexr = A3;
const int flexp = A4;

long int multiplyer = 99999;

void setup() {
  
  pinMode(flext, INPUT);
  pinMode(flexi, INPUT);
  pinMode(flexm, INPUT);
  pinMode(flexr, INPUT);
  pinMode(flexp, INPUT);
  
  Serial.begin(9600);

}

void loop() {
  
  flexthumb = analogRead(flext);
 Serial.println(flexthumb);
  
  flexindex = analogRead(flexi);
 Serial.println(flexindex);
  
  flexmiddle = analogRead(flexm);
 Serial.println(flexmiddle);
  
  flexring = analogRead(flexr);
 Serial.println(flexring);
  
  flexpinky = analogRead(flexp);
 Serial.println(flexpinky);
 
  flextot = (flexthumb + flexindex + flexmiddle + flexring + flexpinky);

  flextot = flextot * multiplyer;
  
  Serial.println(flextot);

  delay(1000);

}

These are the values I obtain from each sensor when I don't bend any.

720
722
724
723
720
360896391

And here are the values after bending only ONE sensor.

754
759
756
756
751
377596224

As you can see all the values are changed instead of just one.

Is there any fix for this?

What is the value of the pull up (or pull down) resistor.

Arduinos only have one A/D converter, and a "switch" to select between the analogue inputs.
That can give some cross-talk between inputs if input impedance is >10k.

Two ways to fix this (can use both).

  1. Add a 100n capacitor from each analogue input to ground.
  2. Read each input twice, to flush any previous charge from the A/D.

Like this:

flexthumb = analogRead(flext); // dummy read
flexthumb = analogRead(flext); // the real one
Serial.println(flexthumb);

flexindex = analogRead(flexi); // dummy read
flexindex = analogRead(flexi); // the real one
Serial.println(flexindex);
etc.

long int flexthumb;
should be
int flexthumb;
etc.
const int flext = A0;
could be
const byte flext = A0;
etc.
Leo..

Ok, will try these when I get the chance to

Another thing I notice is the very small difference between bent and not bent. Is that as expected for your flex sensor? Looking at the data sheets of two Adafruit offerings I would expect much more difference (assuming a 90° or greater bend).

The question in post#1 was not answered.

Also might be good to know which flex sensor was used.
"some Flex Sensors" does not cut it.
Leo..