arduion-step motor 28byj-48步进电机

转载出处:https://segmentfault.com/a/1190000008018620
作者:developerworks

驱动板说明:

在这里插入图片描述

接线:

把步进电机的IN1, IN2, IN3, IN4分别连接到 Arduino 的数字引脚8,9,10,11上. 电机的电源正极连接到 Arduino 的5V输出引脚上. 负极连接到 Arduino 的地线引脚. 如图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
程序代码:

#include<Stepper.h>

// 参考文件
/*
    28BYJ-48.pdf

    该参数根据电机每一转的步数来修改
*/
const int stepsPerRevolution = 100;

// 初始化步进电机要使用的Arduino的引脚编号
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup()
{
  // 设置转速,单位r/min
  myStepper.setSpeed(90);

  // 初始化串口
  Serial.begin(9600);
}

void loop()
{
  // 顺时针一次旋转
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  //  delay(500);
  // 逆时针一次旋转
  //  Serial.println("counter clockwise");
  //  myStepper.step(-stepsPerRevolution);
  //  delay(500);
}
### 使用 ESP32-S3-N16R8 控制 28BYJ-48 步进电机 #### 准备工作 为了使 ESP32-S3-N16R8 开发板能够成功驱动 28BYJ-48步进电机,需先完成环境配置并确认硬件连接无误。 确保已按照说明完成了开发环境搭建,并选择了正确的开发板型号[^1]。这一步骤对于后续代码上传至关重要。 #### 连接电路图解 ESP32-S3-N16R8 的 GPIO 资源丰富,可以灵活分配用于控制步进电机的引脚。通常情况下,建议如下表所示进行连线: | Stepper Motor Pin | ESP32-S3 GPIO | |-------------------|---------------| | IN1 | GPIO 17 | | IN2 | GPIO 16 | | IN3 | GPIO 4 | | IN4 | GPIO 5 | | IN5 (Power Supply)| VCC | 注意:IN5 接入电源正极,其他四根线分别接入对应的 GPIO 引脚;同时确保共阴极或共阳极的选择与实际使用的电机相匹配。 #### 示例代码实现 下面提供一段基于 Arduino IDE 编写的简单程序来演示如何通过 ESP32-S3 驱动 28BYJ-48 步进电机转动指定角度。 ```cpp #include <Stepper.h> const int stepsPerRevolution = 2048; // 改变此数值以适应具体电机每圈所需脉冲数 Stepper myStepper(stepsPerRevolution, 17, 16, 4, 5); void setup() { Serial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); // 设置内置LED作为状态指示灯 // 初始化步进器对象 myStepper.setSpeed(60); // 设定速度为60 RPMs } void loop() { digitalWrite(LED_BUILTIN, HIGH); // 打开LED表示正在运行 delay(200); // 向前旋转半圈 Serial.println("Clockwise"); myStepper.step(stepsPerRevolution / 2); digitalWrite(LED_BUILTIN, LOW); // 关闭LED等待一段时间再继续 delay(1000); // 返回原位逆时针方向移动 Serial.println("Counter-Clockwise"); myStepper.step(-stepsPerRevolution / 2); delay(1000); } ``` 上述代码实现了让步进电机顺时针和逆时针交替运转的功能,在每次动作之间会有短暂停顿以便观察效果。可根据需求调整 `setSpeed()` 方法中的参数以及循环内的延时时间。 #### 注意事项 由于不同品牌、批次间的差异,部分 28BYJ-48 步进电机可能具有不同的步距角(即每转一圈所需的脉冲数量),因此需要根据实际情况修改变量 `stepsPerRevolution` 的值以获得预期的工作表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值