open mv控制单个舵机
-
请问用open mv控制单个舵机,线应该怎么接。先用一个电源通过降压模块与舵机连接,然后将舵机的信号线接到open mv的servo1引脚上,再将舵机上的地线引出,接到openmv 的GND引脚上,这样可以么?
-
-
@kidswong999 好的,谢谢!
-
所以,买的套件里面带的那个洞洞板接上两个舵机后,虽然舵机的V接omv的V,S接P7P8,G接G,但舵机是不能转的。
要在另外那两个洞上接上VCC,GND吗?
-
需要额外的电源,不应该使用USB给电机供电。
-
@kidswong999 我想用open mv 控制单个舵机进行x轴方向上的颜色追踪,pid.py文件需不需要修改?
-
不需要,在main.py里面把y轴动的那句话注释掉就可以了
-
@kidswong999 教程视频追小球的云台用的舵机是180度的么?如果改为360度旋转的舵机代码还能用么?
-
@渔阳 不能,180度的舵机,和360度的舵机,控制完全不一样。
-
@kidswong999
import sensor, image, time
from pyb import UART,Timer,Servohas_data = False # 初始化为没有数据读入
def is_data_coming(timer):
global uart
global has_dataif uart.any(): has_data = True else: has_data = False
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) # turn this off.
clock = time.clock() # Tracks FPS.s1=Servo(1)
uart = UART(3, 115200)
uart.init(115200, bits=8, parity=None, stop=1)timer = Timer(4)
timer.init(freq=10)
timer.callback(is_data_coming)
while(True):if uart.readline()==b'a': print('yes') #s1.angle(-90) else: continue while(True): img = sensor.snapshot() print(has_data) if has_data: data = uart.readline() if data==b'b': break else: print('not b') while(True): pass
利用定时器的回调函数检测串口是否有数据,在运行uart.readline()==b'a',当底下加上控制舵机代码s1.angle(-90)时即使发送字符b,第二个while中 if has_data也检测不到串口有数据;如果删除s1.angle(-90),发送字符b,if has_data成功检测到数据并跳出循环,这是为什么?
-
@渔阳
一个提问,一个帖子,标题为问题的介绍新的问题,请新发一个帖子。