Created
May 16, 2015 02:23
-
-
Save nguyen-nhan/2d0ec2ffec941723a62c to your computer and use it in GitHub Desktop.
uSpiderbot Code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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