PCA9685 16ch Servo Motor
PCA9685에 연결된 16개의 서보를 하나씩 움직인다.
pca9685.ino |
---|
| #include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver board1 = Adafruit_PWMServoDriver(0x40);
#define SERVOMIN 125
#define SERVOMAX 625
void setup() {
Serial.begin(115200);
Serial.println("Servo test!");
board1.begin();
board1.setPWMFreq(60);
}
void loop() {
for(int i=0; i<8; i++) {
board1.setPWM(i, 0, angleToPulse(0) );
}
delay(1000);
for( int angle =0; angle<181; angle +=10) {
for(int i=0; i<8; i++) {
board1.setPWM(i, 0, angleToPulse(angle) );
}
}
delay(100);
}
int angleToPulse(int ang) {
int pulse = map(ang,0, 180, SERVOMIN,SERVOMAX);
Serial.print("Angle: ");Serial.print(ang);
Serial.print(" pulse: ");Serial.println(pulse);
return pulse;
}
|