【openmv】openmv各种bug问题记录
程序员文章站
2022-08-06 21:03:04
一 已解决的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