arduino测速-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4314|回复: 4

[已解决] arduino测速

[复制链接]
发表于 2014-5-28 21:51 | 显示全部楼层 |阅读模式
本帖最后由 jingsen521 于 2014-6-18 20:45 编辑

arduino寻线传感器测速接1602显示,哪位大神能帮我改一下程序,使得下面的程序的输出值为速度,而不是转过的圈数(寻线传感器遇白色计数一次)。我的问题关键在于不知道如何使用arduino定时器定时。白条旋转半径为3cm,及运行一周行程2*3.14*3cm
int pin1=8;//定义I1接口
int pin2=9;//定义I2接口
int speedpin=11;//定义EA接口
int redpin=7;//定义红外接口
int m=0;
int i=0;
int val;
void setup()
{
  pinMode(redpin,INPUT);//定义该红外接口为输入接口
  pinMode(pin1,OUTPUT);//定义该接口为输出接口
  pinMode(pin2,OUTPUT);
  pinMode(speedpin,OUTPUT);//定义该调速接口为输出接口
  Serial.begin(9600);
}
void loop()
{
  val=digitalRead(redpin);//读取红外接口的电平
  if(val==HIGH)
   {//如果红外接口为高电平(遇白色)m自加一次
      m++;
   }
     if(val==LOW&&m>=1)
  {//只有当红外接口在读出高电平后再读出低电平时,i加一,记为一次
      i+=1;
      m=0;//m归零,用于下次检测白线
      Serial.println(i);//输出转速的值
  }
  if (i==1)
  {//当i=1时,电机开始转动
     digitalWrite(speedpin,HIGH);//使电机全速运转
     digitalWrite(pin1,HIGH);//使直流电机转动
     digitalWrite(pin2,LOW);
  }
}

发表于 2014-5-29 12:14 来自手机 | 显示全部楼层

回帖奖励 +2 金币

此帖仅作者可见
发表于 2014-5-29 12:35 来自手机 | 显示全部楼层
此帖仅作者可见
发表于 2014-5-29 12:37 来自手机 | 显示全部楼层
此帖仅作者可见
发表于 2014-6-3 17:32 | 显示全部楼层
此帖仅作者可见
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-5 10:07 , Processed in 0.075327 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表