Dear all,
I am using the VL53L1X sensor (later I want to use two of them) via i2c-Hub on a Raspberry Pi. I enabled i2c and installed the python-library by Pimoroni. Find my code attached below as well as the output. My test-environment is a constant light-situation and there is nothing closer that 20 cm near the sensor.
I did read the manuel carefully, but did not understand, wether I need to do a kind of calibration.
I don’t understand why the output varies so much and is sometimes even negativ…
import time
import VL53L1X
# Es wird die Klasse RPi.GPIO importiert, die die Ansteuerung
# der GPIO Pins des Raspberry Pi ermoeglicht.
import RPi.GPIO as io
io.setmode(io.BCM)
io.setwarnings(False)
# Hie wird ein Objekt tof angelegt mit dem der Zugriff via I2C Bus
# auf den ToF Sensor erfolgt.
tof = VL53L1X.VL53L1X(i2c_bus=1, i2c_address=0x29)
# Der Sensor wird mit dieser Funktion aktiv gesetzt. Dazu
# muss die GPIO Pin Nummer mit uebergeben werden.
def start_sensor(number):
# Der XSHUT Pin wird HIGH gesetzt um den Sensor zu aktivieren.
io.setup(number, io.OUT)
io.output(number, True)
time.sleep(0.2)
# Hier erfolgt der Zugriff auf den ToF Sensor
tof.open() # Initialise the i2c bus and configure the sensor
# Die Messung am gewaehlten Sensor wird gestartet.
# Es gibt drei Modi fuer die Messung:
# 1 = Short Range,
# 2 = Medium Range,
# 3 = Long Range
tof.start_ranging(1)
# Deise Funktion haelt die Entfernungsmessung an. Die GPIO Pin
# Nummer muss mit uebergeben werden um den ToF Sensor inaktiv zu
# setzen.
def stop_sensor(number):
# Die Messung am gewaehlten Sensor wird angehalten.
tof.stop_ranging()
# Der XSHUT Pin wird LOW gesetzt um den Sensor zu deaktivieren.
io.output(number, False)
# Der Sensor wird mit dieser Funktion aktiv gesetzt. Dazu
# muss die GPIO Pin Nummer mit uebergeben werden.
def start_sensor(number):
# Der XSHUT Pin wird HIGH gesetzt um den Sensor zu aktivieren.
io.setup(number, io.OUT)
io.output(number, True)
time.sleep(0.2)
# Hier erfolgt der Zugriff auf den ToF Sensor
tof.open() # Initialise the i2c bus and configure the sensor
# Die Messung am gewaehlten Sensor wird gestartet.
# Es gibt drei Modi fuer die Messung:
# 1 = Short Range,
# 2 = Medium Range,
# 3 = Long Range
tof.start_ranging(1)
# Deise Funktion haelt die Entfernungsmessung an. Die GPIO Pin
# Nummer muss mit uebergeben werden um den ToF Sensor inaktiv zu
# setzen.
def stop_sensor(number):
# Die Messung am gewaehlten Sensor wird angehalten.
tof.stop_ranging()
# Der XSHUT Pin wird LOW gesetzt um den Sensor zu deaktivieren.
io.output(number, False)
# Die Funktion liesst die gemessene Entfernung aus.
def get_distance():
distance_in_mm = 0
distance_in_mm = tof.get_distance()
return distance_in_mm
# Programm Ende
![Tof_output|193x500](upload://whr3FBQDQI2miFxjtt4NzTf4Vez.jpeg)
import time
import read_VL53L1X as dist
dist.start_sensor(23)
for x in range(30):
dist_mm= dist.get_distance()
dist_cm=(dist_mm)/10
print ("ToF Sensor vorne - GPIO 23: ")
print ("Entferung in mm:{}".format(dist_mm))
dist.stop_sensor(23)
Output:
pi@raspberrypi:~/Python/Auto $ python display_VL531X.py
VL53L1X Start Ranging Address 0x29
VL53L0X_GetDeviceInfo:
Device Name : VL53L1 cut1.1
Device Type : VL53L1
Device ID :
ProductRevisionMajor : 1
ProductRevisionMinor : 15
ToF Sensor vorne - GPIO 23:
Entferung in mm:0
ToF Sensor vorne - GPIO 23:
Entferung in mm:0
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
ToF Sensor vorne - GPIO 23:
Entferung in mm:-1185
pi@raspberrypi:~/Python/Auto $ python display_VL531X.py
VL53L1X Start Ranging Address 0x29
VL53L0X_GetDeviceInfo:
Device Name : VL53L1 cut1.0
Device Type : VL53L1
Device ID :
ProductRevisionMajor : 1
ProductRevisionMinor : 0
ToF Sensor vorne - GPIO 23:
Entferung in mm:1334
ToF Sensor vorne - GPIO 23:
Entferung in mm:889
ToF Sensor vorne - GPIO 23:
Entferung in mm:1037
ToF Sensor vorne - GPIO 23:
Entferung in mm:1083
ToF Sensor vorne - GPIO 23:
Entferung in mm:283
ToF Sensor vorne - GPIO 23:
Entferung in mm:1196
ToF Sensor vorne - GPIO 23:
Entferung in mm:1007
ToF Sensor vorne - GPIO 23:
Entferung in mm:1038
ToF Sensor vorne - GPIO 23:
Entferung in mm:1135
ToF Sensor vorne - GPIO 23:
Entferung in mm:767
ToF Sensor vorne - GPIO 23:
Entferung in mm:251
ToF Sensor vorne - GPIO 23:
Entferung in mm:1013
ToF Sensor vorne - GPIO 23:
Entferung in mm:1068
ToF Sensor vorne - GPIO 23:
Entferung in mm:56
ToF Sensor vorne - GPIO 23:
Entferung in mm:259
ToF Sensor vorne - GPIO 23:
Entferung in mm:1165
ToF Sensor vorne - GPIO 23:
Entferung in mm:34
ToF Sensor vorne - GPIO 23:
Entferung in mm:1084
ToF Sensor vorne - GPIO 23:
Entferung in mm:754
ToF Sensor vorne - GPIO 23:
Entferung in mm:1169
ToF Sensor vorne - GPIO 23:
Entferung in mm:8
ToF Sensor vorne - GPIO 23:
Entferung in mm:1083
ToF Sensor vorne - GPIO 23:
Entferung in mm:252
ToF Sensor vorne - GPIO 23:
Entferung in mm:1108
ToF Sensor vorne - GPIO 23:
Entferung in mm:322
ToF Sensor vorne - GPIO 23:
Entferung in mm:1076
ToF Sensor vorne - GPIO 23:
Entferung in mm:259
ToF Sensor vorne - GPIO 23:
Entferung in mm:1076
ToF Sensor vorne - GPIO 23:
Entferung in mm:267
ToF Sensor vorne - GPIO 23:
Entferung in mm:393
pi@raspberrypi:~/Python/Auto $