“(SKU:RB-02S002)Mini红外寻线传感器”的版本间的差异

来自ALSROBOT WiKi
跳转至: 导航搜索
应用例程
第46行: 第46行:
 
# 同理,寻线模块的红外探头对准白纸,高度1厘米左右,此时指示灯亮,相应输出端(S)输出TTL高电平;
 
# 同理,寻线模块的红外探头对准白纸,高度1厘米左右,此时指示灯亮,相应输出端(S)输出TTL高电平;
 
==应用例程==
 
==应用例程==
# 模块数量可根据情况使用,把寻线模块安装在距地图1cm高度的位置;
+
 
# 寻线模块安装方法:
+
我们使用Arduino控制器及2WD小车做测试,要用到硬件设备如下:
[[文件:mini-3.jpg|500px|有框|居中]]
+
1、Arduino控制器×1
:如图所示,3个模块按三角形安装,当小车直行时,①③号模块均输出高电平(此时指示灯亮),②输出低电平(此时指示灯灭);如果小车向左偏移,②模块偏离黑线,输出高电平(此时指示灯亮),③号模块进入黑线范围,输出低电平(此时指示灯灭);同理,小车向右偏移,②模块偏离黑线,输出高电平,①号模块进入黑线范围,输出低电平。
+
2、Arduino 传感器扩展板×1
 +
3、2WD小车×1
 +
4、Mini红外巡线传感器×3
 +
5、传感器支架×1
 +
6、传感器连接线×3
 +
7、杜邦线若干
 +
8、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]
 
  →购买地址  Mini红外寻线传感器 http://www.alsrobot.cn/goods.php?id=152]

2015年5月9日 (六) 13:34的版本


Mini-123.jpg

目录

概述

Mini Line Tracking Sensor (红外寻线传感器)是根据反射式光电传感器原理开发的专用机器人产品,可以帮助你的机器人进行白线或黑线跟踪,可以检测白底中的黑线,也可以检测黑底中的白线。寻线反馈信号可以提供稳定的TTL 电平输出(开关量),使寻线更准确更稳定。其可用于光电测速、程控小车寻线,是轮式机器人的必备传感器。

规格参数

  1. 工作电源:+5V
  2. 工作电流:<15mA
  3. 工作温度范围 :-10℃~+70℃
  4. 输出接口:3线制接口(GND/VCC/S)
  5. 输出电平:TTL电平(黑线低电平有效,白线高电平有效)
  6. 固定孔径:3mm
  7. 反馈指示灯:红色
  8. 模块尺寸:12mm × 35mm
  9. 模块重量:6g

使用方法及例子程序

引脚定义

传感器引脚的定义是

S:输出信号
+:电源(VCC)
-:地(GND)
Mini-2.jpg

示例程序

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

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

程序效果

  1. 找张白纸,在白纸上画根黑线条(约1cm宽),或用黑色电工胶带沾在白纸上;
  2. 模块按引脚定义图接好探头模块,切勿接错;
  3. 将寻线模块的红外探头对准黑线,高度1厘米左右,此时指示灯灭,相应输出端(S)输出TTL低电平;
  4. 同理,寻线模块的红外探头对准白纸,高度1厘米左右,此时指示灯亮,相应输出端(S)输出TTL高电平;

应用例程

我们使用Arduino控制器及2WD小车做测试,要用到硬件设备如下: 1、Arduino控制器×1 2、Arduino 传感器扩展板×1 3、2WD小车×1 4、Mini红外巡线传感器×3 5、传感器支架×1 6、传感器连接线×3 7、杜邦线若干 8、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]