10
編者注:本項目來自Instructables,作者Smudger_WTH利用3D打印和基于Arduino的機器人程序開發(fā)一個能夠行走,也能夠變成機器小車的“變形金剛”;其通過安卓手機的藍牙連接進行控制。作者為其起名為蜘蛛機器人(Spiderbot),下面我們就來看看這只變形蜘蛛是怎么煉成的。
電子組件:
Arduino Nano
12個EMAX ES08MA II舵機
Adafruit 16信道12位PWM/伺服驅(qū)動
藍牙HC-05模組
電機驅(qū)動L293D
4個300RPM 6V N20直流電機(帶橡膠輪胎)
Hobbywing UBEC-8A2-6S 電子調(diào)速器(UBEC)
Wild Scorpion 7.4V 2200mAh LiPo電池和對應(yīng)的電池接頭
6cm x 9.5cm PCB板
2個LED燈
線材等
結(jié)構(gòu)材料:
50枚M2 x 10mm圓頭螺絲
30枚M1.2 x 6mm沉頭自攻螺釘
少量扎帶
3D打印組件
本項目的大部分結(jié)構(gòu)部件都是利用3D打印技術(shù)制作完成的,具體的文件點擊 3D_Print_Parts_STL.rar下載,其中包含8個獨立的文件,打印數(shù)量如下:
base.stl 基板x1
cover.stl 蓋板x1
coxa.stl 髖板x2
coxa_mirror.stl 髖板固定x2
femur.stl 股板x4
motorMount.stl 電機安裝板x4
tibia.stl 脛板x2
tibia_mirror.stl 脛板固定x2
使用M1.2 x 6mm的螺絲將4個股板做好,并將舵機臂安裝到基板上。
使用M2螺絲將舵機安裝到髖板和脛板上。
將帶輪子的N20直流電機安裝到脛板上,這里使用M2螺絲和電機安裝板進行固定。
注意電機和舵機的方向。
電子組件的連接圖如下,我們需要為這些連接制作一塊PCB板。
PCB板的設(shè)計(下載PDF文件或PCB文件),其尺寸為6cm x 9.5cm。
制作成功的PCB。
安裝各個部件,這里安裝了6條線:2條5V、2條接地、Arduino Rx<->HC-05 Tx和Arduino Tx<->HC-05 Rx。
安裝開關(guān)。
將兩個LED分別串聯(lián)一個電阻后并聯(lián)起來,它們將作為機器人的兩只眼睛。
最后,將電子調(diào)速器(UBEC)連接到6V輸出,并將UBEC的輸出連接到16信道伺服驅(qū)動。
將舵機連接到板上。舵機有三條線,其中棕色是地線,紅色接V+,黃色是PWM。
為了和后面的程序匹配,這里選擇的連接方式是:
左前腿舵機是0,1,2;
右前腿舵機是4,5,6;
左后腿舵機是8,9,10;
右后腿舵機是12,13,14;
另外,接口3,11,15空接;接口7用于LED的PWM調(diào)制。
然后將控制4個輪子的4個電機和PCB上的電機焊接起來,一共8個接口。
這里的代碼需要用到Adafruit_PWMServoDriver舵機驅(qū)動庫,其安裝方法點擊這里查看。
庫安裝完成后,就可以開始編譯代碼了。另外注意一點:在使用USB為Arduino Nano寫入代碼時,注意不要將其它供電組件連接到Arduino上。點擊spiderbot_servo.rar下載代碼。
代碼上傳完成后,接好斷開的線就可以打開電源了。
設(shè)備啟動時,所有的舵機都會回歸到“0”位點,最后會呈現(xiàn)下圖的模樣:髖板與基板成45度角,股板與髖板成30度角,而脛板豎直略向外。如果樣子不同,那就需要進行適當(dāng)?shù)恼{(diào)整,調(diào)整過程中不需要斷電。另外,你也可以通過調(diào)節(jié)Arduino代碼中的偏移值對其進行校準(zhǔn)。
接下來在底面固定電池。
你可以在Arduino代碼的主循環(huán)函數(shù)中單獨調(diào)用單個函數(shù)來對機器人進行調(diào)試。
void loop() {
//去掉函數(shù)前面的雙斜杠即可單獨調(diào)用該函數(shù)
//forward();
//backward();
//left();
//right();
//vehicle();
}
如果運動方式不對,進行相應(yīng)的調(diào)節(jié)即可。在汽車模式下,機器人的腿應(yīng)該像下圖一樣折疊起來。注意折疊起來之后不要對舵機的運動構(gòu)成阻礙,一旦你聽到異常響亮的噪聲,很可能是舵機負(fù)載過大,這時應(yīng)該切斷電源。
至于機器人的步態(tài)(creep gait),看起來有些奇怪,但機器人運動學(xué)不是本項目的主題,詳情你可以點擊這里了解。簡單來說,就是在一只腳抬起的時候,另外三只腳必須在地面以保持平衡和穩(wěn)定。你也可以在Arduino代碼中對步態(tài)進行調(diào)節(jié),讓它看起來更優(yōu)雅一點。
最后你也可以修改代碼中mleft()和mright()函數(shù)中的參數(shù)修改汽車模式下機器人左轉(zhuǎn)右轉(zhuǎn)的角度。
本項目的安卓程序是作者自己編寫的,界面比較簡單,只有左下角的運動控制和右下角的變形按鈕。另外需要注意的一點是,如果你沒有進行修改,該藍牙設(shè)備的初始名字應(yīng)該是HC-05,初始密碼是1234.
本安卓程序的源代碼在這里下載,編譯好的APK文件則可點擊這里下載。
將LED穿過蓋板上的孔,蓋緊蓋板就完成了,接下來開始試玩,跑起來還真夠奇葩的!
視頻:
2015-2016賽季全球創(chuàng)客馬拉松深圳大學(xué)站已經(jīng)開始接受報名啦!關(guān)注“硬創(chuàng)邦”(微信號:leiphone_bang),回復(fù)“深大”即可參與報名!而且,雷鋒網(wǎng)在未來三個月內(nèi)選一個合適的時間,在北上深選擇一個地點,舉辦創(chuàng)馬“火星救援”專場!詳情可點擊此處了解。
此外還可加入全球創(chuàng)客馬拉松主群(群號:259592983),參與我們的互動討論~
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。