查看(SKU:RB-02S003)Mini紅外避障傳感器的源代碼
←
(SKU:RB-02S003)Mini紅外避障傳感器
跳轉至:
導航
、
搜索
因為以下原因,你沒有權限編輯本頁:
您剛才請求的操作只有這個用戶組中的用戶才能使用:
用戶
您可以查看并復制此頁面的源代碼:
<br/> [[文件:Mini紅外避障傳感器01.jpg|400px|有框|右]] ==概述== Mini IR Dectector是機器人基地專為輪式機器人設計的一款距離可調式避障傳感器。此傳感器對環(huán)境光線適應能力強、精度高,其具有一對紅外線發(fā)射與接收管,發(fā)射管發(fā)射出一定頻率的紅外線,當檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收管接收,此時指示燈亮起,經(jīng)過電路處理后,信號輸出接口輸出數(shù)字信號,可通過電位器旋鈕調節(jié)檢測距離,有效距離3~35cm,工作電壓為3.3V-5V,由于工作電壓范圍寬泛,在電源電壓波動比較大的情況下仍能穩(wěn)定工作,適合多種單片機、Arduino控制器、BS2控制器使用,安裝到機器人上即可感測周圍環(huán)境的變化。<br/> ==規(guī)格參數(shù)== 1. 工作電壓:DC 3.3V~5V<br/> 2. 工作電流:≥20mA <br/> 2. 工作溫度:-10℃ ~ +50℃<br/> 4. 檢測距離:2~40cm<br/> 5. IO接口:4線制接口(-/+/S/EN)<br/> 6. 輸出信號:TTL電平(有障礙物低電平,無障礙物高電平)<br/> 7. 調節(jié)方式:多圈電阻式調節(jié)<br/> 8. 有效角度:35°<br/> 9. 模塊尺寸:28mm×23mm<br/> 10.模塊重量:9g<br/> ==使用方法及例子程序== ===引腳示意圖=== *EN(傳感器使能):置高,傳感器不工作;置低,傳感器工作。<br/> *S(反射信號輸出):當EN置低的情況下,如果沒有檢測到物體,則S端口保持高電平;若檢測到物體,則S端口置低。<br/> *+:接外部供電的Vcc。<br/> *-:接外部供電的GND。<br/> [[文件:mini ir detector.jpg|700px|有框|居中]] #傳感器的接口:共4個,電路板標號分別為EN、S、+、-。分別是傳感器使能端口、檢測信號輸出端口、Vcc、GND。<br/> #使能跳線帽:當用戶想讓傳感器一直處于工作狀態(tài),換句話說用戶不需要自行控制傳感器是否工作,這時可以將跳線帽插在排針上,EN腳可以不接任何線。當用戶想自己控制傳感器是否工作,則要去掉跳線帽,將EN端口接到用戶自己的控制器端口上。<br/> #調節(jié)距離電位器用于調整傳感器探測的距離,當用戶需要調整探測距離時,用螺絲刀調整電位器,按箭頭方向旋轉(順時針方向)是將探測距離減小,相反方向旋轉探測距離增大。<br/> #頻率調節(jié)電位器:用于產(chǎn)生38KHz頻率的方波。正常情況下,在出廠前將阻值調好,無需用戶調節(jié)。但由于外界環(huán)境的不同或振動,出現(xiàn)了接收不到反射信號的情況,這時用戶可以對電位器2進行微調,直到有障礙物時能收到信號,指示燈(LED)點亮即可。<br/> ===使用方法=== 步驟一:接線。<br/> 連接前首先根據(jù)需要確定是否需要控制傳感器的使能端口。如果不選擇控制使能端口,則將跳線帽插在雙排針上,這時只需用排線連接S、+、-三個端口,注意正負極電源不要接反。如果選擇控制傳感器使能,則要拔下跳線帽,放到可以找到的地方,這時需用排線連接EN、S、+、- 四個端口。EN和S端口一般連接到控制器的I/O口。+、- 接到電源的Vcc和GND。<br/> 步驟二:固定。<br/> 根據(jù)需要通過直徑3mm的連接件(銅柱、螺釘、螺栓等)進行固定。傳感器的安裝高度和反射物的顏色決定了能否得到可靠的信號。如果傳感器安裝較低,可以將紅外發(fā)射管抬高些,或者加小型的定向管(如熱縮管)套到紅外發(fā)射管上。為了避免免誤觸發(fā),不要將傳感器安裝在機器人的運動機構上,特殊需求除外。<br/> 步驟三:編程。<br/> 根據(jù)端口狀態(tài)真值表,進行編程應用。<br/> [[文件:Mini紅外避障傳感器03.jpg|440px|有框|居中]] ===示例程序=== <pre style='color:blue'>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); } } </pre> ===程序效果=== # 模塊按引腳定義圖接好探頭模塊,切勿接錯; # 此時指示燈滅,相應輸出端(S)輸出TTL低電平; # 將避障模塊的紅外探頭對準墻壁或其他障礙物,距離為2~40cm厘米左右,此時指示燈亮,相應輸出端(S)輸出TTL高電平; ==應用例程== Mini紅外避障傳感器模塊的測試<br/> 我們使用Arduino控制器和2WD小車來做這個測試,要用到硬件設備如下:<br/> 1、Arduino控制器×1<br/> 2、Arduino 傳感器擴展板×1<br/> 3、Mini紅外避障傳感器模塊×3<br/> 4、2WD小車×1<br/> 5、傳感器支架×1<br/> 6、通用3P傳感器連接線×3<br/> 7、杜邦線若干<br/> 8、USB數(shù)據(jù)通信線×1<br/> 通過配合調節(jié)調頻和調距兩個電位計,調到適合我們的檢測距離。有障礙物位低電平,無障礙物位高電平。使能跳線帽插上就是一直讓傳感器工作,拔下則可以通過控制使能端讓傳感器是否工作。下面的實驗代碼是我們引用Arduino愛好者的一篇博文,(http://blog.sina.com.cn/s/blog_5e4725590100i20b.html)這是實驗代碼的博文地址。<br/> Arduino實驗代碼如下:<br/> <pre style='color:blue'>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(int a)//前進 { analogWrite(speedpin,a);//輸入模擬值進行設定速度 analogWrite(speedpin1,a); digitalWrite(pinI4,LOW);//使直流電機(右)逆時針轉 digitalWrite(pinI3,HIGH); digitalWrite(pinI1,LOW);//使直流電機(左)順時針轉 digitalWrite(pinI2,HIGH); } void right(int b)//右轉 { analogWrite(speedpin,b);//輸入模擬值進行設定速度 analogWrite(speedpin1,b); digitalWrite(pinI4,HIGH);//使直流電機(右)順時針轉 digitalWrite(pinI3,LOW); digitalWrite(pinI1,LOW);//使直流電機(左)順時針轉 digitalWrite(pinI2,HIGH); } void left(int c)//左轉 { analogWrite(speedpin,c);//輸入模擬值進行設定速度 analogWrite(speedpin1,c); 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 back(int d)//后退 { analogWrite(speedpin,d);//輸入模擬值進行設定速度 analogWrite(speedpin1,d); digitalWrite(pinI4,HIGH);//使直流電機(右)順時針轉 digitalWrite(pinI3,LOW); digitalWrite(pinI1,HIGH);//使直流電機(左)逆時針轉 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); }</pre> ==產(chǎn)品相關推薦== [→購買地址 Mini紅外避障傳感器 http://lifestyle201.com/goods-41.html]
返回
(SKU:RB-02S003)Mini紅外避障傳感器
。
來自“
http://lifestyle201.com/wiki/index.php/(SKU:RB-02S003)Mini紅外避障傳感器
”
導航菜單
個人工具
登錄
名字空間
頁面
討論
變換
查看
閱讀
查看源代碼
查看歷史
操作
搜索
導航
首頁
社區(qū)專頁
新聞動態(tài)
最近更改
隨機頁面
工具箱
鏈入頁面
相關更改
特殊頁面
頁面信息
隱私政策
關于ALSROBOT WiKi
免責聲明