@g3n2 固件库版本4.0
G
g3n2 发布的帖子
-
RE: 请问,21年5月29号,更新了openmv后就不能控制舵机了,更新之前就可以,请问是为什么???
import sensor, image, time, pyb,math from pyb import Pin, Timer,LED,Servo import json from pyb import UART LED_R = pyb.LED(1) # Red LED = 1, Green LED = 2, Blue LED = 3, IR LEDs = 4. LED_G = pyb.LED(2) LED_B = pyb.LED(3) s1 = Servo(1)#servo on position 1 (P7) s2 = Servo(2)# servo on position 2 (P8) LED_R.off() LED_G.off() LED_B.off() ROI=(24,10,110,77) red_threshold = (34, 78, 48, 104, -66, 80) sensor.reset() # Initialize the camera sensor. sensor.set_pixformat(sensor.RGB565) # use RGB565. sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed. sensor.skip_frames(10) # Let new settings take affect. sensor.set_auto_whitebal(False) clock = time.clock() # Tracks FPS. uart = UART(1, 9600) uart.init(9600, bits=8, parity=None, stop=1) #8位数据位,无校验位,1位停止位 def find_max(blobs): max_size=0 for blob in blobs: if blob[2]*blob[3] > max_size: max_blob=blob max_size = blob[2]*blob[3] return max_blob while(True): if uart.any(): LED_R.on() time.sleep_ms(1000) LED_R.off() s2.angle(0) # move to 45 degrees s2.angle(90, 500)# move to -60 degrees in 1500ms clock.tick() # Track elapsed milliseconds between snapshots(). img = sensor.snapshot().lens_corr(1.8) # Take a picture and return the image. for c in img.find_circles(threshold =1500,roi=ROI, x_margin =10, y_margin =10, r_margin =10, r_min = 5, r_max = 20, r_step = 5): blobs = img.find_blobs([red_threshold],pixels_threshold=600,pixels_threshold=600,merge=True) if blobs: max_blob = find_max(blobs) img.draw_cross(max_blob.cx(),max_blob.cy()) img.draw_circle(max_blob.cx(),max_blob.cy(),max_blob.cx()-max_blob.x(), color = (255, 0, 0)) LED_R.on() time.sleep_ms(100) LED_R.off() FH = bytearray([0x01]) uart.write(FH) LED(1).toggle()#红灯亮 time.sleep_ms(100) LED(1).off() time.sleep_ms(100) LED(2).toggle()#绿灯亮 time.sleep_ms(100) LED(2).off() time.sleep_ms(100) LED(3).toggle()#红灯亮 time.sleep_ms(100) LED(3).off() time.sleep_ms(100) s1.angle(45) # move to 45 degrees s1.angle(-45, 1000)# move to -60 degrees in 1500ms s1.angle(-135, 1000) else: LED_R.off() print("帧率 : ",clock.fps())
这是代码