>>> 星瞳科技|OpenMV中国官方网站 <<<

>>> 星瞳科技店铺地址|OpenMV中国官方代理,全球九大代理商之一 <<<

>>> OpenMV3 Cam M7 官方高配版上市啦~戳我戳我戳我~ <<<

>>> 星瞳科技-OpenMV中文教程网 <<<

本节介绍一下如何使用IIC控制舵机

用的舵机驱动模块是这个:

他的主控芯片是pca9685,
功能主要是用IIC总线控制16个通道的PWM输出,用PWM信号就可以控制舵机啦。

现在来看一下OpenMV如何与这个模块通信。

OpenMV代码下载:
http://pan.baidu.com/s/1gf4US3T

这个代码是pca9685的库,封装了IIC通信的例子,大大简化了使用。
下载这个文件夹,他是在micropython论坛上找到的,我改了一点点,让他完全可以在OpenMV上运行。


当我们把OpenMV插入电脑后,会弹出一个U盘:

然后我们把OpenMV-PCA9685文件夹内的文件全都复制到这个U盘中,结果是:


pca9685_example.py这个文件是示例,我们可以查看他的内容:

from pyb import I2C
import time
from servoctrl import ServoCtrl

i2c = I2C(2, I2C.MASTER) # The i2c bus must always be 2.    
servos = ServoCtrl(i2c)

servos.position(0,180)
time.sleep(1000)
servos.position(0,0)
time.sleep(1000)
servos.position(0,180)
time.sleep(1000)
servos.position(0,0)

很简单,就是用position方法,第一个参数是舵机的编号,从0到15,一共16个舵机,第二个参数是位置,从0到180°。
我们可以把这个内容复制到IDE里,运行一下,看一下效果。