Advertisement
Guest User

Untitled

a guest
Feb 25th, 2015
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.12 KB | None | 0 0
  1. #include <AccelStepper.h>;
  2. #include <SPI.h>;
  3.  
  4. //pin 9 for step, pin 10 for direction
  5. AccelStepper stepper(AccelStepper::DRIVER,9,10); //
  6.  
  7. const int slaveSelectPin = 11; // the pin which is connected to boosterpacks SCS
  8. const int nSleep = 6; // pin which wakes up the board
  9.  
  10. void setup()
  11. {
  12.   pinMode(nSleep, OUTPUT); // pin for the nSleep which wakes up the board
  13.   pinMode(slaveSelectPin, OUTPUT); // SCS
  14.  
  15.   digitalWrite(nSleep, HIGH); // HIGH wakes up board
  16.  
  17.   SPI.setBitOrder(MSBFIRST);
  18.   SPI.begin();
  19.  
  20.  
  21.   // CTRL Register
  22.   digitalWrite(slaveSelectPin, HIGH); // slave select / SCS pin has to be high in order to write register
  23.   SPI.transfer(0x0f); //
  24.   SPI.transfer(0x19); // 8 microsteps
  25.   delay(15);
  26.   digitalWrite(slaveSelectPin, LOW);
  27.   delay(150);
  28.  
  29.   // TORQUE Register
  30.   digitalWrite(slaveSelectPin, HIGH);
  31.   SPI.transfer(0x10);
  32.   SPI.transfer(0xba);
  33.   delay(15);
  34.   digitalWrite(slaveSelectPin, LOW);
  35.   delay(150);
  36.  
  37.  
  38.   // OFF Register
  39.   digitalWrite(slaveSelectPin, HIGH);
  40.   SPI.transfer(0x20);
  41.   SPI.transfer(0x30);
  42.   delay(15);
  43.   digitalWrite(slaveSelectPin, LOW);
  44.   delay(150);
  45.  
  46.   // BLANK Register
  47.   digitalWrite(slaveSelectPin, HIGH);
  48.   SPI.transfer(0x31);
  49.   SPI.transfer(0x08);
  50.   delay(15);
  51.   digitalWrite(slaveSelectPin, LOW);
  52.   delay(150);
  53.  
  54.  
  55.   // DECAY Register
  56.   digitalWrite(slaveSelectPin, HIGH);
  57.   SPI.transfer(0x43);
  58.   SPI.transfer(0x10);
  59.   delay(15);
  60.   digitalWrite(slaveSelectPin, LOW);
  61.   delay(150);
  62.  
  63.  
  64.   // STALL Register
  65.   digitalWrite(slaveSelectPin, HIGH);
  66.   SPI.transfer(0x5f);
  67.   SPI.transfer(0x40);
  68.   delay(15);
  69.   digitalWrite(slaveSelectPin, LOW);
  70.   delay(150);
  71.  
  72.   // Drive Register
  73.   digitalWrite(slaveSelectPin, HIGH);
  74.   SPI.transfer(0x60);
  75.   SPI.transfer(0x55);
  76.   delay(15);
  77.   digitalWrite(slaveSelectPin, LOW);
  78.   delay(150);
  79.  
  80.   // STATUS Register
  81.   digitalWrite(slaveSelectPin, HIGH);
  82.   SPI.transfer(0x70);
  83.   SPI.transfer(0x80);
  84.   delay(15);
  85.   digitalWrite(slaveSelectPin, LOW);
  86.   delay(150);
  87.  
  88.  stepper.setMaxSpeed(20000);
  89.  stepper.setAcceleration(500);
  90.  stepper.setSpeed(1800);
  91.  
  92. }
  93.  
  94. void loop()
  95. {
  96.  
  97.  
  98. stepper.runSpeed();
  99.  
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement