BOXZ,昵稱盒仔。是一款開源的互動娛樂平臺!我們將Arduino,亞克力板和紙模型創意的結合在一起,讓大家可以快速搭建自己的遙控玩偶,開展互動體驗,而它的組裝就像搭樂高積木一樣簡單!而盒仔的外形和功能完全取決于您的創意。我們可以用它來搞足球比賽,角色扮演,賽車或對戰,甚至拍MV!
我們希望通過盒仔,讓大家把更多的精力放在創意和互動上,讓每個喜歡DIY的人都能擁有自己的小機器人,最最重要的是可以拿出來與大家進行互動,分享快樂,而不是靜靜躺在實驗室里。
大家可以在家里制作BOXZ,快速體驗互動機器人的魅力。BOXZ對材料沒有什么要求,可以是硬紙板,PVC塑料等任何2MM厚度的材質。我們推薦使用2MM厚的硬紙板,因為其價格便宜且加工容易,美術用品商店就有,大概10元一張。
1 材料和工具
1.1 工具清單
壁紙刀(最好用如圖小款窄刀片,寬刀片切槽費勁)
鋼板尺
雙面膠(5MM寬度最佳)
螺絲刀(小號一字和十字各一個)
電烙鐵和焊錫絲(如無,就多纏幾圈線然后綁膠帶吧)
斜嘴鉗
萬用表(安全第一)
鉛筆(可無)
紙膠帶(備用,當購買的硬紙板厚度不足2MM時,可用此緊固)
電鉆(如無,就用壁紙刀吧)
1.2 材料清單
Arduino 2009 328P 主控 x 1 (也可以是UNO)
Arduino 電機驅動板 x 1 (要求可堆疊,極力推薦ladyada.net設計的Arduino兼容全功能電機驅動板)
Arduino 藍牙控制板 x 1 (要求可堆疊,當然也可以采用傳感器擴展板+藍牙板,或者Zigbee板,本文只介紹藍牙)
TT減速齒輪箱 x 2
130電機 5V x 2
65MM 塑料車輪 x 2
4節5號電池盒 x 1
面包線 x 4
五號電池 x 4(如為1.2V充電電池,需要五節)
2MM厚白色硬紙板(但厚度盡量是2MM,雖然1.6MM也勉強可以,但是硬度不夠,需要用紙膠帶加固)
M1.0x30MM 螺絲+螺母 x 6
M3x10MM 六角銅柱 + M3螺母 x 3(長度可以是5-20MM范圍內,推薦用10MM長的)
2? 方盒結構件制作部分
在開始制作之前,我們先來了解一下盒仔的機械結構吧
上圖就是盒仔板塊一覽,盒仔是由大小不等的板塊構成,板塊和板塊之間采用插入式連接,因此不需要任何螺絲等緊固件。但是盒仔和其他部件,例如電機之間的連接就只能通過螺絲螺母了。這里面最大的板子外圍尺寸為128x128MM,也是我們盒仔的外殼尺寸。這樣的板子一共有五塊,包圍了整個盒仔,我們稱之為大板。其中還有些尺寸各異的支撐板,用來支撐盒仔內部的Arduino模塊和電機。值得一提的是,在最新的Base圖紙中,我們已經優化掉了P006,同時在即將發布的Pro中,P007也會消失,我們一直致力于讓大家可以以一種最簡單的方式快速構建盒仔,就像搭積木一樣簡單。
首先將下載好的BOXZ Base圖紙和皮膚打印到A4紙上
先把皮膚放到一邊,我們需要先把圖紙進行裁剪到合適的大小,大概距離邊線10MM左右即可
然后把圖紙進行簡單的排版,用雙面膠把裁減好的圖紙粘貼到硬紙板上,記得雙面膠要粘貼在板塊的線框以內,每個大板4個,其他2個即可,主要是固定作用。圖紙在裁切完后是丟掉的,因此粘貼時間不能過長,太久了的話雙面膠固化了,圖紙撕下來可能會影響硬紙板的效果。
首先用裁紙刀將各個板塊裁成一塊,一塊的。然后對需要開孔的用電轉進行開孔,如果沒有的話,就用壁紙刀吧,但是注意孔不能開大了,否則螺絲就固定不住了。開完孔后就可以對邊角進行修正,開槽。等一個板塊的所有邊線都裁切完成之后,就可以揭去圖紙了。呵呵,一塊純手工打造的盒仔板塊就算完成啦!
陸陸續續對其他所有的板塊進行裁切,并完成所有的板塊,整個過程大概會占用你4-5小時,如下圖。
3 板塊的組裝
列表中對每一個板塊的編號和名稱都有定義,如果你對于第一次組裝盒仔感到困擾的話,我們有一個建議就是根據上面的我們定義過的P0xx的編號,用鉛筆對每一塊進行標注,我們下面的組裝過程會按照編號跟大家講解。下圖為盒仔的結構示意圖,從圖中大家可以大致了解各個板塊之間的連接關系。我們的板塊采用了對稱設計,因此你幾乎可以忽略安裝時上下左右的方向問題,它們之間不分正反,可以相互替換。即使第一眼你覺得很復雜也沒關系,只要按照我們的教程一步一步操作即可。
好的,下面我們開始介紹盒仔的組裝。為了讓大家更熟悉正安裝過程,我們配合Sketchup效果圖給大家解釋整個組裝過程。首先用到的是P003,我們一共有2塊電機支撐板,用于連接和固定TT減速箱電機(以下簡稱電機)。在開始安裝電機之前,大家可以先把P003實驗性的插入P001,從而定義好一個方向,我們的電機都是在支撐板內側安裝的。然后就可以用緊固件分別把電機固定在P003的內側了。如圖每塊P003與TT減速箱通過兩個M1.0x30MM的螺絲固定。
將安裝好電機的2塊P003插入P001,然后把P002插入P001,此時整個盒仔的支撐結構已經完成。這里強調一點,一定要注意安裝的先后順序,這很重要!
把電池盒用緊固件固定在P001上,這樣我們的電機便牢牢的固定在了支撐板上。你可能會發現,此時的支撐結構還不是很穩定,在外力作用下依然有晃動。不要擔心,我們還很很多板塊沒有安裝,等你把盒仔板塊全部組裝完成之后,你就好發現它是多么的堅固穩定了。
另外對于電池盒我們要額外說明一下的是,我們推薦大家使用4節5號普通電池,其電壓為1.5V(新電池一般能達到1.7V),4節即6V構成了我們系統的最低電壓。如果你使用的是1.2V的充電電池,那么就需要更換成5節5號電池盒。
將車輪安裝在盒仔P003的兩側,此時一個盒仔的最小系統已經出來了。你可以直接用面包線將電機連接到電池盒上,做成一個簡易的小賽車,呵呵。
將兩塊P004分別插入P001的兩側,然后裝入兩塊P005,它們負責連接P002,P003和P004。此時你的小車應該已經非常牢固了!如果你所購買的硬紙板厚度不足2MM或者比較軟的時候,我們建議你用紙膠帶,對P002,P004和P005進行一個整體的加固,這會讓你在安裝外圍板塊的時候更輕松。
現在盒仔的底板已經全部完成。這里我們要用到編號為P008的主控平臺板,從中可以看出一共有三個孔位對應著Arduino主控上的三個固定孔。通過3個緊固件將Arduino主控固定在P008上,這里大家需要注意一下方向,兩個孔的沖向盒仔的正前方。P008還有一個人性化的功能,即使你要用Arduino做其他有趣的事情,只要將P008向上一推即可取出,然后作為平臺板放置到桌子上,不但方便大家調試,更重要的是安全!因為桌子上的細小的銅絲或其它金屬物可能導致Arduino短路,這是非常危險的!
好的,下面我們可以通過USB線纜對Arduino的程序進行下載了,下載方法請參看Arduino基礎教程。
將裝好Arduino的P008插入我們的盒仔底盤,插入P002,這里我們需要使用P007作為支撐墊板先插入P001中
然后將電機驅動板疊加到Arduino主控之上,下面就是連接各個電路部分了,不要慌,我們只有6根線哦!第一步,首先將電池盒的紅線連接到電機驅動板的M+,然后將黑線連接至GND,電源部分完成!第二步,將電機連接到電機驅動板上,連接方法如圖:P1-M1.1,P2-M1.2,P4-M2.1,P5-M2.2。其中P3是懸空的。第三步,確認電機驅動板的跳帽為短接狀態(在電源端子旁邊,默認為短接狀態,如果取下跳帽,則電機驅動板和Arduino將需要獨立供電)。
最后將藍牙控制板也疊加在電機板之上,我們的電路部分就基本搭建完成了!這里需要注意一點,我們教程中使用藍牙板有切換軟硬串口的跳線功能,而板子的默認位置需要大家確認一下,只要按照圖中2個紅色方塊所示調整好跳帽即可。
最后將兩塊P040,P020和P030四塊外圍板依次安裝,(這只是一張實際安裝效果圖,圖中兩根我們做Pro版本測試的舵機線,藍牙跳帽的位置是錯的,請大家注意)
最讓人激動的時刻馬上就要到了!蓋上P050頂板,插入電池,一個Base版的盒仔誕生了!
測試通過的話,我們就可以開始制作皮膚了。
4 Arduino程序和調試
關于程序,我們列出初始化部分和主程序,以便讓大家對其有個了解。全部代碼大家可以 點此下載 。這里要強調一點的是我們使用了ladyada.net設計的電機驅動庫AFMotor,大家需要把解壓后的文件放到Arduino安裝目錄libraries的文件夾下。
程序片段如下:
ARDUINO 代碼復制打印
/*
BOXZ is is an open source robot platform for interactive entertainment!
We connected Arduino,Plexiglass(PMMA) Origami and your idea together,
so we can easily and quickly build a remote robot by ourself!
We can use it to playing football game, racing, fighting or some other interesting things!
Author: Guangjun Zhu
Email: [email]zgj0729@163.com[/email]
Code license: Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)
*/
#include
#include
/*
b_motor_stop(): stop motor
b_motor_com(): for Manual Operator
b_servo_ini();
b_servo_com();
b_skill();
*/
//-------------------define motor----------------------------------------------//
AF_DCMotor motorL(1,MOTOR12_8KHZ); //connect to M1
AF_DCMotor motorR(2,MOTOR12_8KHZ); //connect to M2
int motor_speed = 200; //[modifid]motor speed 150-200,---min:100;max:255
int motor_delay = 400; //[modifid]delay time in step
//-------------------define servo----------------------------------------------//
Servo hand_l_servo; // create servo object to control a servo
Servo hand_r_servo; // create servo object to control a servo
int hand_l_pos = 90; //
int hand_r_pos = 90; //
int hand_delay = 1; //[modifid] speed of hand
//------------------main program-----------------------------------------------//
void setup()
{
Serial.begin(9600);
b_motor_stop();
b_servo_ini();
delay(2000); //waiting time
Serial.println(“Hello! BOXZ!”);
}
void loop()
{
int key;
if(Serial.available() 》 0) {
key = Serial.read();
if(key 》= 30 && key 《= 122) {
b_motor_com(key);
b_servo_com(key);
b_skill(key);
}
}
// servo_test();
}
從中我們可以看出,盒仔的主程序很少,調用了不同的功能子程序來實現其功能。盒仔是通過Arduino的串口將數據發送給藍牙控制板,由筆記本電腦或者手機接收藍牙串口數據,大家可以使用任何串口終端控制我們的盒仔。目前我們用windows7筆記本,MacBook和Iphone三種終端測試通過了藍牙和Zigbee兩種通訊模塊,將來也會推出Wifi通訊。,由于軟件還有很多功能需要添加,目前就暫不公布了,不過大家可以用串口助手實現操作,就像我們發布視頻中的一樣,操作也很方便。
盒仔Base的程序是通過接收來自于鍵盤按鍵來進行動作判斷的,只支持單個的字符。而在盒仔 Pro的版本中我們將采用更強大的字符串通訊方式,讓大家擁有更棒的互動體驗!
盒仔的操作就像打電腦游戲一樣,操作方式按鍵定義如下:
方向控制按鍵定義:‘w’-前進;‘a’-左轉;‘s’-后退;‘d’-右轉;‘ ’(空格)-急剎車 (如果你按下鍵盤的Shift鍵,將會激活點動模式,配合相應的方向鍵,例如W為向前一小步,A為向左轉90°)
當然在我們提供的代碼里面還包括舵機部分的控制,你可以用舵機控制左右手臂的擺動,點動等多種動作,具體定義大家可以看程序的注釋,本教程以介紹盒仔 Base的安裝為主,就不過多描述。
5 番外篇-皮膚制作
盒仔方盒整體尺寸:128x128x128MM
盒仔皮膚的基本尺寸:130x130x130MM
首先打印我們的皮膚,圖紙大家可以從Github上免費下載,鏈接在本文最后提供。這里我們選擇了Creeper,一共需要3張A4紙。
沿線裁剪皮膚,如圖。
由于紙張較薄,所以裁剪后有些微翹。建議大家使用厚一點的A4紙張打印,即可避免此問題。
用雙面膠粘貼在白色連接區域中,然后將每塊皮膚粘貼在一起,這里建議大家使用5MM寬的雙面膠。
由于紙張較薄的關系,這里用紙膠帶進行了加固處理。
皮膚制作完成,來看一下整體效果吧。
最后再來一張配合馬里奧的合影,呵呵。
6 更多盒仔的故事
一個好的開始。
盒仔2號原型機的作者是我們團隊的視頻后期高手,他的兒子很喜歡憤怒的小鳥。于是他爹就給他做了個紅色小鳥的盒仔皮膚,套在盒仔上面和兒子一起玩互動。想象一下您和家人在一起,控制一只憤怒的小鳥沖向一堆貼有鋼盔豬的飲料瓶或者積木時的開心景象吧!
細心的大家可能會發現我們的文章里的照片實際使用的是P041板塊,而不是BOXZ Base標配的P040。P041是在其基礎上增加了舵機擴展槽,可以讓大家安裝9G舵機。P041將會出現在BOXZ Pro版本中,由于目前我們還需要驗證其開槽位置是否恰當,所以暫時沒有發布。
我們的盒仔已經在 點名時間 發布了,上面有更多關于盒仔的故事。如果大家喜歡,可以來支持我一票!
大家可以免費下載我們的 設計圖紙
本教程中Arduino主控,電機驅動板和藍牙控制板的圖片來自互聯網,歸各自廠家所有,詳細資料請登錄網站查詢。
評論