基于Arduino实现通过模拟管脚值控制直流电机运动(适用于大部分传感器)

文章介绍了如何通过Arduino程序,利用传感器获取信号,根据串口读取的模拟值控制直流电机的运动,并设置延时。当感应器值超过特定阈值时,电机启动并执行一定时间的旋转。
摘要由CSDN通过智能技术生成

在设定管脚处接入对应传感器获取值,再利用串口高低电平差控制直流电机运动(内有延时)

volatile int item;//声明全局变量iteam

void procedure() {
  digitalWrite(4,255);//数字管脚4值设为255
  digitalWrite(5,0);//数字管脚5值设为0
  delay(10000);//延时10000毫秒
  digitalWrite(4,0);//数字管脚4值设为0
  digitalWrite(5,0);//数字管脚5值设为0
}//设定函数 功能:电机旋转一定时间后停止

void setup(){
  item = 0;//定义初始变量iteam为0
  pinMode(A0, INPUT);//定义模拟管脚A0,读取模拟量
  Serial.begin(9600);//定义串口波特率9600
  pinMode(3, OUTPUT);//定义数字管脚3
  pinMode(4, OUTPUT);//定义数字管脚4
  pinMode(5, OUTPUT);//定义数字管脚5
}

void loop(){
  Serial.println(analogRead(A0));//串口打印A0的值,检测传感器范围
  item = analogRead(A0);//将变量定义为A0读取到的值
  if (item >= 400) {
    digitalWrite(3,HIGH);
    item = analogRead(A0);//若读取到的感应器的值超过一定量,则将输出管脚3电平设为高,使LED发光
    if (item >= 450) {
      procedure();

    }//若读取到的感应器的值超过一定量后还在增长,超过设定值,则引用函数,使电机转动一定时间

  }
  if (item < 400) {
    digitalWrite(3,LOW);

  }//若读取到的感应器的值未超过设定值,则灯光关闭

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值