Arduino实验十九 使用ULN2003达林阵列驱动电机风扇

学习任务:

学会使用旋转编码器


关注微信公众号:爱享生活科技 \color{#FF0000}{关注微信公众号:爱享生活科技} 关注微信公众号:爱享生活科技

组件:

  • Arduion主板
  • ULN2003达林阵列驱动
  • 触摸开关
  • 风扇组件
  • 直流电机
  • 杜邦线
  • 面包板
  • USB数据线

下图是风扇组件
在这里插入图片描述
下图是ULN2003达林阵列组件
在这里插入图片描述

实验步骤:

1.建立电路

ArduionULN2003达林阵列组件
9CLK
10DT
GND-
5v+
Arduion触摸开关
GIS
5vVCC
GNDGND

2.烧录代码


const int buttonPin = 2;   
//LED引脚编号
const int ledPin = 13;
const int motorIn1 = 9;
const int motorIn2 = 10;
int stat = 0; 
#define rank1 150
#define rank2 200
#define rank3 250
int buttonState;           
int lastButtonState = LOW; 
long lastDebounceTime = 0; 
long debounceDelay = 50;  

void setup() 
{
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);

  pinMode(motorIn1,OUTPUT);
  pinMode(motorIn2,OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int reading = digitalRead(buttonPin);
  if (reading != lastButtonState)
  {   
    lastDebounceTime = millis();
  } 
  if ((millis() - lastDebounceTime) > debounceDelay) 
  { 
    if (reading != buttonState) 
    {
      buttonState = reading; 
      // 只有当按钮状态为“高”时,才切换LED
      if (buttonState == HIGH)
      {
        digitalWrite(ledPin, HIGH); //turn on the LED
        stat = stat + 1;
        if(stat >= 4)
        {
          stat = 0;
        }
      }
      else
        digitalWrite(ledPin, LOW);
    }
  } 
  switch(stat)
  {
  case 1:
    //当stat=1时,将电机转速设置为rank1=150
    clockwise(rank1);
    break;
  case 2:
    //当stat=2时,将电机转速设置为rank2=200
    clockwise(rank2);
    break;
  case 3:
    //当stat=3时,将电机转速设置为rank3=250
    clockwise(rank3);
    break;
  default:
    clockwise(0);
  }
  lastButtonState = reading;
}
void clockwise(int Speed)//
{
  analogWrite(motorIn1,0);
  analogWrite(motorIn2,Speed);
}

3.实验现象

按下按钮的次数会改变风扇的转速,按下一次会使其快速旋转,按下第四次会使其停止旋转。
在这里插入图片描述

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Arduino可以通过ULN2003驱动步进电机ULN2003是一种高电压、高电流、七通道继电器阵列,可以用来控制步进电机。步进电机是一种电动机,可以将电能转换为机械能,通过控制电流来控制步进电机的旋转角度和速度。在Arduino中,可以使用ULN2003控制步进电机的旋转,从而实现各种应用。 ### 回答2: Arduino是一种非常流行的开源硬件平台,它通过可编程性、易于使用和灵活的设计奠定了越来越广泛的应用基础。而ULN2003步进电机则是一种非常常见的步进电机驱动器,可用于控制步进电机的运动。 在使用ArduinoULN2003步进电机时,需要首先连接两者。Arduino需要与ULN2003电机驱动器连接,以将电路中的信号进行转换并发送到驱动电机的引脚上。同时,步进电机的四段线圈需要连接到ULN2003的输出端(也就是1到4号引脚)上,以便接收来自驱动器的控制信号。 在控制ULN2003步进电机时,通过逐步使电机线圈上的电流增加并改变它所在位置,从而使电机旋转一定角度。这可以通过Arduino中的程序来实现,使程序控制每个步进电机线圈的电流增加和减少的速率、频率和顺序。例如,可以编写代码实现通过旋转电机一定角度来转动机械臂(用于拾取物品)或控制3D打印机CNC操作的移动。 值得注意的是,当使用ULN2003步进电机时,需要仔细阅读手册,以确定驱动器和电机的额定电流和功能,这有助于确保安全和正确的操作。此外,在编写程序时,需要了解与ULN2003电机驱动器连接的引脚、电路和信号,以便正确地编写程序。综上所述,ULN2003步进电机是一种非常有用的电机类型,对于许多机械和电子设计方案都有广泛的应用。 ### 回答3: Arduino是一款基于开源原理的硬件平台,可以用来建造各种互动设备。其中一个常见的用途就是驱动步进电机,而在驱动步进电机时,Arduino可以通过一系列的驱动模块来实现,例如ULN2003ULN2003是一种集成电路,可用于驱动步进电机和其他高电流电源。它包含7个双向可控马达驱动器,每个马达驱动器可以控制步进电机的两个输出线。 ULN2003可以通过GPIO电平控制驱动步进电机,让步进电机转动一定的角度或者运动到某个特定的位置。 使用ULN2003步进电机控制模块可以大大简化控制步进电机的过程,因为它通过驱动电路保证了输出的稳定性和可靠性,使步进电机实现精确的定位和角度控制。在使用ULN2003控制步进电机时,可通过编写简单的程序来指定步进电机的运动方向和角度,从而实现精准的运动。 总之,使用ArduinoULN2003步进电机控制模块可以较为容易地控制步进电机,实现精确的位置和角度控制。无论是在机器人、自动化生产线、机械臂运动、医疗设备控制等领域,都可以得到广泛的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EOPG

你的鼓励是我创造的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值