加载中…
个人资料
Rebecca
Rebecca
  • 博客等级:
  • 博客积分:0
  • 博客访问:558,232
  • 关注人气:1,176
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

Arduino控制红外寻线传感器

(2009-03-11 20:35:00)
标签:

arduino

红外寻线传感器

直流电机

分类: Arduino

    上次同直流电机驱动板一起邮寄回来的东东中,还有机器人基地Mini Arduino红外寻线传感器,今天就来控制一下红外寻线传感器。寻线传感器是根据反射式光电传感器原理开发的机器人配件,可以帮助你的机器人进行黑线或白线的跟踪,可以检测到白底中的黑线,也可以检测到黑底中的白线。这款寻线传感器是黑线低电平有效,白线高电平有效。

Arduino控制红外寻线传感器

    既然是寻线传感器,那我就让它来控制一个电机的启动和制动吧,具体要求是当传感器检测到黑线就让电机开始转动。要准备的主要材料有:Arduino、寻线传感器、直流电机驱动板、直流电机、轮子、电池、导线若干。我就将直流电机的PWM信号输出口接Arduino上的11接口,I1、I2分别接Arduino数字接口8和9接口,寻线传感器的TS信号接口就接到Arduino的7数字接口上,+5V符号接口连接Arduino上的+5V输出、GND符号接口与Arduino板共地,按下图连接好电路。

Arduino控制红外寻线传感器

Arduino控制红外寻线传感器

Arduino控制红外寻线传感器

连接好电路,就可以来编写程序了,程序如下:

int linepin=7;//定义信号接口
int speedpin=11;//定义EA(PWM调速)接口
int pin1=8;//定义I1接口
int pin2=9;//定义I2接口
int val;//定义变量
void setup()
{
  pinMode(pin1,OUTPUT);//定义该接口为接口为输出接口
  pinMode(pin2,OUTPUT);
  pinMode(speedpin,OUTPUT);
  pinMode(linepin,INPUT);
}
void loop()
{
  val=digitalRead(linepin);//读出信号接口的值
  if(val==HIGH)
{//如果信号为高电平,电机制动
  digitalWrite(pin1,HIGH);
  digitalWrite(pin2,HIGH);
}
  else
  {//如果信号为低电平,电机启动
  analogWrite(speedpin,100);//输入模拟值进行设定速度
  digitalWrite(pin1,LOW);//使直流电机顺时针转
  digitalWrite(pin2,HIGH);
  }
}

下载完程序就来测试一下吧Arduino控制红外寻线传感器

 

       

 

        

 

 

0

阅读 收藏 转载 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有