你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文

想要DIY一個(gè)會(huì)打招呼的超萌機(jī)器人嗎?猛戳這里

發(fā)布時(shí)間:2016-01-05 來(lái)源:chombaw 責(zé)任編輯:wenwei

【導(dǎo)讀】想要自己動(dòng)手DIY一個(gè)“高大尚”電子玩具的工程師朋友們,看過(guò)來(lái)!我將從頭開(kāi)始打造一個(gè)能夠使用藍(lán)牙進(jìn)行控制的四足烏龜機(jī)器人。該機(jī)器人擁有兩個(gè)自由度,采用的是爬行的方式進(jìn)行運(yùn)動(dòng),所以在不平坦的地面可能不能正常工作。
 
想要DIY一個(gè)會(huì)打招呼的超萌機(jī)器人嗎?猛戳這里
 
第一步:3D打印組件
 
想要DIY一個(gè)會(huì)打招呼的超萌機(jī)器人嗎?猛戳這里
 
本機(jī)器人的部分機(jī)身是采用的3D打印技術(shù)制作的,我在這里提供了這些3D打印部件的.stl文件和.ipt文件,你可以根據(jù)自己的需要對(duì)這些文件修改。你需要打印的文件包含一個(gè)基板、一個(gè)蓋板、3個(gè)前后接頭、一個(gè)前面板、4個(gè)腿部接口、4個(gè)腿部折疊構(gòu)件、一個(gè)后面板、4個(gè)側(cè)面和基板接頭、2個(gè)側(cè)面板、4個(gè)上部構(gòu)件。
 
第二步:其它組件及成本
 
下面我列出了本項(xiàng)目所需要的主要部件以及成本。(當(dāng)然,在中國(guó)購(gòu)買(mǎi)的話(huà),大部分都會(huì)便宜一點(diǎn)。)
 
·3D打印部件~ 40-60美元
 
·Arduino Uno~ 20美元
 
·Arduino 5V傳感器擴(kuò)展板~ 11美元
 
·HC-06藍(lán)牙模組~ 10美元
 
·8個(gè)Futaba S3003標(biāo)準(zhǔn)舵機(jī)~ 80美元
 
·超聲波傳感器~ 7美元
 
·4枚AA電池(驅(qū)動(dòng)舵機(jī))~ 6美元
 
·AA電池套~ 5美元
 
·9V電池(驅(qū)動(dòng)Arduino)~ 8美元
 
·9V電池連接器~ 5美元
 
·4個(gè)母口對(duì)母口線(連接傳感器和擴(kuò)展板)~ 5美元
 
·計(jì)算機(jī)
 
總共大約在197美元~217美元之間。
 
第三步:腿的組裝
 
想要DIY一個(gè)會(huì)打招呼的超萌機(jī)器人嗎?猛戳這里
 
原料備齊了之后就可以開(kāi)始組裝了,我們從腿部開(kāi)始。8個(gè)舵機(jī)分成2組,每組4個(gè)分別安裝在機(jī)器人的“大腿關(guān)節(jié)”和“膝蓋關(guān)節(jié)”處。
 
想要DIY一個(gè)會(huì)打招呼的超萌機(jī)器人嗎?猛戳這里
 
其中“大腿關(guān)節(jié)”處4個(gè)的舵機(jī)需要固定在機(jī)器人的基板上。
 
第四步:連線
 
之后再將帶有擴(kuò)展板的Arduino和電池等安裝到基板上,將藍(lán)牙模組、舵機(jī)和超聲波傳感器對(duì)應(yīng)連接在Arduino的相應(yīng)位置上,最后連接電池。具體的連接方式如下圖所示:
 
想要DIY一個(gè)會(huì)打招呼的超萌機(jī)器人嗎?猛戳這里
 
連接好了是這樣:
 
想要DIY一個(gè)會(huì)打招呼的超萌機(jī)器人嗎?猛戳這里
 
第五步:運(yùn)動(dòng)模式設(shè)計(jì)
 
設(shè)計(jì)一款機(jī)器人,為其設(shè)計(jì)合適的運(yùn)動(dòng)模式當(dāng)然是至關(guān)重要的。我的機(jī)器人是這樣運(yùn)動(dòng)的:
 
當(dāng)機(jī)器人向前運(yùn)動(dòng)時(shí),它首先移動(dòng)其右前足向前,同時(shí)機(jī)器人會(huì)將左前足向后推。這會(huì)將整個(gè)機(jī)器人的右部向前推動(dòng)。然后機(jī)器人再向前移動(dòng)其左后足,這時(shí)又會(huì)將其右后足向后推。這種運(yùn)動(dòng)會(huì)將機(jī)器人的左部推向前。接下來(lái)機(jī)器人會(huì)左前足向前、右前足后推;然后再右后足向前、左后腿后;如此往復(fù)。這種方式能讓機(jī)器人以比較快的速度向前運(yùn)動(dòng)。如下圖所示:
 
想要DIY一個(gè)會(huì)打招呼的超萌機(jī)器人嗎?猛戳這里
 
而當(dāng)機(jī)器人倒退時(shí),只需要反過(guò)來(lái)執(zhí)行整個(gè)過(guò)程就行了。
 
如果機(jī)器人需要右轉(zhuǎn),則機(jī)器人移動(dòng)右前足向前,同時(shí)又移動(dòng)右后足向前,然后在左后足不動(dòng)的情況下讓右前足向后運(yùn)動(dòng)。接下來(lái)前移左前足,然后后移右后足,同時(shí)前移其左前足。右轉(zhuǎn)即完成。
 
同理,當(dāng)機(jī)器人需要左轉(zhuǎn)時(shí),可以讓機(jī)器人線移動(dòng)左前足向前,并移動(dòng)左后足向前,然后在右后足保持不動(dòng)的狀態(tài)下讓左前足向后運(yùn)動(dòng)。接下來(lái),機(jī)器人繼續(xù)移動(dòng)右前足向前,然后移動(dòng)左后足向后的同時(shí)后移其右前腿。左轉(zhuǎn)即完成。
 
第六步:代碼
 
代碼分為兩個(gè)部分:The_Social_Quadruped.ino和Quad_Functions.ino。
 
第一個(gè)包含了Servo.h庫(kù)(Arduino IDE自帶)和NewPing.h。我首先定義了觸發(fā)引腳、相應(yīng)引腳以及超聲波傳感器的最大距離;之后我又定義了一個(gè)布爾變量,可以用來(lái)切換機(jī)器人的自動(dòng)模式。之后又定義了舵機(jī)。在設(shè)置函數(shù)中,我初始化了串口檢測(cè)器,讓我可以將命令發(fā)送到Arduino上。在循環(huán)函數(shù)中,我設(shè)置超聲波傳感器發(fā)送最近物體的距離給串口檢測(cè)器,然后檢查用戶(hù)輸入。如果用戶(hù)輸入字符為 f, b, r, l, w, s, u 或a,那么則將分別執(zhí)行前進(jìn)、后退、右轉(zhuǎn)、左轉(zhuǎn)、揮手、睡眠、站立或自動(dòng)工作這幾個(gè)不同的功能。這些功能函數(shù)是在Quad_Functions.ino中定義的,可以輕松地調(diào)用。另外,需要提及的是當(dāng)用戶(hù)按了a之后,機(jī)器人將進(jìn)入自動(dòng)模式;要取消自動(dòng)模式則需要用戶(hù)再點(diǎn)擊一次a。
 
第二部分Quad_Functions.ino則包含了所有功能的函數(shù)定義。其中包括機(jī)器人的各種運(yùn)動(dòng)模式。前進(jìn)、后退、右轉(zhuǎn)、左轉(zhuǎn)等函數(shù)都很好理解,揮手功能包含wave2 和wave兩個(gè)函數(shù),可以讓機(jī)器人分別使用左前足和右前足揮手。waveAuto函數(shù)是機(jī)器人在自動(dòng)模式下?lián)]手,使用的是右前足。睡眠模式是指機(jī)器人將舵機(jī)的位置運(yùn)動(dòng)到讓機(jī)器人平躺到地面的模式。readPing函數(shù)則用來(lái)讀取超聲波傳感器傳遞的數(shù)據(jù)。
 
第七步:無(wú)線控制
 
首先當(dāng)然要確保藍(lán)牙模塊是按以上描述正確安裝的。
 
接下來(lái),啟動(dòng)你電腦上的藍(lán)牙并將其和Arduino上的藍(lán)牙連接配對(duì)。配對(duì)完成之后,進(jìn)入控制面板,在設(shè)備中找到HC-06。右鍵點(diǎn)擊并選擇“屬性”,選擇“服務(wù)”選項(xiàng),將該接口的串口通信勾線上。
 
然后進(jìn)入Arduino IDE,選擇路徑Tools -> Port,將上面“服務(wù)”選項(xiàng)中的接口設(shè)置上去。然后就大功告成了!
 
打開(kāi)串口監(jiān)視器,你可以查看超聲波傳感器的讀數(shù),并且可以將機(jī)器人通過(guò)USB連接到電腦上進(jìn)行控制。



推薦閱讀:


華為智能手環(huán)TalkBand B2拆解分析,時(shí)尚,輕便,觀感極好!

由十余款創(chuàng)客設(shè)計(jì)看FPGA如何在智能硬件界“大展拳腳”?



 
要采購(gòu)傳感器么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉