Hello
I have problem with VL53L1X.h library, i use arduino nano and 3 VL53L1X sensors.
I successfully addressed the sensors and test them, all work , but serial monitor freezes on addressing 3 sensors but all snsors work correctly, i test it with distance and led indikator, only Serial monitor dont work, please help me.
here is code that i use, Serial closes at the β5β but programm still work.
#include <Wire.h>
#include <VL53L1X.h>
VL53L1X sensor;
VL53L1X sensor2;
VL53L1X sensor3;
#define sensor_reset_pin A0
#define sensor2_reset_pin A1
#define sensor3_reset_pin A2
//USE_I2C_2V8K;
void setup(){
Serial.begin (115200);
pinMode(sensor_reset_pin, OUTPUT); //erster Sensor muss nicht ΓΌber XSHUT angesteuert werden
pinMode(sensor2_reset_pin, OUTPUT);
pinMode(sensor3_reset_pin, OUTPUT);
pinMode(13, OUTPUT);
digitalWrite(sensor_reset_pin, LOW);
digitalWrite(sensor2_reset_pin, LOW);
digitalWrite(sensor3_reset_pin, LOW);
// Initalisiert I2C
while(!Serial);
Wire.begin();
Wire.setClock(400000);
Wire.beginTransmission(0x29);
digitalWrite(sensor_reset_pin,HIGH);
delay(200);
sensor.init();
Serial.println("01");
delay(200);
sensor.setAddress(0x33);
Serial.println("02");
sensor.setDistanceMode(VL53L1X::Medium);
sensor.setMeasurementTimingBudget(10000);
sensor.startContinuous(10);
sensor.setTimeout(100);
Serial.println("sensor");
delay(50);
digitalWrite(sensor2_reset_pin,HIGH);
delay(200);
sensor2.init();
Serial.println("03");
delay(200);
sensor2.setAddress(0x34);
sensor2.setDistanceMode(VL53L1X::Medium);
sensor2.setMeasurementTimingBudget(10000);
sensor2.startContinuous(10);
sensor2.setTimeout(100);
Serial.println("sensor2");
Serial.println("04");
delay(50);
digitalWrite(sensor3_reset_pin,HIGH);
delay(200);
sensor3.init();
Serial.println("05");
delay(200);
sensor3.setAddress(0x35);
sensor3.setDistanceMode(VL53L1X::Medium);
sensor3.setMeasurementTimingBudget(10000);
sensor3.startContinuous(10);
sensor3.setTimeout(100);
Serial.println("06");
delay(200);
Serial.println("sensor3");
Serial.println("addresses set");
}
void loop(){
int i = sensor3.read();
Serial.print(" |Sensor1: ");
Serial.print(sensor.read());
if (sensor.timeoutOccurred()) {
Serial.print(" TIMEOUT ");
}
Serial.print(" |Sensor2: ");
Serial.print(sensor2.read());
if (sensor2.timeoutOccurred()) {
Serial.print(" TIMEOUT ");
}
Serial.print(" |Sensor3: ");
Serial.print(sensor3.read());
if (sensor3.timeoutOccurred()) {
Serial.print(" TIMEOUT ");
}
if(i > 200){
digitalWrite(13,HIGH);
}else{
digitalWrite(13,LOW);
}
Serial.println();
}
Best regards Nikita