跳转至

pca9685 - pca9685 16路PWM驱动舵机

示例

--注意:因使用了sys.wait()所有api需要在协程中使用
-- 用法实例
PROJECT = "pca9685"
VERSION = "1.0.0"


sys = require("sys")
pca9685=require("pca9685")

local i2c_id = 1
sys.taskInit(
    function()
        i2c.setup(i2c_id,i2c.SLOW)
        sys.wait(1000)
        pca9685.init(i2c_id,60)
        sys.wait(1000)
        local i=0
        while true do
            pca9685.setpwm(i2c_id,0,i)
            if i >= 100 then
                i=0
            end
            i=i+10
            sys.wait(2000)
        end
    end
)

sys.run()

pca9685.init(i2cId,hz)

pca9685 初始化

参数

传入值类型 解释
int i2cid 使用的i2c id, 或者是软件i2c的实例
int hz pca9685的输出频率

返回值

返回值类型 解释
成功返回true 失败返回nil

例子


pca9685.setfreq(i2cId,freq)

pca9685 设置频率

参数

传入值类型 解释
int i2cid 使用的i2c id, 或者是软件i2c的实例
int freq pca9685的输出频率,范围为24HZ~1526HZ

返回值

返回值类型 解释
成功返回true 失败返回nil

例子


pca9685.setpwm(i2cId,num, duty_cycle)

pca9685 设置PWM占空比

参数

传入值类型 解释
int i2cid 使用的i2c id, 或者是软件i2c的实例
int num 通道号
int duty_cycle 占空比 0~100

返回值

返回值类型 解释
成功返回true 失败返回nil

例子