頁面“(SKU:RB-02S041)夏普GP2D12 紅外測距傳感器”與“(SKU:RB-02S002)Mini紅外尋線傳感器”之間的差異

來自ALSROBOT WiKi
(頁面間的差異)
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
 
?應(yīng)用例程
 
第1行: 第1行:
 
<br/>
 
<br/>
?
[[文件:1-1.jpg|500px|縮略圖|右]]
+
[[文件:mini-123.jpg|500px|有框|右]]
 
==概述==
 
==概述==
?
:GP2D12 IR Sensor 是日本夏普公司推出的一款性價(jià)比高、最常用的紅外測距傳感器、其可用來對物體的距離進(jìn)行測量,實(shí)現(xiàn)輪式機(jī)器人的避障功能。它不但體積小、功耗低、價(jià)格便宜,而且測距效果好,適合廣大機(jī)器人發(fā)燒友使用。
+
:Mini Line Tracking Sensor (紅外尋線傳感器)是根據(jù)反射式光電傳感器原理開發(fā)的專用機(jī)器人產(chǎn)品,可以幫助你的機(jī)器人進(jìn)行白線或黑線跟蹤,可以檢測白底中的黑線,也可以檢測黑底中的白線。尋線反饋信號可以提供穩(wěn)定的TTL 電平輸出(開關(guān)量),使尋線更準(zhǔn)確更穩(wěn)定。其可用于光電測速、程控小車尋線,是輪式機(jī)器人的必備傳感器。
?
==性能描述==
+
==規(guī)格參數(shù)==
?
# 工作電源:+4.5~+5.5V
+
# 工作電源:+5V
?
# 平均功耗:35mA
+
# 工作電流:<15mA
?
# 峰值功耗:約200mA
+
 
# 工作溫度范圍 :-10℃~+70℃
 
# 工作溫度范圍 :-10℃~+70℃
?
# 測量范圍:10~80cm
+
# 輸出接口:3線制接口(GND/VCC/S)
?
# 刷新頻率和周期:25Hz/40ms
+
# 輸出電平:TTL電平(黑線低電平有效,白線高電平有效)
?
# 模擬輸出噪音:<200mV
+
# 固定孔徑:3mm     
?
# 最大允許角度:>40°
+
# 反饋指示燈:紅色
?
# 測量距離與輸出模擬電壓關(guān)系:2.4V~0.4V模擬信號對應(yīng)10cm~80cm,輸出與距   
+
# 模塊尺寸:12mm × 35mm
?
==引腳定義==
+
# 模塊重量:6g
 +
==使用方法及例子程序==
 +
===引腳定義===
 
傳感器引腳的定義是
 
傳感器引腳的定義是
?
:OUTPUT:輸出信號
+
:S:輸出信號
 
:+:電源(VCC)  
 
:+:電源(VCC)  
?
:-:地(GND)  
+
:-:地(GND)
?
[[文件:2-2.jpg|500px|縮略圖|居中]]
+
[[文件:mini-2.jpg|500px|有框|居中]]
 +
 
 +
===示例程序===
 +
<pre style='color:blue'>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);
 +
  }
 +
}
 +
</pre>
 +
===程序效果===
 +
# 找張白紙,在白紙上畫根黑線條(約1cm寬),或用黑色電工膠帶沾在白紙上;
 +
# 模塊按引腳定義圖接好探頭模塊,切勿接錯;
 +
# 將尋線模塊的紅外探頭對準(zhǔn)黑線,高度1厘米左右,此時(shí)指示燈滅,相應(yīng)輸出端(S)輸出TTL低電平;
 +
# 同理,尋線模塊的紅外探頭對準(zhǔn)白紙,高度1厘米左右,此時(shí)指示燈亮,相應(yīng)輸出端(S)輸出TTL高電平;
 +
==應(yīng)用例程==
 +
 
 +
我們使用Arduino控制器及2WD小車做測試,要用到硬件設(shè)備如下:
 +
1、Arduino控制器×1
 +
2、Arduino 傳感器擴(kuò)展板×1
 +
3、2WD小車×1
 +
4、Mini紅外巡線傳感器×3
 +
5、傳感器支架×1
 +
6、傳感器連接線×3
 +
7、杜邦線若干
 +
8、USB數(shù)據(jù)通信線×1
 +
我們結(jié)合2WD小車做一下巡線傳感器的測試,下面的實(shí)驗(yàn)代碼是我們引用Arduino愛好者的一篇博文,(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ī)(右)制動
 +
???? digitalWrite(pinI3,HIGH);
 +
???? digitalWrite(pinI1,HIGH);//使直流電機(jī)(左)制動
 +
???? 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)推薦==
 +
→購買地址  Mini紅外尋線傳感器 http://gharee.com/goods.php?id=152]

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


Mini-123.jpg

目錄

概述

Mini Line Tracking Sensor (紅外尋線傳感器)是根據(jù)反射式光電傳感器原理開發(fā)的專用機(jī)器人產(chǎn)品,可以幫助你的機(jī)器人進(jìn)行白線或黑線跟蹤,可以檢測白底中的黑線,也可以檢測黑底中的白線。尋線反饋信號可以提供穩(wěn)定的TTL 電平輸出(開關(guān)量),使尋線更準(zhǔn)確更穩(wěn)定。其可用于光電測速、程控小車尋線,是輪式機(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:輸出信號
+:電源(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. 將尋線模塊的紅外探頭對準(zhǔn)黑線,高度1厘米左右,此時(shí)指示燈滅,相應(yīng)輸出端(S)輸出TTL低電平;
  4. 同理,尋線模塊的紅外探頭對準(zhǔn)白紙,高度1厘米左右,此時(shí)指示燈亮,相應(yīng)輸出端(S)輸出TTL高電平;

應(yīng)用例程

我們使用Arduino控制器及2WD小車做測試,要用到硬件設(shè)備如下: 1、Arduino控制器×1 2、Arduino 傳感器擴(kuò)展板×1 3、2WD小車×1 4、Mini紅外巡線傳感器×3 5、傳感器支架×1 6、傳感器連接線×3 7、杜邦線若干 8、USB數(shù)據(jù)通信線×1 我們結(jié)合2WD小車做一下巡線傳感器的測試,下面的實(shí)驗(yàn)代碼是我們引用Arduino愛好者的一篇博文,(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ī)(右)制動 ???? digitalWrite(pinI3,HIGH); ???? digitalWrite(pinI1,HIGH);//使直流電機(jī)(左)制動 ???? 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)推薦

→購買地址  Mini紅外尋線傳感器 http://gharee.com/goods.php?id=152]