“(SKU:RB-02S002)Mini紅外尋線傳感器”的版本間的差異

來(lái)自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
?應(yīng)用例程
第46行: 第46行:
 
# 同理,尋線模塊的紅外探頭對(duì)準(zhǔn)白紙,高度1厘米左右,此時(shí)指示燈亮,相應(yīng)輸出端(S)輸出TTL高電平;
 
# 同理,尋線模塊的紅外探頭對(duì)準(zhǔn)白紙,高度1厘米左右,此時(shí)指示燈亮,相應(yīng)輸出端(S)輸出TTL高電平;
 
==應(yīng)用例程==
 
==應(yīng)用例程==
?
# 模塊數(shù)量可根據(jù)情況使用,把尋線模塊安裝在距地圖1cm高度的位置;
+
 
?
# 尋線模塊安裝方法:
+
我們使用Arduino控制器及2WD小車做測(cè)試,要用到硬件設(shè)備如下:
?
[[文件:mini-3.jpg|500px|有框|居中]]
+
1、Arduino控制器×1
?
:如圖所示,3個(gè)模塊按三角形安裝,當(dāng)小車直行時(shí),①③號(hào)模塊均輸出高電平(此時(shí)指示燈亮),②輸出低電平(此時(shí)指示燈滅);如果小車向左偏移,②模塊偏離黑線,輸出高電平(此時(shí)指示燈亮),③號(hào)模塊進(jìn)入黑線范圍,輸出低電平(此時(shí)指示燈滅);同理,小車向右偏移,②模塊偏離黑線,輸出高電平,①號(hào)模塊進(jìn)入黑線范圍,輸出低電平。
+
2、Arduino 傳感器擴(kuò)展板×1
 +
3、2WD小車×1
 +
4、Mini紅外巡線傳感器×3
 +
5、傳感器支架×1
 +
6、傳感器連接線×3
 +
7、杜邦線若干
 +
8、USB數(shù)據(jù)通信線×1
 +
我們結(jié)合2WD小車做一下巡線傳感器的測(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)推薦==
 
==產(chǎn)品相關(guān)推薦==
 
  →購(gòu)買地址  Mini紅外尋線傳感器 http://www.gharee.com/goods.php?id=152]
 
  →購(gòu)買地址  Mini紅外尋線傳感器 http://www.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)行白線或黑線跟蹤,可以檢測(cè)白底中的黑線,也可以檢測(cè)黑底中的白線。尋線反饋信號(hào)可以提供穩(wěn)定的TTL 電平輸出(開關(guān)量),使尋線更準(zhǔn)確更穩(wěn)定。其可用于光電測(cè)速、程控小車尋線,是輪式機(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. 找張白紙,在白紙上畫根黑線條(約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)用例程

我們使用Arduino控制器及2WD小車做測(cè)試,要用到硬件設(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小車做一下巡線傳感器的測(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)買地址  Mini紅外尋線傳感器 http://www.gharee.com/goods.php?id=152]