[其它]

在Arduino下ESP32C3通过ULN2003模块驱动28BYJ-48步进电机

[复制链接]
858|1
手机看帖
扫描二维码
随时随地手机跟帖
gaoyang9992006|  楼主 | 2023-10-12 13:08 | 显示全部楼层 |阅读模式

电机接线图
1230365277ed141883.png
电机参数如下所示

6815965277d36dd905.png
模块原理图
6590265277e2282a5a.png
6436865277ee8415ea.png
8574765277ef87bd2a.png
7522165277f13d1424.png

驱动时序
7888465277cfbdce2a.png

简单粗暴的来一下
uint32_t delay_time =1;
#define IN1 19
#define IN2 18
#define IN3 12
#define IN4 1

void setup() {
  // put your setup code here, to run once:
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(IN1, LOW );
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, HIGH);
  delay(delay_time);

  digitalWrite(IN1, LOW );
  digitalWrite(IN2, LOW );
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, HIGH);
  delay(delay_time);

  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW );
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, HIGH);
  delay(delay_time);

  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW );
  digitalWrite(IN3, LOW );
  digitalWrite(IN4, HIGH);
  delay(delay_time);

  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, LOW );
  digitalWrite(IN4, HIGH);
  delay(delay_time);

  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, LOW );
  digitalWrite(IN4, LOW );
  delay(delay_time);

  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW );
  delay(delay_time);

  digitalWrite(IN1, LOW );
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW );
  delay(delay_time);

}
经过测试效果很好

使用特权

评论回复

相关帖子

闻则123| | 2023-12-13 16:04 | 显示全部楼层
看看,学习下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:西安公路研究院南京院
简介:主要工作从事监控网络与通信网络设计,以及从事基于嵌入式的通信与控制设备研发。擅长单片机嵌入式系统物联网设备开发,音频功放电路开发。

1875

主题

15569

帖子

197

粉丝