打印
[其它]

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

[复制链接]
11447|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 | 只看该作者
看看,学习下

使用特权

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

本版积分规则

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

1968

主题

15963

帖子

208

粉丝