Puzzle - Infrared Reflective Sensor 红外反射式传感器

来自Duinopeak_COM
跳转至: 导航搜索

产品简介

红外线的反射是通过检测物体表面发射光线的颜色和距离。因此,当一个浅色物体靠近时,信号强度增加,指示灯变成红色,当深色物体靠近时,信号强度减弱,指示灯熄灭。红外反射传感器主要应用在寻线跟跟踪、旋转测速,或是其他被检测物体颜色对比强烈的场景。

Infar-reflective.png Puzzle Infar-reflective top.png

参数规格

  • 工作电压:4.5-5.5V
  • 工作电流:14.69 - 15.35 mA
  • 有效距离:4-15 mm
  • 检测最小宽度(黑线):1 mm
  • RPR220-反射传感器: 高分辨率红外反射传感器。
  • LMV358: 轨到轨操作放大器。
  • 指示灯LED:当接收红外反射强度高于设定的阈值时,LED点亮。
  • 灵敏度电位计 : 用于调节LED感应阈值。

应用示例

Puzzle Infrared Reflective Sensor connection.jpg

应用一:轨迹跟踪

红外反射传感器可以帮助机器小车检测白色背景上的黑线。

  1. 校准:让传感器距离物体12mm,或是你需要的其他高度;
  2. 调节灵敏度电位计让LED点亮;
  3. 然后保持这个高度,移动传感器水平通过黑线,如果LED熄灭,校准完成;

应用二:旋转测速

功能说明: 这里使用了两个中断一个由红外传感器触发,进行电机转速计数;另外一个是由时间定时器1来触发,且每一秒触发一次,然后打印出数据,这样子就能够实现读出一秒内的电机的转速, 下面是具体的步骤:

  1. 把红外发射传感器接至D2。
  2. 启动一个马达
  3. 在马达的转轴上固定一张圆形白纸,并且在白纸上画一条黑线。
  4. 下载Arduino timer1 library,解压至以下路径:..\arduino-1.0.1\libraries.
  5. 在Arduino编译器中新建一个文件,复制下面的代码粘贴到编译器中。
  6. 编译下载。
#include <TimerOne.h>
unsigned int counter=0;
void blink()
{
 counter++;
} 
void timerIsr()
{ 
   Timer1.detachInterrupt();  //disable the timer1
   Serial.print("The speed of the motor: "); 
   Serial.print(counter,DEC);  
   Serial.println("round/s"); 
   counter=0;  
   Timer1.attachInterrupt( timerIsr );  //enable the timer1
}
void setup() 
{
   Serial.begin(9600);
   Timer1.initialize(1000000); // set a timer of length 1sec
   attachInterrupt(0, blink, RISING);  //INT0
   Timer1.attachInterrupt( timerIsr ); // attach the service routine here
} 
void loop()
{
  ;  //do nothing
}

5.打开串口Serial Monitor查看数据。


资源


Infrared Reflective Sensor 红外反射式传感器原理图: 文件:Puzzle Infrared Reflective Sensor-sch.pdf

Infrared Reflective Sensor 红外反射式传感器芯片RPR220数据手册: 文件:Puzzle Infrared Reflective Sensor RPR220 datasheet.pdf

Infrared Reflective Sensor 红外反射式传感器Arduino Timer1库文件: 文件:Puzzle Infrared Reflective Sensor TimerOne-ArduinoLib.zip

如何购买

Duinopeak 官方淘宝商城
Infrared Reflective Sensor 红外反射式传感器购买链接

支持

如果你有什么建议或者好的点子, 你可以来我们的DuinoPeak论坛参与讨论.

外部链接

链接到外部网页将会给你提供更多应用创意,文档/数据表或软件库

视频