Sunday, November 28, 2021
HomeBusinessmake a 17 DOF robotic? - Robu.in | Indian On-line Retailer |...

make a 17 DOF robotic? – Robu.in | Indian On-line Retailer | RC Pastime


On this weblog, we will probably be studying methods to construct a 17 DOF robotic with its connection diagram. ensure to learn the weblog until the tip to know-how. The output of the bot will look one thing like this.

Elements used

  1. 17 DOF robotic chassis:- This chassis was specifically designed for the bot.The chassis comes with servomg995 motors.You should use these motors however they’re a little bit jittery thus,I used orange 15kg servo motors.

2. Orange Servo motors:-The servo wanted for management of the bot needs to be exact and heavy-duty.

3. PCA9685 servo motor controller:- I used to be restricted by the variety of PWM pins on the nano board, so I added a pca9685 servo motor controller to connect as much as 16 servo motors. This servo controller communicates with the nano board with the assistance of the I2C protocol. The seventeenth motor was given sign by one of many Arduino pins.

4. Arduino nano:-This was the central mind of the bot from the place the indicators got. Initially, I considered giving energy to servo motors from Arduino by attaching lithium-ion batteries to the Vin terminal(Dumb me!!). however later, I created a separate railing for the servos. I used to be scared that the servos won’t be able to deal with the voltage, however they did.

5. Orange li-ion battery:-This was our major energy supply. You can even use a lipo battery. each works as charms.

Chassis meeting

The chassis meeting might be accomplished utilizing the handbook which might be discovered on our web site.

Connection diagram

Be aware that the ability to the seventeenth motor was given by connecting Vcc and Gnd on to the servo. You may obtain that by soldering. the sign was taken from pin D3 of Arduino.

Code

Set up the Arduino IDE and obtain the Adafruit PWM servo driver library from the handle library choice beneath Sketch>Embrace library.


#embody<Servo.h>
#embody <Wire.h>
#embody <Adafruit_PWMServoDriver.h>

Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();

Servo Myservo;

int pos0 = 102;
int pos180 = 512;
 
int LEFTLEG1 = 0;
int LEFTLEG2 = 1;
int LEFTLEG3 = 2;
int LEFTLEG4 = 3;
int LEFTLEG5 = 4;

int RIGHTLEG1 = 5;
int RIGHTLEG2 = 6;
int RIGHTLEG3 = 7;
int RIGHTLEG4 = 8;
int RIGHTLEG5 = 9;

int LEFTHAND1 = 12;
int LEFTHAND2 = 11;
int LEFTHAND3 = 10;
int RIGHTHAND1 = 15;
int RIGHTHAND2 = 14;
int RIGHTHAND3 = 13;

int HEAD = 16;



void setup()
{
  Serial.start(9600);
  Serial.println("16 channel Servo take a look at!");
  pwm.start();
  pwm.setPWMFreq(50);
  Myservo.connect(3);

  delay(3000);
  initial_position();
  delay(3000);
}


void setServo(int servo, int angle) {
  int responsibility;
  responsibility = map(angle, 0, 180, pos0, pos180);
  pwm.setPWM(servo, 0, responsibility);
}

void initial_position() {
  setServo(RIGHTLEG4, 90);
  setServo(RIGHTLEG5, 90);
  setServo(LEFTHAND1, 90);
  setServo(LEFTHAND2, 90);
  setServo(LEFTHAND3, 90);
  setServo(RIGHTHAND1, 90);
  setServo(RIGHTHAND2, 90);
  setServo(RIGHTHAND3, 90);

  setServo(LEFTLEG1, 90);
  setServo(LEFTLEG2, 90);
  setServo(LEFTLEG3, 90);
  setServo(LEFTLEG4, 90);
  setServo(LEFTLEG5, 90);
  setServo(RIGHTLEG1, 90);
  setServo(RIGHTLEG2, 90);
  setServo(RIGHTLEG3, 90);
}

void stroll() {
  for (int i = 0; i <= 20; i++) {

    setServo(LEFTLEG3, 90 + i);
    setServo(RIGHTLEG4, 90 + i);



    setServo(LEFTLEG4, 90 + i);
    setServo(RIGHTLEG3, 90 + i);

  }
  delay(1000);
  for (int i = 0; i <= 25; i++) {
    setServo(LEFTLEG3, 90 - i);
    setServo(RIGHTLEG4, 110 - i);


    setServo(LEFTLEG4, 90 - i);
    setServo(RIGHTLEG3, 110 - i);


  }

  delay(1000);


}


void pushups() {

  setServo(RIGHTHAND1, 180);
  setServo(LEFTHAND1, 0);
  delay(500);
  setServo(RIGHTHAND3, 180);
  setServo(LEFTHAND3, 0);
  delay(500);

  setServo(LEFTLEG2, 180);
  setServo(RIGHTLEG2, 0);
  for (int i = 0; i <= 90; i++) {
    setServo(RIGHTHAND3, 180 - i);
    setServo(LEFTHAND3, 0 + i);
    delay(50);


  }


}
void squats() {
  for (int i = 0; i <= 40; i++) {
    setServo(RIGHTLEG3, 90 - i);
    setServo(RIGHTLEG4, 90 - i);
    setServo(LEFTLEG3, 90 + i);
    setServo(LEFTLEG4, 90 + i);
 
    delay(50);
}
for (int i = 0; i <= 40; i++) {
    setServo(RIGHTLEG3, 50+i);
    setServo(RIGHTLEG4, 50+i);
    setServo(LEFTLEG3, 130-i);
    setServo(LEFTLEG4, 130-i);
    
    delay(50);
 
}
}


void loop() {

  pushups();
  squats();
  stroll();
 
 



}

Thanks for studying the weblog until the tip. You may watch the entire video on our youtube channel.

Keep secure. Keep tuned.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments