23
8路雷射循線模組

8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

8路雷射循線模組

Page 2: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

• 第一章 介紹

• 第二章 架設車體

• 第三章 範例程式

Page 3: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

材料表

CGGs_Arduino杜邦線公對母 10P 20cm

*1

M3x6十字塑膠螺絲 *4

六角塑膠柱25mm 雙凹*2

8路循線模組

Page 4: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

簡介

8路雷射感測模組是由8個雷射所組成,當照射在顏色較淺或白色的地面上時,感應器輸出低電壓;當照射在顏色較深或者黑色的店面上時,感應器輸出高電壓。此感測模組可以觀察板子上的LED燈號就知道感測模組所讀取到的數位訊號。在板子的右邊有一個調整鈕,可以調整雷射的亮度。

Page 5: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

特色

• 八個作為眼睛的雷射感測器

• 有可以控制雷射開關的調整鈕

• 不受環境影響

Page 6: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

硬體介紹

1.循跡靈敏度和距離調整紐-可調整8路雷射感測模組的輸出功率調整靈敏度和感應距離。 2.8路LED指示燈-用來顯示8路雷射模組檢測路面訊息狀態。 3.8路雷射循線模組輸出輸入-基本I/O輸出。 4.安裝孔-可使用這五個安裝孔將此板子安裝到你所要使用的機器人上。 5.電源-5V與GND的接線位置。 6. 雷射感測器-可以發射跟接收雷射的射線。

1

2

3 4

6

5

Page 7: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

接線對照

感測器 主要控制板 備註

G GND

5V 5V 輸入範圍4.5V~5.5V

D1 D11

D2 D10

D3 D9

D4 D8

D5 D7

D6 D6

D7 D5

D8 D4

Page 8: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

組裝 Step1 將一個M3x6塑膠螺絲穿過安裝孔。

Step2 將M3x6塑膠螺絲鎖上一個六角塑膠柱25mm(雙凹) 。

M3x6塑膠螺絲

M3x6塑膠螺絲

六角塑膠柱25mm(雙凹)

Page 9: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

Step3 重複上述兩個步驟將另一邊也使用M3x6塑膠螺絲將雷射循線感測器固定在M3x6塑膠螺絲與六角塑膠柱25mm(雙凹)(如左圖) 。

Page 10: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

Step6 將一個塑膠螺絲放在車子前方可以安裝的地方(如左圖)。

Step7 將剛剛組裝完的雷射循線感測器用塑膠螺絲先把一邊給鎖在車上(注意,不要鎖死)。

Page 11: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

Step8 另一方也鎖上塑膠螺絲(注意,也不要鎖死)。

Step9 決定好要鎖上的位置後再將兩邊的塑膠螺絲鎖緊(如左圖)。

可移動到你所需要的位置

已經固定

Page 12: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

Step10 將CGGs_Arduino杜邦線公對母取出十條來做使用(這邊以黑、白代表GND、5V,其他顏色的線為I/O輸出腳位,也可依個人喜好來決定各腳位的色線),接線如下圖或參考接線對照表來接線。

GND 5V

D8 D7

D6 D5

D4 D3

D2 D1

GND

5V

Page 13: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

Step11 將訊號線接上板子的輸出腳位(D1~D8)。

Page 14: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

Step12 將電源跟接地線接到板子上5V跟GND上,訊號線接到數位接腳(4~11)。

Page 15: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

完成

Page 16: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

雷射調整

在8路雷射感測模組上有個旋轉鈕可以調整雷射的亮度,這說明它可以組裝在不同高度的上來使用(請依照適當高度來調整)。

記住:高度會依不同機器人有所不同,在使用前請先做好調整

Page 17: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

• Step1 調整左方旋轉鈕直到LED指示燈都亮起

旋轉鈕

Page 18: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

• Step2 再調整左方旋轉鈕直到LED指示燈都滅或者已轉到底為止

旋轉鈕

Page 19: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

• Step3 把亮度設定在剛剛測量的兩個位置之間適合的位置。

旋轉鈕

Page 20: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

範例程式(讀取) byte ir=0,a=0; void setup() { DDRB=B000000; DDRD=B00000000; Serial.begin(9600); } void loop() { ir=detection(); Serial.println(ir,BIN); } byte detection() { byte a=PIND,b=PINB; a/=16; b%=16; return b*16+a; }

Page 21: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

當雷射遇到白色部分即反射,並接收器接收訊號,此時訊號值為 0 ;當遇到黑色部分時被吸收,接收器未接收到訊號,則訊號值為 1 。

Page 22: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

#include<Servo.h> Servo servo1; Servo servo2; byte ir=0,temp=0; void setup() { DDRB=B000000; DDRD=B00000000; servo1.attach(12); servo2.attach(13); } void loop() { ir=detection(); switch(ir & B01111110) { case B00110000: case B00100000: case B01000000: servo1.writeMicroseconds(1540); servo2.writeMicroseconds(1340); break;

case B00001100: case B00000100: case B00000010: servo1.writeMicroseconds(1660); servo2.writeMicroseconds(1460); break; case B00000110: case B00001110: case B00011110: temp=0; break; case B01100000: case B01110000: case B01111000: temp=1; break; case B00000000: if(temp==0) { do { servo1.writeMicroseconds(1700); servo2.writeMicroseconds(1500); ir = detection();

}while(ir=B00000000); break; } else if(temp==1) { do { servo1.writeMicroseconds(1500); servo2.writeMicroseconds(1300); ir = detection(); }while(ir==B00000000); break; default: servo1.writeMicroseconds(1600); servo2.writeMicroseconds(1400); } }} byte detection() { byte a=PIND,b=PINB; a/=16; b%=16; return b*16+a; }

範例程式(循線)

Page 23: 8路雷射循線模組 - playrobot.com‰‹冊.pdf · CGGs_Arduino杜邦 線公對母 10P 20cm ... 範例程式(循線) 偵測 直走 中間 Ture 左修正 右修正 temp=1 偏右

偵測

直走

中間 Ture

右修正 左修正

temp=1

偏右 偏左

temp=0

轉彎

無 Ture

右轉 左轉 temp=1 temp=0

Ture Ture