(RB-13K056)AS-4WD移動(dòng)偵測(cè)避障機(jī)器人

來(lái)自ALSROBOT WiKi
2016年6月27日 (一) 17:10Arduino77討論 | 貢獻(xiàn)的版本

(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航搜索
4wdzhencebizhang.png

目錄

產(chǎn)品概述

超聲波作為智能車(chē)避障的一種重要手段,以其避障實(shí)現(xiàn)便,計(jì)算簡(jiǎn)單,易于做時(shí)控制,測(cè)量精度也能達(dá)到實(shí)用的要求,在未來(lái)汽車(chē)智能化進(jìn)程中必將得到廣泛。AS-4WD 超聲偵測(cè)自主避障機(jī)器人采用RB-URF02超聲波傳感器,可使機(jī)器人像蝙蝠一樣通過(guò)聲納來(lái)感知周?chē)沫h(huán)境,傳感器下面安裝伺服舵機(jī)可以令其具有旋轉(zhuǎn)功從而可實(shí)現(xiàn)一個(gè)傳感器多方位測(cè)距與探測(cè)避障功能。產(chǎn)品為全鋁合金車(chē)體,結(jié)實(shí)耐用,四個(gè)馬達(dá)7.2V電壓獨(dú)立驅(qū)動(dòng),動(dòng)力強(qiáng)勁,結(jié)構(gòu)合理,便于擴(kuò)展;獨(dú)立散件包裝,讓您完全體驗(yàn)DIY的樂(lè)趣。

配件參數(shù)

直流減速電機(jī)(1:48)

  1. 驅(qū)動(dòng)電機(jī)齒輪箱減速比:1:48
  2. 無(wú)負(fù)載轉(zhuǎn)速(3V):168RPM
  3. 無(wú)負(fù)載轉(zhuǎn)速(6V):300RPM
  4. 無(wú)負(fù)載時(shí)電流(3V):90mA
  5. 無(wú)負(fù)載時(shí)電流(6V):100mA
  6. 扭矩大小 (3V): 0.04N.m
  7. 扭矩大小 (6V): 0.08N.m
  8. 尺寸大?。?0.50 mm×27.00 mm×23.00 mm(長(zhǎng)×寬×高)
  9. 重量大小: 約30g

電控部分資料

Carduino UNO控制器

Carduino UNO相關(guān)資料及使用方法

雙H橋電機(jī)驅(qū)動(dòng)板

雙H橋電機(jī)驅(qū)動(dòng)板相關(guān)資料及使用方法

超聲波傳感器

超聲波傳感器相關(guān)資料及使用方法

傳感器擴(kuò)展板

V5.0傳感器擴(kuò)展板相關(guān)資料及使用方法

RB-421舵機(jī)

RB-421舵機(jī)相關(guān)資料及使用方法

零件清單

4wdchaoshengboqingdan.png

安裝步驟

充電接口撥動(dòng)開(kāi)關(guān)連接線制作

充電接口撥動(dòng)開(kāi)關(guān)連接線制作步驟詳解

機(jī)械部分安裝步驟

直流電機(jī)安裝

4WD平臺(tái)兩側(cè)電機(jī)安裝方法相同,需要注意的是在安裝電機(jī)之前需要將電機(jī)連接線使用電烙鐵焊接好,并使用熱縮過(guò)加熱塑封。

Jiansudianjianzhuang.png

平臺(tái)側(cè)板安裝

Cebanxiabananzhuang.png

平臺(tái)端板安裝

Duanbananzhuang.png

電控部分安裝步驟

雙H橋電機(jī)驅(qū)動(dòng)板安裝示意圖
充電接口和撥動(dòng)開(kāi)關(guān)安裝示意圖
主控制器安裝示意圖
舵機(jī)安裝示意圖
超聲波傳感器安裝示意圖
上下兩部分安裝示意圖
4WD輪子安裝示意圖
4WD偵測(cè)避障平臺(tái)安裝完成效果圖

整機(jī)實(shí)驗(yàn)

實(shí)驗(yàn)接線圖

注意:1.超聲波傳感器在實(shí)驗(yàn)中使用的是單線模式。
2.主控板采用分離供電方式,這種供電方式需要將傳感器擴(kuò)展板端子旁邊的一個(gè)黃色跳線帽拔掉。

控制器引腳 連接引腳
數(shù)字口 D15(A1) 超聲波傳感器 input
數(shù)字口 D8 RB-421舵機(jī)
數(shù)字口 D5 雙H橋驅(qū)動(dòng)板 EA
數(shù)字口 D6 雙H橋驅(qū)動(dòng)板 I2
數(shù)字口 D7 雙H橋驅(qū)動(dòng)板 I1
數(shù)字口 D9 雙H橋驅(qū)動(dòng)板 I3
數(shù)字口 D10 雙H橋驅(qū)動(dòng)板 I4
數(shù)字口 D11 雙H橋驅(qū)動(dòng)板 EB
雙H橋驅(qū)動(dòng)板 VMS 7.4V鋰電池 + 極
雙H橋驅(qū)動(dòng)板 VMS 傳感器擴(kuò)展板 VIN
雙H橋驅(qū)動(dòng)板 5V 傳感器擴(kuò)展板端子 + 極
雙H橋驅(qū)動(dòng)板 GND 傳感器擴(kuò)展板端子 - 極


應(yīng)用例程

#include <Servo.h> 
Servo myservo;
int duration; //定義變量duration用來(lái)存儲(chǔ)脈沖 
int distance; //定義變量distance用來(lái)存儲(chǔ)距離值 
int srfPin = 15; //定義srfPin為數(shù)字口15 
int z; //定義變量Z int val; 
int val;//定義變量val 
int val1; //定義變量val1 
int val2; //定義變量val2 
void setup() 
{ 
  myservo.attach(8); //8號(hào)引腳輸出舵機(jī)控制信號(hào) 
  Serial.begin(9600); //僅能使用9、10號(hào)引腳 
  pinMode(9,OUTPUT); //定義I3接口 
  pinMode(10,OUTPUT); //定義I4接口 
  pinMode(11,OUTPUT); //定義EB(PWM調(diào)速)接口 
  pinMode(5,OUTPUT); //定義EA(PWM調(diào)速)接口 
  pinMode(6,OUTPUT); //定義I2接口 
  pinMode(7,OUTPUT); //定義I1接口 
  myservo.write(90); //使舵機(jī)轉(zhuǎn)到90度
}
void loop() 
{ 
  delay(20); //延時(shí)20毫秒 
  Goahead(); //調(diào)用前進(jìn)子程序 
  val=Ultrasonic(z); //將超聲波讀取的距離值賦值給val 
  if(val<25) //判斷如果val小于25則繼續(xù)執(zhí)行 
{ 
  Stop(); //調(diào)用停止子程序 
  myservo.write(0); //讓舵機(jī)轉(zhuǎn)0度 
  delay(1000); //延時(shí)1秒等待舵機(jī)到達(dá)指定位置
  val1=Ultrasonic(z); //將超聲波讀取的距離值賦值給
  delay(1000); //延時(shí)1秒等待舵機(jī)到達(dá)指定位置 
  myservo.write(179); //讓舵機(jī)轉(zhuǎn)180度 
  delay(1000); //延時(shí)1秒等待舵機(jī)到達(dá)指定位置 
  val2=Ultrasonic(z); //將超聲波讀取的距離值賦值給val2 
  delay(1000); //延時(shí)1秒等待舵機(jī)到達(dá)指定位置 
  myservo.write(83); //讓舵機(jī)轉(zhuǎn)90度 
  delay(1000); //延時(shí)1秒 
  if(val1<val2) 
{ 
  Turn_left(); //調(diào)用左轉(zhuǎn)子程序 
  delay(200); //延時(shí)200毫秒
 } 
  else 
{ 
  Turn_right(); //調(diào)用右轉(zhuǎn)子程序 
  delay(200); //延時(shí)200毫秒 
} 
  delay(500); //延時(shí)500毫秒
  }
}
int Ultrasonic(int distance) 
{ 
  pinMode(srfPin,OUTPUT); //定義srfPin為輸出接口 
  digitalWrite(srfPin, LOW); //高電平觸發(fā)前發(fā)送2微秒的低電平 
  delayMicroseconds(2); 
  digitalWrite(srfPin, HIGH); //發(fā)送10微秒的高電平開(kāi)始檢測(cè) 
  delayMicroseconds(10); 
  digitalWrite(srfPin, LOW); //等待脈沖返回前發(fā)送一個(gè)低電平 
  pinMode(srfPin, INPUT); //定義srfPin為輸入接口 
  duration = pulseIn(srfPin, HIGH); //從URF02讀取脈沖 
  distance = duration/58; //除以58得到距離值 
  return distance; 
}
void Goahead()//前進(jìn) 
{ 
  analogWrite(5,165); //輸入模擬值進(jìn)行設(shè)定速度 
  digitalWrite(7,LOW); //使直流電機(jī)(右)順時(shí)針轉(zhuǎn) 
  digitalWrite(6,HIGH); 
  analogWrite(11,160); //輸入模擬值進(jìn)行設(shè)定速度 
  digitalWrite(9,HIGH); //使直流電機(jī)(左)逆時(shí)針轉(zhuǎn) 
  digitalWrite(10,LOW);
 } 
void Stop()//停止 
{ 
digitalWrite(6,HIGH); //使直流電機(jī)(右)制動(dòng) 
digitalWrite(7,HIGH); 
digitalWrite(9,HIGH); //使直流電機(jī)(左)制動(dòng) 
digitalWrite(10,HIGH); 
} 
void Turn_right()//右轉(zhuǎn) 
{ 
  analogWrite(5,170); //輸入模擬值進(jìn)行設(shè)定速度 
  digitalWrite(6,LOW); //使直流電機(jī)(右)順時(shí)針轉(zhuǎn) 
  digitalWrite(7,HIGH); 
  analogWrite(11,150); //輸入模擬值進(jìn)行設(shè)定速度 
  digitalWrite(9,HIGH); //使直流電機(jī)(左)逆時(shí)針轉(zhuǎn) 
  digitalWrite(10,LOW); 
} 
void Turn_left()//左轉(zhuǎn) 
{ 
  analogWrite(5,150); //輸入模擬值進(jìn)行設(shè)定速度 
  digitalWrite(7,LOW); //使直流電機(jī)(右)順時(shí)針轉(zhuǎn) 
  digitalWrite(6,HIGH); 
  analogWrite(11,170); //輸入模擬值進(jìn)行設(shè)定速度 
  digitalWrite(10,HIGH); //使直流電機(jī)(左)逆時(shí)針轉(zhuǎn) 
  digitalWrite(9,LOW); 
}

視頻演示

4wd ding ju 01.png
4wd zhen ce.png


產(chǎn)品相關(guān)推薦

Erweima.png

產(chǎn)品購(gòu)買(mǎi)地址

AS-4WD鋁合金超聲波自主偵測(cè)避障機(jī)器人套件

周邊產(chǎn)品推薦

Arduino 4WD鋁合金移動(dòng)平臺(tái)車(chē)燈套件
Arduino 光電碼盤(pán) 光電測(cè)速傳感器

相關(guān)問(wèn)題解答

AS-4WD 碰撞機(jī)器人如何安裝
4wd 紅外線巡線壁障車(chē)調(diào)試助手沒(méi)有反應(yīng)

相關(guān)學(xué)習(xí)資料

視頻:機(jī)器人調(diào)試助手無(wú)線操控AS-4WD輪式機(jī)器人
視頻:Arduino-4WD移動(dòng)機(jī)器人尋線功能演示
視頻:Arduino-4WD移動(dòng)機(jī)器人碰撞功能演示
視頻:Arduino-4WD移動(dòng)機(jī)器人追光功能演示
視頻:Arduino-4WD移動(dòng)機(jī)器人尋線與避障功能演示
視頻:Arduino-4WD移動(dòng)機(jī)器人偵測(cè)避障功能演示
視頻:直流減速電機(jī)驅(qū)動(dòng)實(shí)例
奧松機(jī)器人技術(shù)論壇