打印
[其它]

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

[复制链接]
11832|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

电机接线图

电机参数如下所示


模块原理图





驱动时序


简单粗暴的来一下
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 | 只看该作者
看看,学习下

使用特权

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

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

1978

主题

16010

帖子

211

粉丝