Hello I am trying to get the distance from two VL53L1X sensors but not working ? connecting the x-shut to 3k resistor as well.
This’s the code I am using:
#include <Wire.h>
#include <VL53L1X.h>
VL53L1X sensor;
VL53L1X sensor2;
VL53L1X sensor3;
VL53L1X sensor4;
VL53L1X sensor5;
//USE_I2C_2V8K;
void setup()
{
pinMode(2, OUTPUT); //erster Sensor muss nicht über XSHUT angesteuert werden
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
// Initalisiert I2C
delay(500);
Wire.begin();
Wire.beginTransmission(0x29);
Serial.begin (9600);
/*
digitalWrite(2, HIGH);
delay(150);
Serial.println(“00”);
sensor.init();
Serial.println(“01”);
delay(100);
sensor.setAddress(0x31);
Serial.println(“02”);
*/
digitalWrite(3,HIGH);
delay(150);
sensor2.init();
Serial.println(“01”);
delay(100);
sensor2.setAddress(0x33);
Serial.println(“02”);
digitalWrite(4,HIGH);
delay(150);
sensor3.init();
Serial.println(“03”);
delay(100);
sensor3.setAddress(0x35);
Serial.println(“04”);
digitalWrite(5,HIGH);
delay(150);
sensor4.init();
Serial.println(“05”);
delay(100);
sensor4.setAddress(0x37);
Serial.println(“06”);
digitalWrite(6,HIGH);
delay(150);
sensor5.init();
Serial.println(“07”);
delay(100);
sensor5.setAddress(0x39);
Serial.println(“08”);
digitalWrite(2, HIGH);
delay(150);
Serial.println(“09”);
sensor.init();
Serial.println(“10”);
delay(100);
sensor.setDistanceMode(VL53L1X::Long);
sensor.setMeasurementTimingBudget(50000);
sensor.startContinuous(50);
sensor.setTimeout(100);
sensor2.setDistanceMode(VL53L1X::Long);
sensor2.setMeasurementTimingBudget(50000);
sensor2.startContinuous(50);
sensor2.setTimeout(100);
sensor3.setDistanceMode(VL53L1X::Long);
sensor3.setMeasurementTimingBudget(50000);
sensor3.startContinuous(50);
sensor3.setTimeout(100);
sensor4.setDistanceMode(VL53L1X::Long);
sensor4.setMeasurementTimingBudget(50000);
sensor4.startContinuous(50);
sensor4.setTimeout(100);
sensor5.setDistanceMode(VL53L1X::Long);
sensor5.setMeasurementTimingBudget(50000);
sensor5.startContinuous(50);
sensor5.setTimeout(100);
delay(150);
Serial.println(“addresses set”);
Serial.println (“I2C scanner. Scanning …”);
byte count = 0;
for (byte i = 1; i < 120; i++)
{
Wire.beginTransmission (i);
if (Wire.endTransmission () == 0)
{
Serial.print ("Found address: ");
Serial.print (i, DEC);
Serial.print (" (0x");
Serial.print (i, HEX);
Serial.println (")");
count++;
delay (1); // maybe unneeded?
} // end of good response
} // end of for loop
Serial.println (“Done.”);
Serial.print (“Found “);
Serial.print (count, DEC);
Serial.println (” device(s).”);
}
void loop()
{
Serial.print(“Sensor1_horizontal: “);
Serial.print(sensor.read());
if (sensor.timeoutOccurred()) { Serial.print(””); }
Serial.println();
delay(500);
Serial.print(“Sensor2_22.5: “);
Serial.print(sensor2.read());
if (sensor2.timeoutOccurred()) { Serial.print(””); }
Serial.println();
delay(500);
Serial.print(“Sensor3_45: “);
Serial.print(sensor3.read());
if (sensor3.timeoutOccurred()) { Serial.print(””); }
Serial.println();
delay(500);
Serial.print(“Sensor4_67.5: “);
Serial.print(sensor4.read());
if (sensor4.timeoutOccurred()) { Serial.print(” TIMEOUT”); }
Serial.println();
delay(500);
Serial.print(“Sensor5: “);
Serial.print(sensor5.read());
if (sensor5.timeoutOccurred()) { Serial.print(” TIMEOUT”); }
Serial.println();
Serial.println();
delay(500);
}