(SKU:RB-02S002)Mini紅外尋線傳感器

來(lái)自ALSROBOT WiKi
2015年5月9日 (六) 13:4126wd討論 | 貢獻(xiàn)的版本

跳轉(zhuǎn)至: 導(dǎo)航搜索


Mini-123.jpg

目錄

概述

Mini Line Tracking Sensor (紅外尋線傳感器)是根據(jù)反射式光電傳感器原理開(kāi)發(fā)的專(zhuān)用機(jī)器人產(chǎn)品,可以幫助你的機(jī)器人進(jìn)行白線或黑線跟蹤,可以檢測(cè)白底中的黑線,也可以檢測(cè)黑底中的白線。尋線反饋信號(hào)可以提供穩(wěn)定的TTL 電平輸出(開(kāi)關(guān)量),使尋線更準(zhǔn)確更穩(wěn)定。其可用于光電測(cè)速、程控小車(chē)尋線,是輪式機(jī)器人的必備傳感器。

規(guī)格參數(shù)

  1. 工作電源:+5V
  2. 工作電流:<15mA
  3. 工作溫度范圍 :-10℃~+70℃
  4. 輸出接口:3線制接口(GND/VCC/S)
  5. 輸出電平:TTL電平(黑線低電平有效,白線高電平有效)
  6. 固定孔徑:3mm
  7. 反饋指示燈:紅色
  8. 模塊尺寸:12mm × 35mm
  9. 模塊重量:6g

使用方法及例子程序

引腳定義

傳感器引腳的定義是

S:輸出信號(hào)
+:電源(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. 找張白紙,在白紙上畫(huà)根黑線條(約1cm寬),或用黑色電工膠帶沾在白紙上;
  2. 模塊按引腳定義圖接好探頭模塊,切勿接錯(cuò);
  3. 將尋線模塊的紅外探頭對(duì)準(zhǔn)黑線,高度1厘米左右,此時(shí)指示燈滅,相應(yīng)輸出端(S)輸出TTL低電平;
  4. 同理,尋線模塊的紅外探頭對(duì)準(zhǔn)白紙,高度1厘米左右,此時(shí)指示燈亮,相應(yīng)輸出端(S)輸出TTL高電平;

應(yīng)用例程

Mini紅外巡線傳感器的測(cè)試 我們使用Arduino控制器及2WD小車(chē)做測(cè)試,要用到硬件設(shè)備如下:

  1. Arduino控制器×1
  2. Arduino 傳感器擴(kuò)展板×1
  3. 2WD小車(chē)×1
  4. Mini紅外巡線傳感器×3
  5. 傳感器支架×1
  6. 傳感器連接線×3
  7. 杜邦線若干
  8. USB數(shù)據(jù)通信線×1

我們結(jié)合2WD小車(chē)做一下巡線傳感器的測(cè)試,下面的實(shí)驗(yàn)代碼是我們引用Arduino愛(ài)好者的一篇博文,(http://blog.sina.com.cn/s/blog_5e4725590100gktc.html)這是實(shí)驗(yàn)代碼的博文地址。 Arduino實(shí)驗(yàn)代碼如下。

int pinI1=8;//定義I1接口
int pinI2=9;//定義I2接口
int speedpin=11;//定義EA(PWM調(diào)速)接口
int pinI3=6;//定義I3接口
int pinI4=7;//定義I4接口
int speedpin1=10;//定義EB(PWM調(diào)速)接口
int IRR=3;//定義右側(cè)尋線傳感器接口
int IRM=4;//定義中間尋線傳感器接口
int IRL=5;//定義左側(cè)尋線傳感器接口
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()//前進(jìn)
{
     analogWrite(speedpin,100);//輸入模擬值進(jìn)行設(shè)定速度
     analogWrite(speedpin1,100);
digitalWrite(pinI4,LOW);//使直流電機(jī)(右)逆時(shí)針轉(zhuǎn)
     digitalWrite(pinI3,HIGH);
     digitalWrite(pinI1,LOW);//使直流電機(jī)(左)順時(shí)針轉(zhuǎn)
     digitalWrite(pinI2,HIGH);
}
void right()//右轉(zhuǎn)
{
     analogWrite(speedpin,60);//輸入模擬值進(jìn)行設(shè)定速度
     analogWrite(speedpin1,60);
     digitalWrite(pinI4,HIGH);//使直流電機(jī)(右)順時(shí)針轉(zhuǎn)
     digitalWrite(pinI3,LOW);
     digitalWrite(pinI1,LOW);//使直流電機(jī)(左)順時(shí)針轉(zhuǎn)
     digitalWrite(pinI2,HIGH);
}
void left()//左轉(zhuǎn)
{
     analogWrite(speedpin,60);//輸入模擬值進(jìn)行設(shè)定速度
     analogWrite(speedpin1,60);
     digitalWrite(pinI4,LOW);//使直流電機(jī)(右)逆時(shí)針轉(zhuǎn)
     digitalWrite(pinI3,HIGH);
     digitalWrite(pinI1,HIGH);//使直流電機(jī)(左)逆時(shí)針轉(zhuǎn)
     digitalWrite(pinI2,LOW);
}
void stop()//停止
{
     digitalWrite(pinI4,HIGH);//使直流電機(jī)(右)制動(dòng)
     digitalWrite(pinI3,HIGH);
     digitalWrite(pinI1,HIGH);//使直流電機(jī)(左)制動(dòng)
     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();
}

產(chǎn)品相關(guān)推薦

→購(gòu)買(mǎi)地址  Mini紅外尋線傳感器 http://gharee.com/goods.php?id=152]