光流传感器进行累积测试

本文介绍了对光流传感器的位移累加功能的初步测试,通过MicroPython平台获取并处理数据,发现累加结果能够反映传感器相对于其他物体的平移距离。程序每隔0.2秒输出累加的sigmax和sigmay值,从而验证了光流传感器的移动跟踪能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

光流传感器位移累加结果

 

§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)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值