“(SKU:RB-02S003)Mini红外避障传感器”的版本间的差异

来自ALSROBOT WiKi
跳转至: 导航搜索
使用方法及例子程序
视频演示
 
(未显示1个用户的5个中间版本)
第1行: 第1行:
 
<br/>
 
<br/>
 
[[文件:Mini红外避障传感器01.jpg|400px|有框|右]]
 
[[文件:Mini红外避障传感器01.jpg|400px|有框|右]]
==概述==
+
==产品概述==
 
Mini IR Dectector是机器人基地专为轮式机器人设计的一款距离可调式避障传感器。此传感器对环境光线适应能力强、精度高,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,此时指示灯亮起,经过电路处理后,信号输出接口输出数字信号,可通过电位器旋钮调节检测距离,有效距离3~35cm,工作电压为3.3V-5V,由于工作电压范围宽泛,在电源电压波动比较大的情况下仍能稳定工作,适合多种单片机、Arduino控制器、BS2控制器使用,安装到机器人上即可感测周围环境的变化。<br/>
 
Mini IR Dectector是机器人基地专为轮式机器人设计的一款距离可调式避障传感器。此传感器对环境光线适应能力强、精度高,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,此时指示灯亮起,经过电路处理后,信号输出接口输出数字信号,可通过电位器旋钮调节检测距离,有效距离3~35cm,工作电压为3.3V-5V,由于工作电压范围宽泛,在电源电压波动比较大的情况下仍能稳定工作,适合多种单片机、Arduino控制器、BS2控制器使用,安装到机器人上即可感测周围环境的变化。<br/>
 
==规格参数==
 
==规格参数==
第15行: 第15行:
 
10.模块重量:9g<br/>
 
10.模块重量:9g<br/>
  
==使用方法及例子程序==
+
==接口定义==
===引脚示意图===
+
 
*EN(传感器使能):置高,传感器不工作;置低,传感器工作。<br/>
 
*EN(传感器使能):置高,传感器不工作;置低,传感器工作。<br/>
 
*S(反射信号输出):当EN置低的情况下,如果没有检测到物体,则S端口保持高电平;若检测到物体,则S端口置低。<br/>
 
*S(反射信号输出):当EN置低的情况下,如果没有检测到物体,则S端口保持高电平;若检测到物体,则S端口置低。<br/>
第27行: 第26行:
 
#频率调节电位器:用于产生38KHz频率的方波。正常情况下,在出厂前将阻值调好,无需用户调节。但由于外界环境的不同或振动,出现了接收不到反射信号的情况,这时用户可以对电位器2进行微调,直到有障碍物时能收到信号,指示灯(LED)点亮即可。<br/>
 
#频率调节电位器:用于产生38KHz频率的方波。正常情况下,在出厂前将阻值调好,无需用户调节。但由于外界环境的不同或振动,出现了接收不到反射信号的情况,这时用户可以对电位器2进行微调,直到有障碍物时能收到信号,指示灯(LED)点亮即可。<br/>
  
===使用方法===
+
==使用方法==
实验接线图<br/>
+
===实验接线图===
[[文件:bzjx123.jpg|700px|有框|居中]]
+
[[文件:hongwaibizhangjiexian.jpg|700px|有框|居中]]
步骤一:接线。<br/>
+
接线说明:<br/>
 
连接前首先根据需要确定是否需要控制传感器的使能端口。如果不选择控制使能端口,则将跳线帽插在双排针上,这时只需用排线连接S、+、-三个端口,注意正负极电源不要接反。如果选择控制传感器使能,则要拔下跳线帽,放到可以找到的地方,这时需用排线连接EN、S、+、- 四个端口。EN和S端口一般连接到控制器的I/O口。+、- 接到电源的Vcc和GND。<br/>
 
连接前首先根据需要确定是否需要控制传感器的使能端口。如果不选择控制使能端口,则将跳线帽插在双排针上,这时只需用排线连接S、+、-三个端口,注意正负极电源不要接反。如果选择控制传感器使能,则要拔下跳线帽,放到可以找到的地方,这时需用排线连接EN、S、+、- 四个端口。EN和S端口一般连接到控制器的I/O口。+、- 接到电源的Vcc和GND。<br/>
步骤二:固定。<br/>
+
===例子程序===
根据需要通过直径3mm的连接件(铜柱、螺钉、螺栓等)进行固定。传感器的安装高度和反射物的颜色决定了能否得到可靠的信号。如果传感器安装较低,可以将红外发射管抬高些,或者加小型的定向管(如热缩管)套到红外发射管上。为了避免免误触发,不要将传感器安装在机器人的运动机构上,特殊需求除外。<br/>
+
<pre style='color:blue'>
步骤三:编程。<br/>
+
int bizhangPin = 2;
根据端口状态真值表,进行编程应用。<br/>
+
[[文件:Mini红外避障传感器03.jpg|440px|有框|居中]]
+
 
+
===示例程序===
+
<pre style='color:blue'>int bizhangPin = 2;
+
 
int ledPin =  13;     
 
int ledPin =  13;     
 
int buttonState = 0;         
 
int buttonState = 0;         
void setup() {
+
void setup()  
 +
{
 
   pinMode(ledPin, OUTPUT);       
 
   pinMode(ledPin, OUTPUT);       
 
   pinMode(bizhangPin, INPUT);     
 
   pinMode(bizhangPin, INPUT);     
 
}
 
}
  
void loop(){
+
void loop()
 +
{
 
   buttonState = digitalRead(bizhangPin);
 
   buttonState = digitalRead(bizhangPin);
   if (buttonState == LOW) {       
+
   if (buttonState == LOW)  
 +
{       
 
     digitalWrite(ledPin, HIGH);   
 
     digitalWrite(ledPin, HIGH);   
 
   }  
 
   }  
   else {
+
   else  
 +
{
 
     digitalWrite(ledPin, LOW);  
 
     digitalWrite(ledPin, LOW);  
 
   }
 
   }
第61行: 第59行:
 
# 此时指示灯灭,相应输出端(S)输出TTL低电平;
 
# 此时指示灯灭,相应输出端(S)输出TTL低电平;
 
# 将避障模块的红外探头对准墙壁或其他障碍物,距离为2~40cm厘米左右,此时指示灯亮,相应输出端(S)输出TTL高电平;
 
# 将避障模块的红外探头对准墙壁或其他障碍物,距离为2~40cm厘米左右,此时指示灯亮,相应输出端(S)输出TTL高电平;
 +
==视频演示==
 +
[[File:hong wai bi zhang 01.png|400px|左|link=http://v.youku.com/v_show/id_XMTEzMTUxMzE2.html?from=y1.7-2]]
 +
[[File:bi zhang 03.png|400px|居中|link=http://v.youku.com/v_show/id_XODkwMzEyNDQ4.html?from=y1.7-2]]
 +
<br/>
  
==应用例程==
 
Mini红外避障传感器模块的测试<br/>
 
我们使用Arduino控制器和2WD小车来做这个测试,要用到硬件设备如下:<br/>
 
1、Arduino控制器×1<br/>
 
2、Arduino 传感器扩展板×1<br/>
 
3、Mini红外避障传感器模块×3<br/>
 
4、2WD小车×1<br/>
 
5、传感器支架×1<br/>
 
6、通用3P传感器连接线×3<br/>
 
7、杜邦线若干<br/>
 
8、USB数据通信线×1<br/>
 
通过配合调节调频和调距两个电位计,调到适合我们的检测距离。有障碍物位低电平,无障碍物位高电平。使能跳线帽插上就是一直让传感器工作,拔下则可以通过控制使能端让传感器是否工作。下面的实验代码是我们引用Arduino爱好者的一篇博文,(http://blog.sina.com.cn/s/blog_5e4725590100i20b.html)这是实验代码的博文地址。<br/>
 
Arduino实验代码如下:<br/>
 
<pre style='color:blue'>int pinI1=8;//定义I1接口
 
int pinI2=9;//定义I2接口
 
int speedpin=11;//定义EA(PWM调速)接口
 
int pinI3=6;//定义I3接口
 
int pinI4=7;//定义I4接口
 
int speedpin1=10;//定义EB(PWM调速)接口
 
int IRR=3;//定义右侧避障传感器接口
 
int IRM=4;//定义中间避障传感器接口
 
int IRL=5;//定义左侧避障传感器接口
 
void setup()
 
{
 
  pinMode(pinI1,OUTPUT);
 
pinMode(pinI2,OUTPUT);
 
  pinMode(speedpin,OUTPUT);
 
  pinMode(pinI3,OUTPUT);
 
  pinMode(pinI4,OUTPUT);
 
  pinMode(speedpin1,OUTPUT);
 
  pinMode(IRR,INPUT);
 
  pinMode(IRM,INPUT);
 
  pinMode(IRL,INPUT);
 
}
 
void advance(int a)//前进
 
{
 
    analogWrite(speedpin,a);//输入模拟值进行设定速度
 
    analogWrite(speedpin1,a);
 
    digitalWrite(pinI4,LOW);//使直流电机(右)逆时针转
 
    digitalWrite(pinI3,HIGH);
 
    digitalWrite(pinI1,LOW);//使直流电机(左)顺时针转
 
    digitalWrite(pinI2,HIGH);
 
}
 
void right(int b)//右转
 
{
 
    analogWrite(speedpin,b);//输入模拟值进行设定速度
 
    analogWrite(speedpin1,b);
 
    digitalWrite(pinI4,HIGH);//使直流电机(右)顺时针转
 
    digitalWrite(pinI3,LOW);
 
    digitalWrite(pinI1,LOW);//使直流电机(左)顺时针转
 
    digitalWrite(pinI2,HIGH);
 
}
 
void left(int c)//左转
 
{
 
    analogWrite(speedpin,c);//输入模拟值进行设定速度
 
    analogWrite(speedpin1,c);
 
    digitalWrite(pinI4,LOW);//使直流电机(右)逆时针转
 
    digitalWrite(pinI3,HIGH);
 
    digitalWrite(pinI1,HIGH);//使直流电机(左)逆时针转
 
    digitalWrite(pinI2,LOW);
 
}
 
void stop()//停止
 
{
 
    digitalWrite(pinI4,HIGH);//使直流电机(右)制动
 
    digitalWrite(pinI3,HIGH);
 
    digitalWrite(pinI1,HIGH);//使直流电机(左)制动
 
    digitalWrite(pinI2,HIGH);
 
}
 
void back(int d)//后退
 
{
 
    analogWrite(speedpin,d);//输入模拟值进行设定速度
 
    analogWrite(speedpin1,d);
 
    digitalWrite(pinI4,HIGH);//使直流电机(右)顺时针转
 
    digitalWrite(pinI3,LOW);
 
    digitalWrite(pinI1,HIGH);//使直流电机(左)逆时针转
 
    digitalWrite(pinI2,LOW);
 
}
 
void loop()
 
{
 
    int r,m,l;
 
    r=digitalRead(IRR);
 
    m=digitalRead(IRM);
 
    l=digitalRead(IRL);
 
    if(l==HIGH &&m==HIGH && r==HIGH)
 
    advance(120);
 
    if(l==LOW &&m==LOW  && r==LOW )
 
      {
 
        back(120);
 
        delay(300);
 
        right(100);
 
        delay(100);
 
      }
 
    if(l==LOW &&m==HIGH  && r==LOW )
 
      {
 
        back(120);
 
        delay(300);
 
        right(100);
 
        delay(100);
 
      }
 
    if(l==HIGH  &&m==LOW  &&  r == HIGH  )
 
          {
 
        back(120);
 
        delay(300);
 
        right(100);
 
        delay(100);
 
      }
 
    if(l==LOW && m==LOW  && r ==HIGH )
 
    right(100);
 
    if(l==LOW && m==HIGH  && r ==HIGH)
 
right(80);
 
    if(l==HIGH && m==LOW  && r == LOW )
 
    left(100);
 
    if(l==HIGH && m==HIGH  && r==LOW )
 
    left(80);
 
  }</pre>
 
 
==产品相关推荐==
 
==产品相关推荐==
[→购买地址 Mini红外避障传感器 http://www.alsrobot.cn/goods-41.html]
+
[[文件:erweima.png|230px|无框|右]]
 +
===产品购买地址===
 +
[http://www.alsrobot.cn/goods-41.html Mini红外避障传感器]
 +
===周边产品推荐===
 +
[https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.22.huQzup&id=3310237117 光电传感器固定架]<br/>
 +
===相关问题解答===
 +
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=5469&highlight=%E9%81%BF%E9%9A%9C 如何使用红外避障模块?]<br/>
 +
===相关学习资料===
 +
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=4178&fromuid=10780 视频:避障传感器模拟避障小车]<br/>
 +
[http://www.makerspace.cn/forum.php?mod=viewthread&tid=302&fromuid=10780 浅析AS-4WD寻线避障轮式机器人---组装与调试]<br/>
 +
[http://www.makerspace.cn/portal.php 奥松机器人技术论坛]<br/>

2015年10月22日 (四) 13:51的最后版本


Mini红外避障传感器01.jpg

目录

产品概述

Mini IR Dectector是机器人基地专为轮式机器人设计的一款距离可调式避障传感器。此传感器对环境光线适应能力强、精度高,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,此时指示灯亮起,经过电路处理后,信号输出接口输出数字信号,可通过电位器旋钮调节检测距离,有效距离3~35cm,工作电压为3.3V-5V,由于工作电压范围宽泛,在电源电压波动比较大的情况下仍能稳定工作,适合多种单片机、Arduino控制器、BS2控制器使用,安装到机器人上即可感测周围环境的变化。

规格参数

1. 工作电压:DC 3.3V~5V
2. 工作电流:≥20mA
2. 工作温度:-10℃ ~ +50℃
4. 检测距离:2~40cm
5. IO接口:4线制接口(-/+/S/EN)
6. 输出信号:TTL电平(有障碍物低电平,无障碍物高电平)
7. 调节方式:多圈电阻式调节
8. 有效角度:35°
9. 模块尺寸:28mm×23mm
10.模块重量:9g

接口定义

  • EN(传感器使能):置高,传感器不工作;置低,传感器工作。
  • S(反射信号输出):当EN置低的情况下,如果没有检测到物体,则S端口保持高电平;若检测到物体,则S端口置低。
  • +:接外部供电的Vcc。
  • -:接外部供电的GND。
Mini ir detector.jpg
  1. 传感器的接口:共4个,电路板标号分别为EN、S、+、-。分别是传感器使能端口、检测信号输出端口、Vcc、GND。
  2. 使能跳线帽:当用户想让传感器一直处于工作状态,换句话说用户不需要自行控制传感器是否工作,这时可以将跳线帽插在排针上,EN脚可以不接任何线。当用户想自己控制传感器是否工作,则要去掉跳线帽,将EN端口接到用户自己的控制器端口上。
  3. 调节距离电位器用于调整传感器探测的距离,当用户需要调整探测距离时,用螺丝刀调整电位器,按箭头方向旋转(顺时针方向)是将探测距离减小,相反方向旋转探测距离增大。
  4. 频率调节电位器:用于产生38KHz频率的方波。正常情况下,在出厂前将阻值调好,无需用户调节。但由于外界环境的不同或振动,出现了接收不到反射信号的情况,这时用户可以对电位器2进行微调,直到有障碍物时能收到信号,指示灯(LED)点亮即可。

使用方法

实验接线图

Hongwaibizhangjiexian.jpg

接线说明:
连接前首先根据需要确定是否需要控制传感器的使能端口。如果不选择控制使能端口,则将跳线帽插在双排针上,这时只需用排线连接S、+、-三个端口,注意正负极电源不要接反。如果选择控制传感器使能,则要拔下跳线帽,放到可以找到的地方,这时需用排线连接EN、S、+、- 四个端口。EN和S端口一般连接到控制器的I/O口。+、- 接到电源的Vcc和GND。

例子程序

int bizhangPin = 2;
int ledPin =  13;     
int buttonState = 0;        
void setup() 
{
  pinMode(ledPin, OUTPUT);      
  pinMode(bizhangPin, INPUT);     
}

void loop()
{
  buttonState = digitalRead(bizhangPin);
  if (buttonState == LOW) 
{       
    digitalWrite(ledPin, HIGH);  
  } 
  else 
{
    digitalWrite(ledPin, LOW); 
  }
}

程序效果

  1. 模块按引脚定义图接好探头模块,切勿接错;
  2. 此时指示灯灭,相应输出端(S)输出TTL低电平;
  3. 将避障模块的红外探头对准墙壁或其他障碍物,距离为2~40cm厘米左右,此时指示灯亮,相应输出端(S)输出TTL高电平;

视频演示

Hong wai bi zhang 01.png
Bi zhang 03.png


产品相关推荐

Erweima.png

产品购买地址

Mini红外避障传感器

周边产品推荐

光电传感器固定架

相关问题解答

如何使用红外避障模块?

相关学习资料

视频:避障传感器模拟避障小车
浅析AS-4WD寻线避障轮式机器人---组装与调试
奥松机器人技术论坛