|
|
第43行: |
第43行: |
| ====步驟6:L型展開和平板安裝==== | | ====步驟6:L型展開和平板安裝==== |
| [[文件:RB13K14308.png|500px|有框|居中|]] | | [[文件:RB13K14308.png|500px|有框|居中|]] |
? | ====步驟7:步驟11和步驟13安裝==== | + | ====步驟7:STEP11和STEP13安裝==== |
| [[文件:RB13K14309.png|500px|有框|居中|]] | | [[文件:RB13K14309.png|500px|有框|居中|]] |
| ====步驟8:平板連接安裝==== | | ====步驟8:平板連接安裝==== |
第51行: |
第51行: |
| ====步驟10:銅柱安裝安裝==== | | ====步驟10:銅柱安裝安裝==== |
| [[文件:RB13K14312.png|500px|有框|居中|]] | | [[文件:RB13K14312.png|500px|有框|居中|]] |
? | ====步驟11:步驟19和步驟21安裝==== | + | ====步驟11:STEP19和STEP21安裝==== |
| [[文件:RB13K14313.png|500px|有框|居中|]] | | [[文件:RB13K14313.png|500px|有框|居中|]] |
| ====步驟12:安裝完成==== | | ====步驟12:安裝完成==== |
| [[文件:RB13K14315.png|500px|有框|居中|]] | | [[文件:RB13K14315.png|500px|有框|居中|]] |
| | | |
? | ==整機測試==
| |
? | ===接線說明===
| |
? | 接線圖:<br/>
| |
? | [[文件:RB13K07416.png|500px|有框|居中]]
| |
? | 接線說明:<br/>
| |
? | * 數(shù)字口5→接雙H 橋驅(qū)動板的EB
| |
? | * 數(shù)字口6→接雙H 橋驅(qū)動板的I4
| |
? | * 數(shù)字口7→接雙H 橋驅(qū)動板的I3
| |
? | * 數(shù)字口8→接雙H 橋驅(qū)動板的I1
| |
? | * 數(shù)字口9→接雙H 橋驅(qū)動板的I2
| |
? | * 數(shù)字口10→接雙H 橋驅(qū)動板的EA
| |
? | * 尋線傳感器從左至右依次接Arduino 控制器的數(shù)字口2、數(shù)字口3、數(shù)字口4、數(shù)字口11、數(shù)字口12。
| |
? | * 左側(cè)避障傳感器接模擬口2、中間避障傳感器接模擬口1、右側(cè)避障傳感器接模擬口0。
| |
? |
| |
? | ===例子程序===
| |
? | <pre style="color:blue">
| |
? | void setup()
| |
? | {
| |
? | pinMode(8,OUTPUT);//定義I1 接口
| |
? | pinMode(9,OUTPUT);//定義I2 接口
| |
? | pinMode(10,OUTPUT);//定義EA(PWM 調(diào)速)接口
| |
? | pinMode(5,OUTPUT);//定義EB(PWM 調(diào)速)接口
| |
? | pinMode(6,OUTPUT);//定義I4 接口
| |
? | pinMode(7,OUTPUT);//定義I3 接口
| |
? | pinMode(2,INPUT);//定義尋線
| |
? | pinMode(3,INPUT);//定義尋線
| |
? | pinMode(4,INPUT);//定義尋線
| |
? | pinMode(11,INPUT);//定義尋線
| |
? | pinMode(12,INPUT);//定義尋線
| |
? | pinMode(14,INPUT);//定義避障
| |
? | pinMode(15,INPUT);//定義避障
| |
? | pinMode(16,INPUT);//定義避障
| |
? | }
| |
? | void qianjin()//前進
| |
? | {
| |
? | analogWrite(10,110);//輸入模擬值進行設(shè)定速度
| |
? | analogWrite(5,110);
| |
? | digitalWrite(7,HIGH);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(6,LOW);
| |
? | digitalWrite(8,LOW);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(9,HIGH);
| |
? | }
| |
? | void youzhuan1()//右轉(zhuǎn)
| |
? | {
| |
? | analogWrite(10,110);//輸入模擬值進行設(shè)定速度
| |
? | analogWrite(5,110);
| |
? | digitalWrite(7,LOW);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(6,HIGH);
| |
? | digitalWrite(8,LOW);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(9,HIGH);
| |
? | }
| |
? | void youzhuan2()//右轉(zhuǎn)
| |
? | {
| |
? | analogWrite(10,110);//輸入模擬值進行設(shè)定速度
| |
? | analogWrite(5,110);
| |
? | digitalWrite(7,LOW);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(6,HIGH);
| |
? | digitalWrite(8,LOW);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(9,HIGH);
| |
? | }
| |
? | void zuozhuan1()//左轉(zhuǎn)
| |
? | {
| |
? | analogWrite(10,110);//輸入模擬值進行設(shè)定速度
| |
? | analogWrite(5,110);
| |
? | digitalWrite(7,HIGH);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(6,LOW);
| |
? | digitalWrite(8,HIGH);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(9,LOW);
| |
? | }
| |
? | void zuozhuan2()//左轉(zhuǎn)
| |
? | {
| |
? | analogWrite(10,110);//輸入模擬值進行設(shè)定速度
| |
? | analogWrite(5,110);
| |
? | digitalWrite(7,HIGH);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(6,LOW);
| |
? | digitalWrite(8,HIGH);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(9,LOW);
| |
? | }
| |
? | void tingzhi()//停止
| |
? | {
| |
? | digitalWrite(7,HIGH);//使直流電機(右)停轉(zhuǎn)
| |
? | digitalWrite(6,HIGH);
| |
? | digitalWrite(8,HIGH);//使直流電機(左)停轉(zhuǎn)
| |
? | digitalWrite(9,HIGH);
| |
? | }
| |
? | void houtui()//后退
| |
? | {
| |
? | analogWrite(10,110);//輸入模擬值進行設(shè)定速度
| |
? | analogWrite(5,110);
| |
? | digitalWrite(7,LOW);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(6,HIGH);
| |
? | digitalWrite(8,HIGH);//使直流電機運轉(zhuǎn)
| |
? | digitalWrite(9,LOW);
| |
? | }
| |
? | void loop()
| |
? | {
| |
? | int l,m1,m2,m3,r,b1,b2,b3;
| |
? | l=digitalRead(12);
| |
? | m1=digitalRead(11);
| |
? | m2=digitalRead(4);
| |
? | m3=digitalRead(3);
| |
? | r=digitalRead(2);
| |
? | b1=digitalRead(14);
| |
? | b2=digitalRead(15);
| |
? | b3=digitalRead(16);
| |
? | if(l==LOW || m1==LOW || m2==LOW || m3==LOW || r==LOW)
| |
? | //判斷是否有黑線有則繼續(xù)
| |
? | {
| |
? | if(l==LOW && m1==LOW && m2==LOW && m3==LOW && r==LOW)
| |
? | qianjin();
| |
? | if(l==HIGH && m1==HIGH && m2==LOW && m3==HIGH && r==HIGH)
| |
? | qianjin();
| |
? | if(l==HIGH && m1==HIGH && m2==LOW && m3==LOW && r==HIGH)
| |
? | youzhuan1();
| |
? | if(l==HIGH && m1==HIGH && m2==HIGH && m3==LOW && r==LOW)
| |
? | youzhuan2();
| |
? | if(l==HIGH && m1==HIGH && m2==HIGH && m3==LOW && r==HIGH)
| |
? | youzhuan1();
| |
? | if(l==HIGH && m1==HIGH && m2==HIGH && m3==HIGH && r==LOW)
| |
? | youzhuan2();
| |
? | if(l==HIGH && m1==LOW && m2==LOW && m3==HIGH && r==HIGH)
| |
? | zuozhuan1();
| |
? | if(l==LOW && m1==LOW && m2==HIGH && m3==HIGH && r==HIGH)
| |
? | zuozhuan2();
| |
? | if(l==HIGH && m1==LOW && m2==HIGH && m3==HIGH && r==HIGH)
| |
? | zuozhuan1();
| |
? | if(l==LOW && m1==HIGH && m2==HIGH && m3==HIGH && r==HIGH)
| |
? | zuozhuan2();
| |
? | }
| |
? | if(l==HIGH && m1==HIGH && m2==HIGH && m3==HIGH && r==HIGH)
| |
? | //無黑線情況下判斷是否有障礙有則繼續(xù)
| |
? | {
| |
? | if(b1==HIGH && b2==HIGH && b3==HIGH)
| |
? | qianjin();
| |
? | if(b1==HIGH && b2==HIGH && b3==LOW)
| |
? | {
| |
? | houtui();
| |
? | delay(300);
| |
? | zuozhuan1();
| |
? | delay(300);
| |
? | }
| |
? | if(b1==HIGH && b2==LOW && b3==LOW)
| |
? | {
| |
? | houtui();
| |
? | delay(300);
| |
? | zuozhuan1();
| |
? | delay(300);
| |
? | }
| |
? | if(b1==LOW && b2==HIGH && b3==HIGH)
| |
? | {
| |
? | houtui();
| |
? | delay(300);
| |
? | youzhuan1();
| |
? | delay(300);
| |
? | }
| |
? | if(b1==LOW && b2==LOW && b3==HIGH)
| |
? | {
| |
? | houtui();
| |
? | delay(300);
| |
? | youzhuan1();
| |
? | delay(300);
| |
? | }
| |
? | if(b1==LOW && b2==LOW && b3==LOW)
| |
? | {
| |
? | houtui();
| |
? | delay(300);
| |
? | youzhuan1();
| |
? | delay(300);
| |
? | }
| |
? | }
| |
? | }
| |
? | </pre>
| |
| | | |
| ==視頻演示== | | ==視頻演示== |
哈爾濱奧松機器人科技有限公司最新推出的AS-4WD尋線避障移動機器人套件是自主研發(fā)并生產(chǎn)的一款機器人套件。該套件可以智能判斷引導線并檢測躲避障礙物,可實現(xiàn)自動導引和避障功能,AS-4WD尋線避障移動機器人使用Mini紅外尋線傳感器感知引導線,使用Mini紅外避障傳感器感知障礙物。