“(SKU:RB-02S003)Mini紅外避障傳感器”的版本間的差異
(→?使用方法及例子程序) |
(→?使用方法) |
||
第29行: | 第29行: | ||
===使用方法=== | ===使用方法=== | ||
實(shí)驗(yàn)接線圖<br/> | 實(shí)驗(yàn)接線圖<br/> | ||
? | [[文件: | + | [[文件:hongwaibizhangjiexian.jpg|700px|有框|居中]] |
步驟一:接線。<br/> | 步驟一:接線。<br/> | ||
連接前首先根據(jù)需要確定是否需要控制傳感器的使能端口。如果不選擇控制使能端口,則將跳線帽插在雙排針上,這時(shí)只需用排線連接S、+、-三個(gè)端口,注意正負(fù)極電源不要接反。如果選擇控制傳感器使能,則要拔下跳線帽,放到可以找到的地方,這時(shí)需用排線連接EN、S、+、- 四個(gè)端口。EN和S端口一般連接到控制器的I/O口。+、- 接到電源的Vcc和GND。<br/> | 連接前首先根據(jù)需要確定是否需要控制傳感器的使能端口。如果不選擇控制使能端口,則將跳線帽插在雙排針上,這時(shí)只需用排線連接S、+、-三個(gè)端口,注意正負(fù)極電源不要接反。如果選擇控制傳感器使能,則要拔下跳線帽,放到可以找到的地方,這時(shí)需用排線連接EN、S、+、- 四個(gè)端口。EN和S端口一般連接到控制器的I/O口。+、- 接到電源的Vcc和GND。<br/> |
2015年6月23日 (二) 21:27的版本
目錄 |
概述
Mini IR Dectector是機(jī)器人基地專為輪式機(jī)器人設(shè)計(jì)的一款距離可調(diào)式避障傳感器。此傳感器對(duì)環(huán)境光線適應(yīng)能力強(qiáng)、精度高,其具有一對(duì)紅外線發(fā)射與接收管,發(fā)射管發(fā)射出一定頻率的紅外線,當(dāng)檢測(cè)方向遇到障礙物(反射面)時(shí),紅外線反射回來(lái)被接收管接收,此時(shí)指示燈亮起,經(jīng)過(guò)電路處理后,信號(hào)輸出接口輸出數(shù)字信號(hào),可通過(guò)電位器旋鈕調(diào)節(jié)檢測(cè)距離,有效距離3~35cm,工作電壓為3.3V-5V,由于工作電壓范圍寬泛,在電源電壓波動(dòng)比較大的情況下仍能穩(wěn)定工作,適合多種單片機(jī)、Arduino控制器、BS2控制器使用,安裝到機(jī)器人上即可感測(cè)周圍環(huán)境的變化。
規(guī)格參數(shù)
1. 工作電壓:DC 3.3V~5V
2. 工作電流:≥20mA
2. 工作溫度:-10℃ ~ +50℃
4. 檢測(cè)距離:2~40cm
5. IO接口:4線制接口(-/+/S/EN)
6. 輸出信號(hào):TTL電平(有障礙物低電平,無(wú)障礙物高電平)
7. 調(diào)節(jié)方式:多圈電阻式調(diào)節(jié)
8. 有效角度:35°
9. 模塊尺寸:28mm×23mm
10.模塊重量:9g
使用方法及例子程序
引腳示意圖
- EN(傳感器使能):置高,傳感器不工作;置低,傳感器工作。
- S(反射信號(hào)輸出):當(dāng)EN置低的情況下,如果沒(méi)有檢測(cè)到物體,則S端口保持高電平;若檢測(cè)到物體,則S端口置低。
- +:接外部供電的Vcc。
- -:接外部供電的GND。
- 傳感器的接口:共4個(gè),電路板標(biāo)號(hào)分別為EN、S、+、-。分別是傳感器使能端口、檢測(cè)信號(hào)輸出端口、Vcc、GND。
- 使能跳線帽:當(dāng)用戶想讓傳感器一直處于工作狀態(tài),換句話說(shuō)用戶不需要自行控制傳感器是否工作,這時(shí)可以將跳線帽插在排針上,EN腳可以不接任何線。當(dāng)用戶想自己控制傳感器是否工作,則要去掉跳線帽,將EN端口接到用戶自己的控制器端口上。
- 調(diào)節(jié)距離電位器用于調(diào)整傳感器探測(cè)的距離,當(dāng)用戶需要調(diào)整探測(cè)距離時(shí),用螺絲刀調(diào)整電位器,按箭頭方向旋轉(zhuǎn)(順時(shí)針?lè)较颍┦菍⑻綔y(cè)距離減小,相反方向旋轉(zhuǎn)探測(cè)距離增大。
- 頻率調(diào)節(jié)電位器:用于產(chǎn)生38KHz頻率的方波。正常情況下,在出廠前將阻值調(diào)好,無(wú)需用戶調(diào)節(jié)。但由于外界環(huán)境的不同或振動(dòng),出現(xiàn)了接收不到反射信號(hào)的情況,這時(shí)用戶可以對(duì)電位器2進(jìn)行微調(diào),直到有障礙物時(shí)能收到信號(hào),指示燈(LED)點(diǎn)亮即可。
使用方法
實(shí)驗(yàn)接線圖
步驟一:接線。
連接前首先根據(jù)需要確定是否需要控制傳感器的使能端口。如果不選擇控制使能端口,則將跳線帽插在雙排針上,這時(shí)只需用排線連接S、+、-三個(gè)端口,注意正負(fù)極電源不要接反。如果選擇控制傳感器使能,則要拔下跳線帽,放到可以找到的地方,這時(shí)需用排線連接EN、S、+、- 四個(gè)端口。EN和S端口一般連接到控制器的I/O口。+、- 接到電源的Vcc和GND。
步驟二:固定。
根據(jù)需要通過(guò)直徑3mm的連接件(銅柱、螺釘、螺栓等)進(jìn)行固定。傳感器的安裝高度和反射物的顏色決定了能否得到可靠的信號(hào)。如果傳感器安裝較低,可以將紅外發(fā)射管抬高些,或者加小型的定向管(如熱縮管)套到紅外發(fā)射管上。為了避免免誤觸發(fā),不要將傳感器安裝在機(jī)器人的運(yùn)動(dòng)機(jī)構(gòu)上,特殊需求除外。
步驟三:編程。
根據(jù)端口狀態(tài)真值表,進(jìn)行編程應(yīng)用。
示例程序
int bizhangPin = 2; int ledPin = 13; int buttonState = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(bizhangPin, INPUT); } void loop(){ buttonState = digitalRead(bizhangPin); if (buttonState == LOW) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }
程序效果
- 模塊按引腳定義圖接好探頭模塊,切勿接錯(cuò);
- 此時(shí)指示燈滅,相應(yīng)輸出端(S)輸出TTL低電平;
- 將避障模塊的紅外探頭對(duì)準(zhǔn)墻壁或其他障礙物,距離為2~40cm厘米左右,此時(shí)指示燈亮,相應(yīng)輸出端(S)輸出TTL高電平;
應(yīng)用例程
Mini紅外避障傳感器模塊的測(cè)試
我們使用Arduino控制器和2WD小車來(lái)做這個(gè)測(cè)試,要用到硬件設(shè)備如下:
1、Arduino控制器×1
2、Arduino 傳感器擴(kuò)展板×1
3、Mini紅外避障傳感器模塊×3
4、2WD小車×1
5、傳感器支架×1
6、通用3P傳感器連接線×3
7、杜邦線若干
8、USB數(shù)據(jù)通信線×1
通過(guò)配合調(diào)節(jié)調(diào)頻和調(diào)距兩個(gè)電位計(jì),調(diào)到適合我們的檢測(cè)距離。有障礙物位低電平,無(wú)障礙物位高電平。使能跳線帽插上就是一直讓傳感器工作,拔下則可以通過(guò)控制使能端讓傳感器是否工作。下面的實(shí)驗(yàn)代碼是我們引用Arduino愛(ài)好者的一篇博文,(http://blog.sina.com.cn/s/blog_5e4725590100i20b.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(int a)//前進(jìn) { analogWrite(speedpin,a);//輸入模擬值進(jìn)行設(shè)定速度 analogWrite(speedpin1,a); digitalWrite(pinI4,LOW);//使直流電機(jī)(右)逆時(shí)針轉(zhuǎn) digitalWrite(pinI3,HIGH); digitalWrite(pinI1,LOW);//使直流電機(jī)(左)順時(shí)針轉(zhuǎn) digitalWrite(pinI2,HIGH); } void right(int b)//右轉(zhuǎn) { analogWrite(speedpin,b);//輸入模擬值進(jìn)行設(shè)定速度 analogWrite(speedpin1,b); digitalWrite(pinI4,HIGH);//使直流電機(jī)(右)順時(shí)針轉(zhuǎn) digitalWrite(pinI3,LOW); digitalWrite(pinI1,LOW);//使直流電機(jī)(左)順時(shí)針轉(zhuǎn) digitalWrite(pinI2,HIGH); } void left(int c)//左轉(zhuǎn) { analogWrite(speedpin,c);//輸入模擬值進(jìn)行設(shè)定速度 analogWrite(speedpin1,c); 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 back(int d)//后退 { analogWrite(speedpin,d);//輸入模擬值進(jìn)行設(shè)定速度 analogWrite(speedpin1,d); digitalWrite(pinI4,HIGH);//使直流電機(jī)(右)順時(shí)針轉(zhuǎn) digitalWrite(pinI3,LOW); digitalWrite(pinI1,HIGH);//使直流電機(jī)(左)逆時(shí)針轉(zhuǎn) digitalWrite(pinI2,LOW); } void loop() { int r,m,l; r=digitalRead(IRR); m=digitalRead(IRM); l=digitalRead(IRL); if(l==HIGH &&m==HIGH && r==HIGH) advance(120); if(l==LOW &&m==LOW && r==LOW ) { back(120); delay(300); right(100); delay(100); } if(l==LOW &&m==HIGH && r==LOW ) { back(120); delay(300); right(100); delay(100); } if(l==HIGH &&m==LOW && r == HIGH ) { back(120); delay(300); right(100); delay(100); } if(l==LOW && m==LOW && r ==HIGH ) right(100); if(l==LOW && m==HIGH && r ==HIGH) right(80); if(l==HIGH && m==LOW && r == LOW ) left(100); if(l==HIGH && m==HIGH && r==LOW ) left(80); }
產(chǎn)品相關(guān)推薦
[→購(gòu)買地址 Mini紅外避障傳感器 http://lifestyle201.com/goods-41.html]