10

編者注:本項目來自Instructables,作者Smudger_WTH利用3D打印和基于Arduino的機器人程序開發一個能夠行走,也能夠變成機器小車的“變形金剛”;其通過安卓手機的藍牙連接進行控制。作者為其起名為蜘蛛機器人(Spiderbot),下面我們就來看看這只變形蜘蛛是怎么煉成的。
電子組件:
Arduino Nano
12個EMAX ES08MA II舵機
Adafruit 16信道12位PWM/伺服驅動
藍牙HC-05模組
電機驅動L293D
4個300RPM 6V N20直流電機(帶橡膠輪胎)
Hobbywing UBEC-8A2-6S 電子調速器(UBEC)
Wild Scorpion 7.4V 2200mAh LiPo電池和對應的電池接頭
6cm x 9.5cm PCB板
2個LED燈
線材等

結構材料:
50枚M2 x 10mm圓頭螺絲
30枚M1.2 x 6mm沉頭自攻螺釘
少量扎帶
3D打印組件


本項目的大部分結構部件都是利用3D打印技術制作完成的,具體的文件點擊 3D_Print_Parts_STL.rar下載,其中包含8個獨立的文件,打印數量如下:
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板的設計(下載PDF文件或PCB文件),其尺寸為6cm x 9.5cm。

制作成功的PCB。

安裝各個部件,這里安裝了6條線:2條5V、2條接地、Arduino Rx<->HC-05 Tx和Arduino Tx<->HC-05 Rx。

安裝開關。

將兩個LED分別串聯一個電阻后并聯起來,它們將作為機器人的兩只眼睛。

最后,將電子調速器(UBEC)連接到6V輸出,并將UBEC的輸出連接到16信道伺服驅動。

將舵機連接到板上。舵機有三條線,其中棕色是地線,紅色接V+,黃色是PWM。

為了和后面的程序匹配,這里選擇的連接方式是:

左前腿舵機是0,1,2;
右前腿舵機是4,5,6;
左后腿舵機是8,9,10;
右后腿舵機是12,13,14;
另外,接口3,11,15空接;接口7用于LED的PWM調制。

然后將控制4個輪子的4個電機和PCB上的電機焊接起來,一共8個接口。
這里的代碼需要用到Adafruit_PWMServoDriver舵機驅動庫,其安裝方法點擊這里查看。
庫安裝完成后,就可以開始編譯代碼了。另外注意一點:在使用USB為Arduino Nano寫入代碼時,注意不要將其它供電組件連接到Arduino上。點擊spiderbot_servo.rar下載代碼。
代碼上傳完成后,接好斷開的線就可以打開電源了。
設備啟動時,所有的舵機都會回歸到“0”位點,最后會呈現下圖的模樣:髖板與基板成45度角,股板與髖板成30度角,而脛板豎直略向外。如果樣子不同,那就需要進行適當的調整,調整過程中不需要斷電。另外,你也可以通過調節Arduino代碼中的偏移值對其進行校準。

接下來在底面固定電池。

你可以在Arduino代碼的主循環函數中單獨調用單個函數來對機器人進行調試。
void loop() {
//去掉函數前面的雙斜杠即可單獨調用該函數
//forward();
//backward();
//left();
//right();
//vehicle();
}
如果運動方式不對,進行相應的調節即可。在汽車模式下,機器人的腿應該像下圖一樣折疊起來。注意折疊起來之后不要對舵機的運動構成阻礙,一旦你聽到異常響亮的噪聲,很可能是舵機負載過大,這時應該切斷電源。

至于機器人的步態(creep gait),看起來有些奇怪,但機器人運動學不是本項目的主題,詳情你可以點擊這里了解。簡單來說,就是在一只腳抬起的時候,另外三只腳必須在地面以保持平衡和穩定。你也可以在Arduino代碼中對步態進行調節,讓它看起來更優雅一點。
最后你也可以修改代碼中mleft()和mright()函數中的參數修改汽車模式下機器人左轉右轉的角度。

本項目的安卓程序是作者自己編寫的,界面比較簡單,只有左下角的運動控制和右下角的變形按鈕。另外需要注意的一點是,如果你沒有進行修改,該藍牙設備的初始名字應該是HC-05,初始密碼是1234.

本安卓程序的源代碼在這里下載,編譯好的APK文件則可點擊這里下載。

將LED穿過蓋板上的孔,蓋緊蓋板就完成了,接下來開始試玩,跑起來還真夠奇葩的!
視頻:
2015-2016賽季全球創客馬拉松深圳大學站已經開始接受報名啦!關注“硬創邦”(微信號:leiphone_bang),回復“深大”即可參與報名!而且,雷鋒網在未來三個月內選一個合適的時間,在北上深選擇一個地點,舉辦創馬“火星救援”專場!詳情可點擊此處了解。
此外還可加入全球創客馬拉松主群(群號:259592983),參與我們的互動討論~

雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。