代码如下
import pyb,time from pyb import Pin, Timer p = Pin('P5') #Pin5 是定时器 2 通道 4 tim = Timer(2, freq=50) #配置定时器 4 频率 ch = tim.channel(4, Timer.PWM, pin=p) #配备定时器通道 1 while (True): ch.pulse_width_percent(5) #配置通道占空比 time.sleep(1000) ch.pulse_width_percent(7.5) #配置通道占空比 time.sleep(1000)
mg简单来说,995舵机输入50Hz(周期20ms)的PWM信号,4.8-7.2V供电,一般用5v供电时,当稳定连续输入确定空比时pwm当信号发出时,舵机会将停止在一定的角度,即20ms高电平持续时间对应于一定的角度,具体对应关系如下:
接线如下,橙线连接pwm信号,红线接5v,棕色线接地 openmv定时器对应的引脚如下:
Timer 1 Channel 3 Negative -> P0 Timer 1 Channel 2 Negative -> P1 Timer 1 Channel 1 Negative -> P2 Timer 2 Channel 3 Positive -> P4 Timer 2 Channel 4 Positive -> P5 Timer 2 Channel 1 Positive -> P6 Timer 4 Channel 1 Negative -> P7 Timer 4 Channel 2 Negative -> P8 在 OpenMV M7 上: Timer 4 Channel 3 Positive -> P9 (具体见openmv中文手册)
注意事项: 1.固件必须及时更新。如果程序不能运行,固件很可能不会更新。如果固件版本落后,则连接IDE会有让你更新固件的提示。 2.必须复制并粘贴程序openmv的u盘里的main.py文件里,然后另找电源进行试验,不要用带有舵机的openmv电脑的usb接口供电,直接用电脑usb电源会使电脑的电源吧大部分能量供给舵机,使电脑立即断电。openmv的u盘在openmv当链接到计算机时,会在文件资源管理器的左侧找到它。 3.自己修改程序时,记得要有while(true)语句,否则程序会停止一次,程序停止的现象是openmv如果你真的不知道,白灯闪烁一次while(true)写啥,就写time.sleep(10)即可