Go Down

### Topic: Stepper Motor Control Question? (Read 1 time)previous topic - next topic

#### encryptor

##### Dec 05, 2012, 03:37 am
In this motor example how does the sketch know what channel or pins to output on?

Code: [Select]
`/* Stepper Motor Control - one revolution This program drives a unipolar or bipolar stepper motor. The motor is attached to digital pins 8 - 11 of the Arduino. The motor should revolve one revolution in one direction, then one revolution in the other direction.    Created 11 Mar. 2007 Modified 30 Nov. 2009 by Tom Igoe */#include <Stepper.h>const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution                                     // for your motor// initialize the stepper library on pins 8 through 11:Stepper myStepper(stepsPerRevolution, 8,9,10,11);            void setup() {  // set the speed at 60 rpm:  myStepper.setSpeed(60);  // initialize the serial port:  Serial.begin(9600);}void loop() {  // step one revolution  in one direction:   Serial.println("clockwise");  myStepper.step(stepsPerRevolution);  delay(500);     // step one revolution in the other direction:  Serial.println("counterclockwise");  myStepper.step(-stepsPerRevolution);  delay(500); }`

#1
##### Dec 05, 2012, 03:38 amLast Edit: Dec 05, 2012, 03:45 am by codlink Reason: 1
Code: [Select]
`// initialize the stepper library on pins 8 through 11:Stepper myStepper(stepsPerRevolution, 8,9,10,11);    `

If you want to know what the pins (8-11) are used for, you would have to look in the library files.

Code: [Select]
`Stepper::Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2, int motor_pin_3, int motor_pin_4)`

Code: [Select]
`  if (this->pin_count == 4) {    switch (thisStep) {      case 0:    // 1010      digitalWrite(motor_pin_1, HIGH);      digitalWrite(motor_pin_2, LOW);      digitalWrite(motor_pin_3, HIGH);      digitalWrite(motor_pin_4, LOW);      break;      case 1:    // 0110      digitalWrite(motor_pin_1, LOW);      digitalWrite(motor_pin_2, HIGH);      digitalWrite(motor_pin_3, HIGH);      digitalWrite(motor_pin_4, LOW);      break;      case 2:    //0101      digitalWrite(motor_pin_1, LOW);      digitalWrite(motor_pin_2, HIGH);      digitalWrite(motor_pin_3, LOW);      digitalWrite(motor_pin_4, HIGH);      break;      case 3:    //1001      digitalWrite(motor_pin_1, HIGH);      digitalWrite(motor_pin_2, LOW);      digitalWrite(motor_pin_3, LOW);      digitalWrite(motor_pin_4, HIGH);      break;    }   }`

#### encryptor

#2
##### Dec 05, 2012, 04:53 am
My board is marked A and B by the screw terminal ports.  Are the screw terminal ports mapped to pins 8,9,10,11?  How does my PCB know to use screw terminal ports or pins?