openmv识别激光,控制云台随激光移动
begz
@begz
begz 发布的帖子
-
openmv连接电脑无u盘显示
openmv上次测试情况良好,之后一两天没用,再次使用就是无法连接电脑,无u盘显示,唯一区别就是换了一根安卓线,是线的问题还是openmv的问题?
-
openmv冒烟了,重新连接电脑led只亮绿灯,无usb显示
openmv连接arduino 2560 跑了个程序就冒烟,之后openmv连接电脑led亮绿灯,无USB显示,这是不是意味着openmv烧了,有没有补救方法呀,佬们
-
如何修改下列代码将openmv数据传输到arduino板上再控制小车循迹运动?
···
THRESHOLD = (35, 9, -24, 32, -20, 7) # Grayscale threshold for dark things...
import sensor, image, time
from pyb import LED
import car
from pid import PID
rho_pid = PID(p=0.4, i=0)
theta_pid = PID(p=0.001, i=0)LED(1).on()
LED(2).on()
LED(3).on()sensor.reset()
#sensor.set_vflip(True)
#sensor.set_hmirror(True)
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QQQVGA) # 80x60 (4,800 pixels) - O(N^2) max = 2,3040,000.
#sensor.set_windowing([0,20,80,40])
sensor.skip_frames(time = 2000) # WARNING: If you use QQVGA it may take seconds
clock = time.clock() # to process a frame sometimes.while(True):
clock.tick()
img = sensor.snapshot().binary([THRESHOLD])
line = img.get_regression([(100,100)], robust = True)
if (line):
rho_err = abs(line.rho())-img.width()/2
if line.theta()>90:
theta_err = line.theta()-180
else:
theta_err = line.theta()
img.draw_line(line.line(), color = 127)
print(rho_err,line.magnitude(),rho_err)
if line.magnitude()>8:
#if -40<b_err<40 and -30<t_err<30:
rho_output = rho_pid.get_pid(rho_err,1)
theta_output = theta_pid.get_pid(theta_err,1)
output = rho_output+theta_output
car.run(50+output, 50-output)
else:
car.run(0,0)
else:
car.run(50,-50)
pass
#print(clock.fps())···