Trích dẫn Gửi bởi minhdt_cdt10 Xem bài viết
trên connection P1 bác dùng 3 chân:
chân số 2 bác cấp xung cho motor quay
chân số 3 bác cấp tín hiệu 1 hoặc 0 cho motor đảo chiều.
chân số 4 bác cấp 5V từ Arduino.

Bác có thể dùng thử code blink led để test motor quay cũng được ạ. Đối với code Blink led thì bác cắm chân số 2 vào chân số 13 của arduino và chân số 4 vào 5V của arduino nha bác.:-)
Mình test chạy rồi, code của anh Tây nhưng chỉ nhanh lắm thì được 1 step/1milisecond => 1 giây được có 1000 steps (2.5 vòng/s) chậm thế, sét xuống dưới 1milisecond thì đơ.
Nguồn 24v-20A mua của tiệm bảng hiệu LED.
Code ông Tây như này: (25miliseconds/step)
Mã:
// testing a stepper motor with a Pololu A4988 driver board or equivalent
// on an Uno the onboard led will flash with each step
// this version uses delay() to manage timing

byte directionPin = 9;
byte stepPin = 8;
int numberOfSteps = 100;
byte ledPin = 13;
int pulseWidthMicros = 20;  // microseconds
int millisbetweenSteps = 25; // milliseconds


void setup() { 

  Serial.begin(9600);
  Serial.println("Starting StepperTest");
  digitalWrite(ledPin, LOW);
  
  delay(2000);

  pinMode(directionPin, OUTPUT);
  pinMode(stepPin, OUTPUT);
  pinMode(ledPin, OUTPUT);
  
 
  digitalWrite(directionPin, HIGH);
  for(int n = 0; n < numberOfSteps; n++) {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(pulseWidthMicros); // this line is probably unnecessary
    digitalWrite(stepPin, LOW);
    
    delay(millisbetweenSteps);
    
    digitalWrite(ledPin, !digitalRead(ledPin));
  }
  
  delay(3000);
  

  digitalWrite(directionPin, LOW);
  for(int n = 0; n < numberOfSteps; n++) {
    digitalWrite(stepPin, HIGH);
    // delayMicroseconds(pulseWidthMicros); // probably not needed
    digitalWrite(stepPin, LOW);
    
    delay(millisbetweenSteps);
    
    digitalWrite(ledPin, !digitalRead(ledPin));
  }
}

void loop() { 
}