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.实验现象

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

EOPG

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

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

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

打赏作者

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

抵扣说明:

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

余额充值