光流传感器进行累计测试

光流传感器位移累加结果

§01 流传感器


在前面对于光流传感器进行了初步的测试, 通过MicroPython硬件平台 获得了光流传感器的输出数据。 这些数据反映了光流传感器移动距离。 下面检测一下光流传感器移动累计功能。

  GM1657287698_1280_800.MPG| * >

一、修改程序测试

对于程序修改包括两点, 第一点将查询UART周期改为10ms,第二点将mx,my进行累加。 程序每隔0.2秒输出累加结果。 可以看到累加结果反映了传感器相对于其他物体平移的距离。
  # # GM1657288389_1280_800.MPG| GM1657288466_1280_800.MPG|
 

  结 ※


在这里初步测试了光流传感器位移累加结果, 通过实验发现它反映了光流传感器相对于其他传感器位移的结果。

  # <

一、测试程序

from machine                import Pin,UART
import time

uart = UART(1, baudrate=19200)
print(uart)

inbuf = bytes([0]*7)
recebuf = b''
mx = 0
my = 0
squal = 0

sigmax = 0
sigmay = 0

printcount = 0

while True:
if uart.any() > 0:
inb = uart.read(uart.any())
recebuf = recebuf + inb

buflen = len(recebuf)
delflag = 1
if buflen > 0:
id = 0
for b in recebuf:
if b == 254:
if buflen >= id+9:
mx = recebuf[id+3]
mx = mx*256 + recebuf[id+2]
my = recebuf[id+5]
my = my*256 + recebuf[id+4]
squal = recebuf[id+6]

if mx > 0x7fff: mx -= 0x10000
if my > 0x7fff: my -= 0x10000
sigmax += mx
sigmay += my

else:
recebuf = recebuf[id:]
delflag = 0
break
id += 1
if delflag > 0: recebuf = b''

time.sleep_ms(10)

printcount += 1
if printcount >= 20:
printcount = 0
print(sigmax, sigmay)


猜你喜欢

转载自blog.csdn.net/zhuoqingjoking97298/article/details/125686411