制造工程实践课程例程

Dependencies:   kcsyPCA9685

main.cpp

Committer:
lant19
Date:
2019-10-24
Revision:
0:2e707e50fd73

File content as of revision 0:2e707e50fd73:


#include"PCA9685.h"
#include"mbed.h"



PCA9685 pwm(PB_7,PB_6);//设置SDA与SCL连接的引脚
 
void setServoPulse(uint8_t n, float pulse) {    //n为通道,pulse为下降沿位置
    pwm.setPWM(n, 0, pulse);//如果希望调整上升沿位置,可在main函数中可直接使用pwm.setPWM函数
}
 
void initServoDriver() {//整体初始化
    pwm.begin();
    pwm.setPrescale(121);     // 设置20ms用于通用伺服
    pwm.frequencyI2C(400000); //400kHz 快速I2C通信
}
 
int main() {

    while(1){
    initServoDriver();
    setServoPulse(0, 308); //运动试验
    setServoPulse(1, 495); //运动试验    
    wait(1);
    setServoPulse(0, 135); 
    setServoPulse(1, 308); 
    wait(1);
    setServoPulse(1, 135); 
    setServoPulse(0, 509); 
    wait(1);           
    for (int mov = 495; mov > 135; mov--){
    setServoPulse(1, mov);
    wait(0.003);}
    for (int mov = 115; mov < 509; mov++){
    setServoPulse(0, mov);
    wait(0.003);    
    }           
    }
}