基于A(yíng)rduino DIY一個(gè)會(huì )打招呼的超萌機器人

發(fā)布時(shí)間:2015-12-16 13:25    發(fā)布者:designapp
關(guān)鍵詞: Arduino , 機器人 , DIY


在本項目中,我將從頭開(kāi)始打造一個(gè)能夠使用藍牙進(jìn)行控制的四足烏龜機器人。該機器人擁有兩個(gè)自由度,采用的是爬行的方式進(jìn)行運動(dòng),所以在不平坦的地面可能不能正常工作。

第一步:3D打印組件



本機器人的部分機身是采用的3D打印技術(shù)制作的,我在這里提供了這些3D打印部件的.stl文件和.ipt文件,你可以根據自己的需要對這些文件修改。你需要打印的文件包含一個(gè)基板、一個(gè)蓋板、3個(gè)前后接頭、一個(gè)前面板、4個(gè)腿部接口、4個(gè)腿部折疊構件、一個(gè)后面板、4個(gè)側面和基板接頭、2個(gè)側面板、4個(gè)上部構件。

第二步:其它組件及成本

下面我列出了本項目所需要的主要部件以及成本。(當然,在中國購買(mǎi)的話(huà),大部分都會(huì )便宜一點(diǎn)。)

·3D打印部件~ 40-60美元
·Arduino Uno~ 20美元
·Arduino 5V傳感器擴展板~ 11美元
·HC-06藍牙模組~ 10美元
·8個(gè)Futaba S3003標準舵機~ 80美元
·超聲波傳感器~ 7美元
·4枚AA電池(驅動(dòng)舵機)~ 6美元
·AA電池套~ 5美元
·9V電池(驅動(dòng)Arduino)~ 8美元
·9V電池連接器~ 5美元
·4個(gè)母口對母口線(xiàn)(連接傳感器和擴展板)~ 5美元
·計算機

總共大約在197美元~217美元之間。

第三步:腿的組裝



原料備齊了之后就可以開(kāi)始組裝了,我們從腿部開(kāi)始。8個(gè)舵機分成2組,每組4個(gè)分別安裝在機器人的“大腿關(guān)節”和“膝蓋關(guān)節”處。



其中“大腿關(guān)節”處4個(gè)的舵機需要固定在機器人的基板上。

第四步:連線(xiàn)

之后再將帶有擴展板的Arduino和電池等安裝到基板上,將藍牙模組、舵機和超聲波傳感器對應連接在A(yíng)rduino的相應位置上,最后連接電池。具體的連接方式如下圖所示:



連接好了是這樣:



第五步:運動(dòng)模式設計

設計一款機器人,為其設計合適的運動(dòng)模式當然是至關(guān)重要的。我的機器人是這樣運動(dòng)的:

當機器人向前運動(dòng)時(shí),它首先移動(dòng)其右前足向前,同時(shí)機器人會(huì )將左前足向后推。這會(huì )將整個(gè)機器人的右部向前推動(dòng)。然后機器人再向前移動(dòng)其左后足,這時(shí)又會(huì )將其右后足向后推。這種運動(dòng)會(huì )將機器人的左部推向前。接下來(lái)機器人會(huì )左前足向前、右前足后推;然后再右后足向前、左后腿后;如此往復。這種方式能讓機器人以比較快的速度向前運動(dòng)。如下圖所示:



而當機器人倒退時(shí),只需要反過(guò)來(lái)執行整個(gè)過(guò)程就行了。

如果機器人需要右轉,則機器人移動(dòng)右前足向前,同時(shí)又移動(dòng)右后足向前,然后在左后足不動(dòng)的情況下讓右前足向后運動(dòng)。接下來(lái)前移左前足,然后后移右后足,同時(shí)前移其左前足。右轉即完成。

同理,當機器人需要左轉時(shí),可以讓機器人線(xiàn)移動(dòng)左前足向前,并移動(dòng)左后足向前,然后在右后足保持不動(dòng)的狀態(tài)下讓左前足向后運動(dòng)。接下來(lái),機器人繼續移動(dòng)右前足向前,然后移動(dòng)左后足向后的同時(shí)后移其右前腿。左轉即完成。

第六步:代碼

代碼分為兩個(gè)部分:The_Social_Quadruped.ino和Quad_Functions.ino。

第一個(gè)包含了Servo.h庫(Arduino IDE自帶)和NewPing.h。我首先定義了觸發(fā)引腳、相應引腳以及超聲波傳感器的最大距離;之后我又定義了一個(gè)布爾變量,可以用來(lái)切換機器人的自動(dòng)模式。之后又定義了舵機。在設置函數中,我初始化了串口檢測器,讓我可以將命令發(fā)送到Arduino上。在循環(huán)函數中,我設置超聲波傳感器發(fā)送最近物體的距離給串口檢測器,然后檢查用戶(hù)輸入。如果用戶(hù)輸入字符為 f, b, r, l, w, s, u 或a,那么則將分別執行前進(jìn)、后退、右轉、左轉、揮手、睡眠、站立或自動(dòng)工作這幾個(gè)不同的功能。這些功能函數是在Quad_Functions.ino中定義的,可以輕松地調用。另外,需要提及的是當用戶(hù)按了a之后,機器人將進(jìn)入自動(dòng)模式;要取消自動(dòng)模式則需要用戶(hù)再點(diǎn)擊一次a。

第二部分Quad_Functions.ino則包含了所有功能的函數定義。其中包括機器人的各種運動(dòng)模式。前進(jìn)、后退、右轉、左轉等函數都很好理解,揮手功能包含wave2 和wave兩個(gè)函數,可以讓機器人分別使用左前足和右前足揮手。waveAuto函數是機器人在自動(dòng)模式下?lián)]手,使用的是右前足。睡眠模式是指機器人將舵機的位置運動(dòng)到讓機器人平躺到地面的模式。readPing函數則用來(lái)讀取超聲波傳感器傳遞的數據。

第七步:無(wú)線(xiàn)控制

首先當然要確保藍牙模塊是按以上描述正確安裝的。

接下來(lái),啟動(dòng)你電腦上的藍牙并將其和Arduino上的藍牙連接配對。配對完成之后,進(jìn)入控制面板,在設備中找到HC-06。右鍵點(diǎn)擊并選擇“屬性”,選擇“服務(wù)”選項,將該接口的串口通信勾線(xiàn)上。

然后進(jìn)入Arduino IDE,選擇路徑Tools -> Port,將上面“服務(wù)”選項中的接口設置上去。然后就大功告成了!

打開(kāi)串口監視器,你可以查看超聲波傳感器的讀數,并且可以將機器人通過(guò)USB連接到電腦上進(jìn)行控制。
本文地址:http://selenalain.com/thread-159160-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页