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
JUMPER WIRES


CONNECTIONS
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 );



}
                                                                        

Popular posts from this blog

ARDUINO WITH KEYPAD