用操纵杆驱动 28BYJ-48 步进电机控制
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
关于这个项目
硬件要求:
- Arduino UNO 板
- 28BYJ-48 步进电机(带 ULN2003A 驱动板)
- 操纵杆
- 5V 电源
- 面包板
- 跳线
用Arduino和摇杆电路控制步进电机:项目电路原理图如下(所有接地端子都连接在一起)。
下图显示了fritzing电路:
步进电机连接到 ULN2003A 板,由外部 5V 电源供电。此板的控制线(IN1、IN2、IN3 和IN4)与Arduino 的连接如下:IN1 至Arduino 引脚11IN2 至Arduino 引脚10IN3 至Arduino 引脚9IN4 至Arduino 引脚8
摇杆板有 5 个引脚:GND、+5V、VRX、VRY 和 SW 其中:GND 和 +5V 是电源引脚 VRX 是 X 轴电位器输出VRY 是 Y 轴电位器输出SW 是按钮端子(另一个端子接GND。X轴电位器(VRX)的输出接Arduino模拟引脚A0,也可以使用Y轴电位器输出(VRY)。本例中没有使用开关引脚(SW)。使用 X 轴和 Y 轴电位器,我们可以独立控制两个步进电机。
“所以 伙计们 如果 你 喜欢 项目所以不要忘记关注和喜欢它"
代码
- 代码:
代码:C/C++
请确保添加包含在此代码中的所有库//此项目由 BEASTIDREES62 https://id.arduino.cc/?code=MTxqeHweG6vL2cur&state=amxEcTB2bnNiYjluTUxmRExWaWZnOXIzUk1BLWRqZTZYUGt%DArduino%3ODt stepper motor library#include// 定义每转步数#define STEPS 32 // 定义步进电机控制引脚#define IN1 11#define IN2 10#define IN3 9#define IN4 8 // 初始化步进库Stepper步进器(步骤,IN4,IN2,IN3,IN1); // 摇杆电位器输出连接到 Arduino A0#define 摇杆 A0 void setup(){ } void loop(){ // 从电位器读取模拟值 int val =analogRead(joystick); // 如果操纵杆在中间 ===> 停止电机 if( (val> 500) &&(val <523) ) { digitalWrite(IN1, LOW);数字写入(IN2,低);数字写入(IN3,低);数字写入(IN4,低); } else { // 沿第一个方向移动电机 while (val>=523) { // 在 5 到 500 rpm 之间映射速度 int speed_ =map(val, 523, 1023, 5, 500); // 设置电机速度 stepper.setSpeed(speed_); // 移动电机(1 步) stepper.step(1); val =模拟读取(操纵杆); } // 向另一个方向移动电机 while (val <=500) { // 映射 5 到 500 rpm 之间的速度 int speed_ =map(val, 500, 0, 5, 500); // 设置电机速度 stepper.setSpeed(speed_); // 移动电机(1 步) stepper.step(-1); val =模拟读取(操纵杆); } } }
示意图
制造工艺