Advertisement
Guest User

Untitled

a guest
Nov 30th, 2015
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. // include needed librarys
  2.  
  3. #include <Adafruit_PWMServoDriver.h>
  4. #include <Wire.h>
  5. // create servo driver (defaults to addr 40)
  6. Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
  7.  
  8. // give meaningful names to each servo channel
  9. int FRleg = 0;
  10. int FLleg = 1;
  11. int BRleg = 2;
  12. int BLleg = 3;
  13. int FRK = 4;
  14. int FLK = 5;
  15. int BRK = 6;
  16. int BLK = 7;
  17.  
  18. float FR_init = 1350;
  19. float FL_init = 1350;
  20. float BR_init = 1440;
  21. float BL_init = 1440;
  22. float FRK_init = 1350;
  23. float FLK_init = 1350;
  24. float BRK_init = 1350;
  25. float BLK_init = 1350;
  26.  
  27. float SERVOFREQ = 50;
  28. float pulseconstant;
  29.  
  30. void setup() {
  31. pulseconstant = (1000000/SERVOFREQ)/4096;
  32.  
  33. pwm.begin();
  34. pwm.setPWMFreq(SERVOFREQ);
  35.  
  36. servoWrite(FRleg, FR_init);
  37. servoWrite(FLleg, FL_init);
  38. servoWrite(BRleg, BR_init);
  39. servoWrite(BLleg, BL_init);
  40. servoWrite(FRK, FRK_init);
  41. servoWrite(FLK, FLK_init);
  42. servoWrite(BRK, BRK_init);
  43. servoWrite(BLK, BLK_init);
  44. }
  45.  
  46. void loop() {
  47. forward1();
  48. back();
  49. forward2();
  50.  
  51. }
  52.  
  53. void servoWrite(uint8_t n, float pulse) {
  54. float pulsetick = pulse/pulseconstant;
  55. pwm.setPWM(n, 0, pulsetick);
  56. }
  57.  
  58. void forward1() {
  59. servoWrite(FRleg, 1600);
  60. servoWrite(BLleg, 1600);
  61. delay(500);
  62. }
  63.  
  64. void back() {
  65. servoWrite(FRleg, 1200);
  66. servoWrite(BLleg, 1200);
  67. delay(500);
  68. }
  69.  
  70. void forward2() {
  71. servoWrite(FLleg, 1600);
  72. servoWrite(BRleg, 1600);
  73. delay(500);
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement