#include <AccelStepper.h>
// Define pins for Nucleo C031C6
#define STEP_PIN 2 // D2
#define DIR_PIN 3 // D3
// Define the interface type (1 = Driver like A4988)
#define motorInterfaceType 1
// Create instance of the stepper
AccelStepper stepper(motorInterfaceType, STEP_PIN, DIR_PIN);
void setup() {
Serial.begin(115200);
Serial.println("STM32 Stepper Initialized...");
// Set maximum speed and acceleration
stepper.setMaxSpeed(1000); // Steps per second
stepper.setAcceleration(500); // Steps per second squared
}
void loop() {
// Move 400 steps (2 full rotations)
if (stepper.distanceToGo() == 0) {
delay(1000);
stepper.moveTo(-stepper.currentPosition() + 400);
Serial.println("Moving...");
}
stepper.run(); // Must be called frequently
}
Loading
st-nucleo-c031c6
st-nucleo-c031c6