VL6180x Offset Problem

Hallo
was mache ich da falsch?

Also ich habe 8 Sensoren . Und alle haben den gleichen Problem haben Offset .
Ich habe bei einen Sensor bei 50 mm den wert gepasst also er zeigt nur bei 50mm den genauen Wert aber wenn man runter geht auf 10 mm zeigt er immer noch was anderes .

Was kann da sein.

Danke

//I²C Biblotheken hochladen
#include <Wire.h>
//Sensor Biblotheken  hochladen
#include <VL6180X.h>

#define address0 0x20
#define address1 0x22
#define address2 0x24
#define address3 0x26
#define address4 0x28
#define address5 0x30
#define address6 0x32
#define address7 0x34

int enablePin0 = 4;
int enablePin1 = 5;
int enablePin2 = 6;
int enablePin3 = 7;
int enablePin4 = 8;
int enablePin5 = 9;
int enablePin6 = 10;
int enablePin7 = 11;

[b]
int offset[8] = {-95,  -46,  0,  -45,  -90,  0,  0,  -70}; //*
float faktor[8] = {1.01,  1.01,  1.01,  0.99,  1,  1,  1,  1}; //*[/b]

VL6180X sensor0;
VL6180X sensor1;
VL6180X sensor2;
VL6180X sensor3;
VL6180X sensor4;
VL6180X sensor5;
VL6180X sensor6;
VL6180X sensor7;


void setup()
{
Serial.begin(115200);
//Initialisierung der I²C treibers
Wire.begin();
pinMode(enablePin0,OUTPUT);
pinMode(enablePin1,OUTPUT);
pinMode(enablePin2,OUTPUT);
pinMode(enablePin3,OUTPUT);
pinMode(enablePin4,OUTPUT);
pinMode(enablePin5,OUTPUT);
pinMode(enablePin6,OUTPUT);
pinMode(enablePin7,OUTPUT);
  
digitalWrite(enablePin0, LOW);
digitalWrite(enablePin1, LOW);
digitalWrite(enablePin2, LOW);
digitalWrite(enablePin3, LOW);
digitalWrite(enablePin4, LOW);
digitalWrite(enablePin5, LOW);
digitalWrite(enablePin6, LOW);
digitalWrite(enablePin7, LOW);
  
 digitalWrite(enablePin0, HIGH);
  sensor0.init();
  sensor0.configureDefault();
  sensor0.setAddress(address0);
  Serial.println(sensor0.readReg(0x212),HEX); // lese I2C address
 sensor0.setScaling(2); // konfiguration range  1, 2 oder 3 mm


digitalWrite(enablePin1, HIGH);
  sensor1.init();
  sensor1.configureDefault();
  sensor1.setAddress(address1);
  Serial.println(sensor1.readReg(0x212),HEX);
 sensor1.setScaling(2); // konfiguration range 1, 2 oder 3 mm


digitalWrite(enablePin2, HIGH);
  sensor2.init();
  sensor2.configureDefault();
  sensor2.setAddress(address2);
  Serial.println(sensor2.readReg(0x212),HEX); // lese I2C address
 sensor2.setScaling(2); 

digitalWrite(enablePin3, HIGH);
  sensor3.init();
  sensor3.configureDefault();
  sensor3.setAddress(address3);
  Serial.println(sensor3.readReg(0x212),HEX); // lese I2C address
 sensor3.setScaling(2); 
 
digitalWrite(enablePin4, HIGH);
  sensor4.init();
  sensor4.configureDefault();
  sensor4.setAddress(address4);
  Serial.println(sensor4.readReg(0x212),HEX); // lese I2C address
 sensor4.setScaling(2); 

digitalWrite(enablePin5, HIGH);
  sensor5.init();
  sensor5.configureDefault();
  sensor5.setAddress(address5);
  Serial.println(sensor5.readReg(0x212),HEX); // lese I2C address
 sensor5.setScaling(2); 

 digitalWrite(enablePin6, HIGH);
  sensor6.init();
  sensor6.configureDefault();
  sensor6.setAddress(address6);
  Serial.println(sensor6.readReg(0x212),HEX); // lese I2C address
 sensor6.setScaling(2); 

digitalWrite(enablePin7, HIGH);
  sensor7.init();
  sensor7.configureDefault();
  sensor7.setAddress(address7);
  Serial.println(sensor7.readReg(0x212),HEX); // lese I2C address
  sensor7.setScaling(2);
 }
//dauerschleife(widerholt sich)
void loop()
{
  //Senden des Sensor Signals auf der Seriellen Schnittstelle
  zwischenwert[0] = int((sensor0.readRangeSingle() + offset[0]) * faktor[0]); //*
  senden(0);
  zwischenwert[1] = int((sensor1.readRangeSingle() + offset[1]) * faktor[1]); //*
  senden(1);
  zwischenwert[2] = int((sensor2.readRangeSingle() + offset[2]) * faktor[2]); //*
  senden(2);
  zwischenwert[3] = int((sensor3.readRangeSingle() + offset[3]) * faktor[3]); //*
  senden(3);
  zwischenwert[4] = int((sensor4.readRangeSingle() + offset[4]) * faktor[4]); //*
  senden(4);
  zwischenwert[5] = int((sensor5.readRangeSingle() + offset[5]) * faktor[5]); //*
  senden(5);
  zwischenwert[6] = int((sensor6.readRangeSingle() + offset[6]) * faktor[6]); //*
  senden(6);
  zwischenwert[7] = int((sensor7.readRangeSingle() + offset[7]) * faktor[7]); //*
  senden(7);

  //Pause von 2 ms = 1 Messung
  //delay(2);
}

Habe was gefunden hier aber stimmt das?

12.PNG