当前位置: 移动技术网 > IT编程>脚本编程>Python > 【openmv】openmv各种bug问题记录

【openmv】openmv各种bug问题记录

2020年10月12日  | 移动技术网IT编程  | 我要评论
一 已解决的bug二 未解决的bug1.不影响运行,未知原因uh oh, no preference for overlappingdetection2.按键外部中断,也不怎么影响

一 已解决的bug

(一)python语言使用错误

1.for循环后未加冒号/def 函数后未加冒号/缩进不对

SyntaxError: invalid syntax

例子:

def callback_PIN1(line)#这里应该有:冒号 global flag_key2 #print("line =", line) flag_key2=1 pyb.delay(10)

2.使用未定义过的变量

NameError: name 'b' isn't defined

(二)基于openmv的bug

1.超内存

解决:使用qqvga等更小的图像尺寸

2.硬件引脚冲突(常见显示屏舵机串口iicspi等用太多的情况)

解决:舵机扩展板、看原理图换引脚

3.画面偏红/偏色

一般是由于初始化引起的,(不排除红外线/激光影响)
解决:初始化时给一个正常颜色的背景(别是整个画面的蓝色)

4.画面花掉一部分,失真,但接电脑时好使,脱机不好使

我的是由于接错了电源(openmv的3.3v输出引脚接入5v电)
解决:vin脚给3.7-7v电源(推荐5v)

5.连接电脑供上电但接不上ide

可能是你的数据线是一根供电线不是传输数据的线,换一根
也可能你的电脑驱动有问题,参考星瞳的教程
解决:检测数据线、驱动

6.寻找色块/形状,找不到的时候报错

很可能是你找不到的时候列表是空的,后面的程序还用了,正确的写法如下:
注意if blobs

blobs = img.find_blobs([yellow_threshold,green_threshold], roi=(0,0,160,80),pixels_threshold=100, area_threshold=100)# merge=True, margin=10 if blobs:#如果找到了 data=[]#初始化数据 blob=find_max(blobs)#找最大 color=blob.code()#记录颜色

二 未解决的bug

1.不影响运行,未知原因

uh oh, no preference for overlappingdetection

2.按键外部中断,也不怎么影响

ValueError: ExtInt vector 15 is already in use

例子:

# 引脚控制例子 # # 这个例子展示了如何使用OpenMV的I/O引脚。 import pyb from pyb import Pin # 连接一个开关到Pin0,当开关闭合的时候,引脚置低。然后Pin1会点亮 pin0 = Pin('P0', Pin.IN, Pin.PULL_UP) pin1 = Pin('P1', Pin.IN, Pin.PULL_UP) flag_key1=0 flag_key2=0 def callback_PIN0(line): global flag_key1 #print("line =", line) flag_key1=1 pyb.delay(10) def callback_PIN1(line): global flag_key2 #print("line =", line) flag_key2=1 pyb.delay(10) extint = pyb.ExtInt(pin0, pyb.ExtInt.IRQ_FALLING, pyb.Pin.PULL_UP, callback_PIN0) extint = pyb.ExtInt(pin1, pyb.ExtInt.IRQ_FALLING, pyb.Pin.PULL_UP, callback_PIN1) while(True): #print(flag_key1) if flag_key1==1 and pin0.value()==0: print("1") flag_key1=0 if flag_key2==1 and pin1.value()==0: print("2") flag_key2=0 

本文地址:https://blog.csdn.net/qq_45037925/article/details/109039017

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网