User Tools

Site Tools


arduino:vl53l0x

VL53L0X 940nm

GY-53 VL53L0X console version

import matplotlib.pyplot as plt
import numpy as np
import serial
import time
from matplotlib import pyplot as plt
 
s = serial.Serial(port='COM6', baudrate=9600) #data will come in 9 byte chunks every 500ms or so , byte 5 is distance in cm
time.sleep(0.1)
while s.in_waiting == 0: time.sleep(0.01) #wait for first byte to arrive
while s.in_waiting != 0: #skip bytes until pause
    s.read(1)
    time.sleep(0.01)
 
x = np.arange(100)
y = np.zeros(100)
 
plt.ion()
fig = plt.figure(1)
plt.ylim(ymax=250, ymin=0)
ax = fig.add_subplot(111)
line1, = ax.plot(x, y, 'r-') # Returns a tuple of line objects, thus the comma
 
i = 0
while True:
    if not plt.fignum_exists(1): break
    buf = s.read(9)
    print("{:3} {} {}".format(i, buf.hex(), buf[5]))
    ii = i
    if ii >= 100:
        y = np.roll(y, -1)
        ii = 99
 
    y[ii] = buf[5]
    line1.set_ydata(y)
    fig.canvas.draw()
    fig.canvas.flush_events()
    i = i + 1
arduino/vl53l0x.txt · Last modified: by aistis