(SKU:RB-02S002)Mini红外寻线传感器
来自ALSROBOT WiKi
目录 |
概述
- Mini Line Tracking Sensor (红外寻线传感器)是根据反射式光电传感器原理开发的专用机器人产品,可以帮助你的机器人进行白线或黑线跟踪,可以检测白底中的黑线,也可以检测黑底中的白线。寻线反馈信号可以提供稳定的TTL 电平输出(开关量),使寻线更准确更稳定。其可用于光电测速、程控小车寻线,是轮式机器人的必备传感器。
规格参数
- 工作电源:+5V
- 工作电流:<15mA
- 工作温度范围 :-10℃~+70℃
- 输出接口:3线制接口(GND/VCC/S)
- 输出电平:TTL电平(黑线低电平有效,白线高电平有效)
- 固定孔径:3mm
- 反馈指示灯:红色
- 模块尺寸:12mm × 35mm
- 模块重量:6g
使用方法及例子程序
引脚定义
传感器引脚的定义是
- S:输出信号
- +:电源(VCC)
- -:地(GND)
示例程序
int xunxianPin = 2; int ledPin = 13; int buttonState = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(xunxianPin, INPUT); } void loop(){ buttonState = digitalRead(xunxianPin); if (buttonState == LOW) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }
程序效果
- 找张白纸,在白纸上画根黑线条(约1cm宽),或用黑色电工胶带沾在白纸上;
- 模块按引脚定义图接好探头模块,切勿接错;
- 将寻线模块的红外探头对准黑线,高度1厘米左右,此时指示灯灭,相应输出端(S)输出TTL低电平;
- 同理,寻线模块的红外探头对准白纸,高度1厘米左右,此时指示灯亮,相应输出端(S)输出TTL高电平;
应用例程
Mini红外巡线传感器的测试 我们使用Arduino控制器及2WD小车做测试,要用到硬件设备如下:
- Arduino控制器×1
- Arduino 传感器扩展板×1
- 2WD小车×1
- Mini红外巡线传感器×3
- 传感器支架×1
- 传感器连接线×3
- 杜邦线若干
- USB数据通信线×1
我们结合2WD小车做一下巡线传感器的测试,下面的实验代码是我们引用Arduino爱好者的一篇博文,(http://blog.sina.com.cn/s/blog_5e4725590100gktc.html)这是实验代码的博文地址。 Arduino实验代码如下。
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()//前进 { analogWrite(speedpin,100);//输入模拟值进行设定速度 analogWrite(speedpin1,100); digitalWrite(pinI4,LOW);//使直流电机(右)逆时针转 digitalWrite(pinI3,HIGH); digitalWrite(pinI1,LOW);//使直流电机(左)顺时针转 digitalWrite(pinI2,HIGH); } void right()//右转 { analogWrite(speedpin,60);//输入模拟值进行设定速度 analogWrite(speedpin1,60); digitalWrite(pinI4,HIGH);//使直流电机(右)顺时针转 digitalWrite(pinI3,LOW); digitalWrite(pinI1,LOW);//使直流电机(左)顺时针转 digitalWrite(pinI2,HIGH); } void left()//左转 { analogWrite(speedpin,60);//输入模拟值进行设定速度 analogWrite(speedpin1,60); 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 loop() { int r,m,l; r=digitalRead(IRR); m=digitalRead(IRM); l=digitalRead(IRL); if(l==HIGH &&m==LOW && r==HIGH) advance(); else if(l==LOW && m==HIGH && r==HIGH) left(); else if(l==HIGH && m==HIGH && r==LOW) right(); else stop(); }
代码功能是,中间的巡线传感器检测到黑线小车前进,左侧的巡线传感器检测到黑线小车左转,右侧的巡线传感器检测到黑线小车右转。检测不到黑线小车将停止前进。
产品相关推荐
→购买地址 Mini红外寻线传感器 http://www.alsrobot.cn/goods.php?id=152]