// 包含加速步进电机库 / AccelStepper-Bibliothek einbinden
#include <AccelStepper.h>
// 定义步进电机对象(默认4线全步进模式,使用引脚2,3,4,5) /
// Stepper-Objekt definieren (Standard: FULL4WIRE, Pins 2,3,4,5)
AccelStepper stepper;
// 定义电位器输入引脚 / Analogeingangspins für Potentiometer definieren
const byte PositionPot = A0; // 位置控制电位器(连接5V和GND) /
// Positionspotentiometer (zwischen 5V und GND)
const byte AccelerationPot = A1; // 加速度控制电位器 / Beschleunigungspotentiometer
void setup() {
// 设置电机最大速度(步/秒) / Maximale Geschwindigkeit setzen (Schritte/s)
stepper.setMaxSpeed(1000);
// 设置默认加速度值 / Standardbeschleunigung setzen
stepper.setAcceleration(35);
}
void loop() {
// 读取位置电位器值(0-1023) / Positionspotentiometer-Wert lesen (0-1023)
int targetPosition = analogRead(PositionPot);
// 读取加速度电位器值并设置为当前加速度 /
// Beschleunigungspotentiometer lesen und aktuelle Beschleunigung setzen
int accelerationValue = analogRead(AccelerationPot);
stepper.setAcceleration(map(accelerationValue, 0, 1023, 10, 100)); // 映射到合理范围
// 设置目标位置并执行运动控制 / Zielposition setzen und Bewegung ausführen
stepper.moveTo(targetPosition);
stepper.run();
}李大猛 步进电机 实验
Position
1023
CW
CCW
0
Acceleration
Fast
Slow