2020-04-09 02:36 AM
Hello, I have bought VL53L1X to use it on a physics project. My project is about measuring the speed of light in air and some other fluids. As far as I understand, this sensor does not measure distance directly, but measures the time delay between the light pulses and uses d=2*v_light*t to find the distance.
My question is, is there any functions on the arduino library for the sensor that will give me the time data and not the distance?
Also, what is the speed of light that the sensor is using for its calculations?
2020-04-09 12:59 PM
The VL53L1X is a Time-of-Flight sensor. It does measure the "Flight time" a photon takes to come from the emitter (VCSEL - Vertical Cavity Surface Emitting Laser) go to the target, and bounce back being detected by the SPAD - Single Photon Avalanche Diode. By knowing that time, we divide by 2 and multiply by the speed of light to get the distance.
So given the distance, one can multiply by 2 and divide by the speed of light to get the time.
So there are lots of fun experiments.
If you have a rectangular fish tank, put a white sheet of paper on one side and the sensor on the other. The white paper makes a good target for the photons to bounce off of. Compare the range to the range received with the target at exactly the same distance without the fish tank in the way.
If you can get some clear plastic acrylic rod, you can carefully polish one end and put it on top of the sensor. The sensor will find the distance to the far end of the rod. But it will get the wrong answer. You can cheat and google the index of refraction of the acrylic, or you can calculate it yourself by using the 'wrong' answer.
I always tell people to find a 4 inch column of pure diamond. That makes the best experiment. Bit hard to come by though. :)
One note of caution. There is a calibration tab on the Evaluation kit software. You are not using a coverglass so you can omit that calibration, but please do the offset calibration. Follow the instructions. Using this you will get some more accurate numbers.
Good luck,
2020-04-11 04:49 AM
Thanks for the reply! You've given me some great ideas but I have 3 problems.
1) I do not know what is the speed of light the sensor is using to give the distance data (c_air or c_vacuum?). Does the sensor calibrate itself depending on the ambiance conditions?
2) I thought using a fish tank like structure horizontally would be bad since there is glass in the way. So I decided to take vertical measurements and place a white paper at the bottom of the tank but I don't know if that distrupts the reflectivity of the paper.
3) My sensor is connected to the computer via Arduino and I don't think I can use the kit software because of it. Is there a way to calibrate the device using Arduino codes/functions?
Best regards,
Ege
2020-04-13 08:23 AM
According to Wikipedia, "The index of refraction of air is 1.0003". The sensor is only accurate to +/- a couple of percent. So you will never see that small delta.
Removing the glass from the experiment is a good idea, but for the same accuracy reason I don't think it will matter much.
The sensor comes with calibration software - you can download it from the ST web site. You can include those calibration routines.
Or you can do your own offset calibration. just range a lot on a known distance. record the delta between the average range and the known. Apply that same delta to all your measurements.