import sensor, image, time, math
from pyb import UART
uart = UART(3, 9600, timeout_char=1000)
sensor.reset()
sensor.set_vflip(True)
sensor.set_hmirror(True)
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QQQVGA)
sensor.skip_frames(time = 100)
clock = time.clock()
THRESHOLD = (3, 37, -22, 20, -40, 19)
while(True):
img = sensor.snapshot().binary([THRESHOLD]).dilate(5).erode(8)
uart.write("KR-0,50,0;")
5zgw 发布的帖子
-
同时读取图片和发送uart串口直接报错了
-
tof连接上openmv的i2c的4口P7,P8时候报错
这个连接P7,p8刚开始还能正确运行,但是运行一段时候就报错了
[1036] [1032] [ 1040] Traceback (most recent call last): File "<stdin>", line 32, in <module> File "vl53l1x.py", line 122, in read OSError: [Errno 19] ENODEV MicroPython v1.9.4-4580-g7747c5b36 on 2019-09-27; OPENMV4 with STM32H743 Type "help()" for more information.
-
RE: IMU问题连接直接就报错了
Traceback (most recent call last): File "<stdin>", line 31, in <module> File "bno055.py", line 91, in gyroscope File "bno055.py", line 49, in read_registers OSError: [Errno 19] ENODEV MicroPython v1.9.4-4580-g7747c5b36 on 2019-09-27; OPENMV4 with STM32H743 Type "help()" for more information.
-
IMU问题连接直接就报错了
我使用imu的时候,通信串口和imu同时使用i2c 2的口子,也就是P4,P5口子,然后直接报错了
我在这里打印了一下registerdef write_registers(self, register, data): print(register) self.i2c.writeto_mem(self.address, register, data)
打印出来的结果是
63 65 61 63
经过我的初步检查就是主函数的
self.system_trigger(0x80)
就报错了,这是怎么回事
-
这个openmv怎么无法计算好程序里面的间隔时间
我用pyb.millis() 和clock.tick()与clock.avg()测试程序中间间隔时间时候,用激光测距测返回时间时候,不论这个长度如何,这个时间间隔都是2ms
-
为什么这个用测距模块连接openmv的i2c(4)口会报错
一般情况是连接i2c(2),但是同样是i2c总线,为什么i2c(4)口就不行呢
I2C(4) is on the Y position: (SCL, SDA) = (P7, P8) = (PD12, PD13)from machine import I2C from vl53l1x import VL53L1X from pyb import Pin import time i2c4 = I2C(4) distance1 = VL53L1X(i2c4) while True: print("range2: mm ", distance1.read()) time.sleep(50)
-
RE: openmv里面测距模块VL53L1X中address的意思
@kidswong999 我现在两个测距模块连接在pyboard上面P23、P24(SDA1、SCL1)以及P25,P26(SDA2,SCL2)上面,当我使用这个VL53L1X这个模块时候,前一个使用了后一个就报错
-
RE: openmv里面测距模块VL53L1X中address的意思
我现在两个测距模块连接在pyboard上面P23、P24(SDA1、SCL1)以及P25,P26(SDA2,SCL2)上面,当我使用这个VL53L1X这个模块时候,前一个使用了后一个就报错
-
openmv与pyboard的串口通信
当使用openmv的P0、P1进行通信时候,连接pyboard的P23,P24接口时候。设置uart = UART(1, 4800, timeout_char=1000)。但是一直无法读取到数据
-
openmv里面测距模块VL53L1X中address的意思
在VL53L1X中传入i2c默认id为2,这里的address默认是0x29,那我改变这个i2c的id为1时,
这个address应该变为什么class VL53L1X: def __init__(self,i2c, address=0x29): self.i2c = i2c self.address = address self.reset() pyb.delay(1) if self.read_model_id() != 0xEACC: raise RuntimeError('Failed to find expected ID register values. Check wiring!') self.i2c.writeto_mem(self.address, 0x2D, VL51L1X_DEFAULT_CONFIGURATION, addrsize=16) self.writeReg16Bit(0x001E, self.readReg16Bit(0x0022) * 4) pyb.delay(200)
-
这个pwm里面Timer.channel(channel)的channel参数具体取值是多少,范围是多少
我用不同的Timer
p1 = Pin("P1", Pin.OUT_PP) p2 = Pin("P2", Pin.OUT_PP) p3 = Pin("P3", Pin.OUT_PP) p4 = Pin("P4", Pin.OUT_PP) tim1 = Timer(1, freq=1000) tim2 = Timer(2, freq=1000) ch1 = tim1.channel(2, Timer.PWM_INVERTED, pin=p1) ch2 = tim1.channel(3, Timer.PWM_INVERTED, pin=p2) ch3 = tim2.channel(2, Timer.PWM_INVERTED, pin=p3) ch4 = tim2.channel(3, Timer.PWM_INVERTED, pin=p4)
这里加了ch3和ch4就运行不了
-
openmv控制MG995舵机时用的官方库函数,但是舵机不转
使用官方库调用servo_control舵机控制,电池用的是官方的锂离子电池3.7V-1000MAH,但是舵机不动
import pyb import time s1 = pyb.Servo(1) # create a servo object on position P7 s2 = pyb.Servo(2) # create a servo object on position P8 while(True): for i in range(1000): s1.pulse_width(1000 + i) s2.pulse_width(1999 - i) time.sleep(10) for i in range(1000): s1.pulse_width(1999 - i) s2.pulse_width(1000 + i) time.sleep(10)
-
这个云台舵机的问题,控制了不动
第一个是这个我直接把官网上面的追踪小球的代码copy上去,结果能追踪,但是只有serva1能动,serva2不动,而且通电以后serva1不能手动扳动,但是serva2可以手动搬动
第二个是这个单独控制舵机的代码,Servo类 –三线hobby舵机驱动使用这里面的代码,直接ide就卡死了,然后就说变砖了,为什么这个无法控制呢? -
这个云台舵机移动代码参数到底是什么
Servo.angle([angle, time=0])
若给定函数,该函数设置servo的角度:
angle 是度数计的移动的角度。
time 是达到指定角度所用的毫秒数。若省略,则servo会尽快移动到新的位置。这里的angle是int类型的数字吗?取值范围和单位都没有说明。
from pyb import Servo s1 = Servo(1) # P7 s2 = Servo(2) # P8 s1.angle(90,1000)
我直接写这段代码执行,想让他一秒转动到90度,结果这个openmv直接就变成砖了,然后又得插除内存
-
RE: 这个openmv如何连接多个测距扩展板,返回不同拓展版测距?视频教学中只有一个tof的情况,我需要两个怎么办
那这个可以接到墨星ESP32上手教程-MICROPYTHON这上面吗
-
这个openmv如何连接多个测距扩展板,返回不同拓展版测距?视频教学中只有一个tof的情况,我需要两个怎么办
from machine import I2C from vl53l1x import VL53L1X import time i2c = I2C(2) distance = VL53L1X(i2c) while True: print("range: mm ", distance.read()) time.sleep(50)