Skip to content

Instantly share code, notes, and snippets.

@nguyen-nhan
Created May 16, 2015 02:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nguyen-nhan/2d0ec2ffec941723a62c to your computer and use it in GitHub Desktop.
Save nguyen-nhan/2d0ec2ffec941723a62c to your computer and use it in GitHub Desktop.
uSpiderbot Code
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40);
Adafruit_PWMServoDriver pwm1 = Adafruit_PWMServoDriver(0x41);
void setup() {
Serial.begin(9600);
pwm.begin();
pwm.setPWMFreq(50);
pwm1.begin();
pwm1.setPWMFreq(50);
}
void loop() {
walkfwd();
}
void stand(){
//Front Left
pwm1.setPWM(0,0,200);
pwm1.setPWM(1,0,300);
pwm1.setPWM(2,0,480);
// Back Left
pwm1.setPWM(3,0,175);
pwm1.setPWM(4,0,300);
pwm1.setPWM(5,0,450);
//Middle Right
pwm1.setPWM(6,0,200);
pwm1.setPWM(7,0,350);
pwm1.setPWM(8,0,125);
//Front Right
pwm1.setPWM(9,0,175);
pwm1.setPWM(10,0,350);
pwm1.setPWM(11,0,150);
//Back Right
pwm1.setPWM(12,0,225);
pwm1.setPWM(13,0,350);
pwm1.setPWM(14,0,150);
//Middle Left
pwm.setPWM(0,0,200);
pwm.setPWM(1,0,300);
pwm.setPWM(2,0,475);
}
void walkfwd(){
tri1();
tri2();
tri3();
tri4();
}
void walkbwd(){
tri4();
tri3();
tri2();
tri1();
}
void tibia(){
//TIBIA 90
//LEFT SIDE
pwm1.setPWM(2,0,450);
pwm1.setPWM(5,0,450);
pwm1.setPWM(8,0,125);
//RIGHT SIDE
pwm1.setPWM(11,0,150);
pwm1.setPWM(14,0,125);
pwm.setPWM(2,0,450);
}
void tri1(){
tibia();
//FEMUR UP
pwm1.setPWM(1,0,350);
pwm1.setPWM(4,0,350);
pwm1.setPWM(7,0,300);
pwm1.setPWM(10,0,350);
pwm1.setPWM(13,0,350);
pwm.setPWM(1,0,300);
delay(500);
}
void tri2(){
tibia();
//HIP FORWARD
pwm1.setPWM(0,0,150);
pwm1.setPWM(3,0,150);
pwm1.setPWM(6,0,275);
pwm1.setPWM(9,0,150);
pwm1.setPWM(12,0,200);
pwm.setPWM(0,0,225);
delay(500);
}
void tri3(){
tibia();
//FEMUR DOWN
pwm1.setPWM(1,0,300);
pwm1.setPWM(4,0,300);
pwm1.setPWM(7,0,350);
pwm1.setPWM(10,0,300);
pwm1.setPWM(13,0,300);
pwm.setPWM(1,0,350);
delay(500);
}
void tri4(){
tibia();
//HIP BACK
pwm1.setPWM(0,0,225);
pwm1.setPWM(3,0,225);
pwm1.setPWM(6,0,200);
pwm1.setPWM(9,0,225);
pwm1.setPWM(12,0,275);
pwm.setPWM(0,0,150);
delay(500);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment