/使用arduino IDE自带的Stepper.h库文件
#include <Stepper.h>
// 这里设置步进电机旋转一圈是多少步
#define STEPS 100
//设置步进电机的步数和引脚(就是注意点2里面说的驱动板上IN1~IN4连接的四个数字口)。
Stepper stepper(STEPS, 8, 9, 10, 11);
void setup()
{
// 设置电机的转速:每分钟为90步
stepper.setSpeed(180);
// 初始化串口,用于调试输出信息
Serial.begin(9600);
}
void loop()
{
// 顺时针旋转一周
Serial.println("shun");
stepper.step(2048); //4步模式下旋转一周用2048 步。
delay(500);
// 逆时针旋转半周
Serial.println("ni");
stepper.step(-1024); //4步模式下旋转一周用2048 步。
delay(500);
}
步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启 动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望9的高频(电机转速从低速升到高速)。
#include <Servo.h> // 声明调用Servo.h库
Servo myservo; // 创建一个舵机对象
int pos = 0; // 变量pos用来存储舵机位置
void setup() {
myservo.attach(9); // 将引脚9上的舵机与声明的舵机对象连接起来
}
void loop() {
for(pos = 0; pos < 180; pos += 1){ // 舵机从0°转到180°,每次增加1°
myservo.write(pos); // 给舵机写入角度
delay(15); // 延时15ms让舵机转到指定位置
}
for(pos = 180; pos>=1; pos-=1) { // 舵机从180°转回到0°,每次减小1°
myservo.write(pos); // 写角度到舵机
delay(15); // 延时15ms让舵机转到指定位置
}
}