ARDUINO WITH PCA9685
In this tutorial you will get to know that how you can control as many servo motors as much you want with ARDUINO AND PCA9685.
Material requirements are given below :-
- PCA9685 SERVO DRIVER
- ARDUINO
- SERVO MOTORS
- BRAEDBOARD
ARDUINO
GND = GND of PCA9685
5V = VCC of PCA9685
A4 = SDA of PCA9685
A5 = SCL of PCA9685
CONNECT THE SERVO MOTORS TO THE POINTS GIVEN ON THE BOARD[PCA9685]
PCA9685 REQUIRES EXTERNAL CURRENT ALSO TO MAKE SERVO MOTORS WORK SO YOU NEED TO GIVE IT POWER THROUGH V+ AND GND.
CODE OF THE PROJECT :-
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
#define SERVOMIN 125
#define SERVOMAX 575
uint8_t servonum = 0;
void setup() {
Serial.begin(9600);
Serial.println("16 channel Servo Check!");
pwm.begin();
pwm.setPWMFreq(60);
void loop() {
pwm.setPWM(0, 0, 255 );
pwm.setPWM(1, 0, 255 );
pwm.setPWM(2, 0, 255 );
pwm.setPWM(3, 0, 255 );
pwm.setPWM(4, 0, 255 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 255 );
pwm.setPWM(2, 0, 255 );
pwm.setPWM(3, 0, 255 );
pwm.setPWM(4, 0, 255 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 255 );
pwm.setPWM(3, 0, 255 );
pwm.setPWM(4, 0, 255 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 575 );
pwm.setPWM(3, 0, 255 );
pwm.setPWM(4, 0, 255 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 575 );
pwm.setPWM(3, 0, 575 );
pwm.setPWM(4, 0, 255 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 575 );
pwm.setPWM(3, 0, 575 );
pwm.setPWM(4, 0, 575 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 575 );
pwm.setPWM(3, 0, 575 );
pwm.setPWM(4, 0, 575 );
pwm.setPWM(5, 0, 575 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 575 );
pwm.setPWM(3, 0, 575 );
pwm.setPWM(4, 0, 575 );
pwm.setPWM(5, 0, 575 );
pwm.setPWM(6, 0, 575 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 575 );
pwm.setPWM(3, 0, 575 );
pwm.setPWM(4, 0, 575 );
pwm.setPWM(5, 0, 575 );
pwm.setPWM(6, 0, 575 );
pwm.setPWM(7, 0, 575 );
delay(500);
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 575 );
pwm.setPWM(3, 0, 575 );
pwm.setPWM(4, 0, 575 );
pwm.setPWM(5, 0, 575 );
pwm.setPWM(6, 0, 575 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 575 );
pwm.setPWM(3, 0, 575 );
pwm.setPWM(4, 0, 575 );
pwm.setPWM(5, 0, 575 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 575 );
pwm.setPWM(3, 0, 575 );
pwm.setPWM(4, 0, 575 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 575 );
pwm.setPWM(3, 0, 575 );
pwm.setPWM(4, 0, 255 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 575 );
pwm.setPWM(3, 0, 255 );
pwm.setPWM(4, 0, 255 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 575 );
pwm.setPWM(2, 0, 255 );
pwm.setPWM(3, 0, 255 );
pwm.setPWM(4, 0, 255 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 575 );
pwm.setPWM(1, 0, 255 );
pwm.setPWM(2, 0, 255 );
pwm.setPWM(3, 0, 255 );
pwm.setPWM(4, 0, 255 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
delay(500);
pwm.setPWM(0, 0, 255);
pwm.setPWM(1, 0, 255 );
pwm.setPWM(2, 0, 255 );
pwm.setPWM(3, 0, 255 );
pwm.setPWM(4, 0, 255 );
pwm.setPWM(5, 0, 255 );
pwm.setPWM(6, 0, 255 );
pwm.setPWM(7, 0, 255 );
}