FISHENDER 发表于 2018-4-9 17:18:10

arduino 无法控制pca9685输出pwm波驱动舵机,请高手看看哪个步骤出了问题?

本帖最后由 FISHENDER 于 2018-4-9 17:19 编辑

舵机一点反应都没有


代码为:

#include <Wire.h>
#include "Adafruit_PWMServoDriver.h"

// called this way, it uses the default address 0x40
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40);

// our servo # counter
uint8_t servonum = 0;

void setup() {
Serial.begin(9600);
Serial.println("16 channel Servo test!");

pwm.begin();
pwm.setPWMFreq(50);// Analog servos run at ~60 Hz updates
}

// you can use this function if you'd like to set the pulse length in seconds
// e.g. setServoPulse(0, 0.001) is a ~1 millisecond pulse width. its not precise!
void setServoPulse(uint8_t n, double pulse) {
double pulselength;

pulselength = 1000000;   // 1,000,000 us per second
pulselength /= 50;   // 60 Hz
Serial.print(pulselength); Serial.println(" us per period");
pulselength /= 4096;// 12 bits of resolution
Serial.print(pulselength); Serial.println(" us per bit");
pulse *= 1000;
pulse /= pulselength;
Serial.println(pulse);
pwm.setPWM(n, 0, pulse);
}

void writeServo(uint8_t n,uint8_t angle){
double pulse;
pulse=0.5+angle/90.0;
setServoPulse(n,pulse);
}


void loop() {
    writeServo(0,90);
    writeServo(2,80);
}

通幽境 发表于 2018-4-9 22:31:51

mega2560的I2C不在A4,A5

FISHENDER 发表于 2018-4-11 14:38:34

通幽境 发表于 2018-4-9 22:31
mega2560的I2C不在A4,A5

谢谢点播,试了试21 20 也不行呢,我的代码有问题吗

通幽境 发表于 2018-4-12 16:19:15

FISHENDER 发表于 2018-4-11 14:38
谢谢点播,试了试21 20 也不行呢,我的代码有问题吗

上拉了吗?

epigone 发表于 2018-4-15 11:07:38

围观特来学习
页: [1]
查看完整版本: arduino 无法控制pca9685输出pwm波驱动舵机,请高手看看哪个步骤出了问题?