你還記得一個(gè)叫“坦克大戰(zhàn)的”的游戲么?本文的內(nèi)容就是嘗試將這個(gè)經(jīng)典游戲做成真人版本。作為游戲玩家的你,駕著Arduino動(dòng)力坦克用激光射中你的目標(biāo)。
這個(gè)項(xiàng)目是透過網(wǎng)頁利用Arduino去控制能發(fā)射激光坦克,這借助Wifly來通信的,具體是通過網(wǎng)頁上的控制面板去操縱實(shí)現(xiàn)。坦克運(yùn)用ParallaxPing去躲避障礙物,這是一種瞄準(zhǔn)炮臺(tái)和坦克模型平臺(tái)定位的伺服系統(tǒng)。
Step1:制造這個(gè)坦克你需要準(zhǔn)備以下東西:
雙轉(zhuǎn)子變速電動(dòng)機(jī)
坦克履帶板
坦克底板(在此放雙轉(zhuǎn)子電動(dòng)機(jī))
電動(dòng)機(jī)保護(hù)罩
工具集合板(包括PCB,LED,排插,電阻,螺絲釘?shù)龋?/p>
激光筆
超聲波距離探測傳感攝像頭模塊
迷你伺服器
螺母,螺釘,樹脂玻璃等
直流充電器
7.2v電池
無線天線模塊
過孔PCB印制電路板
做那個(gè)被攻擊的目標(biāo),你要一下配件:
單板控制器(估計(jì)單片機(jī)亦可代替)
可編程光頻率IC
三色LED燈
Step2:組裝坦克
需要裝配以下產(chǎn)品:
齒輪箱
坦克履帶板
工具集合板
用螺母和螺栓去為ARDUINO、伺服和PING造了一個(gè)平臺(tái)
照著一般金屬板的裝置尺寸弄了另一個(gè)有機(jī)玻璃的平臺(tái)。
這激光筆可以裝在伺服器的角上
筆者最得意之處就是弄ArduinoMotorShield時(shí)雖然用了很多的插針,但不能看到它,驟眼望過去就像是在內(nèi)部用鐵線連接的。
Step3:電源
這坦克馬達(dá)需要很耗電,筆者不想AA電池或9V電池?fù)p耗得那么快,RC汽車團(tuán)體已經(jīng)花時(shí)間搞出了一個(gè)功耗稍微小點(diǎn)的產(chǎn)品,因此選用了非常好的7.2V1750ma電池和一個(gè)相當(dāng)不錯(cuò)的SportII充電器。
然后用一個(gè)接插頭把電池接到馬達(dá)外殼的接線柱上面。
Step4:坦克的代碼加載
要在這個(gè)頁面加載坦克的代碼。這需要從http://arduinology.blogspot.com獲取令人驚嘆的WiFlyl庫。這一切都附加在代碼上面了。
#p#分頁標(biāo)題#e#
Step5:多次的組裝——能躲避障礙物的坦克
為了使設(shè)計(jì)更簡單,剛開始造了一個(gè)躲避物體的機(jī)器人。之后就附加上了馬達(dá)、RC汽車可充電電池、Arduino和PING。
Step6:多次的組裝——網(wǎng)絡(luò)控制的坦克
接下來給機(jī)子加了個(gè)平臺(tái),然后再裝上Wifly使坦克可以透過網(wǎng)絡(luò)被控制。
此刻這個(gè)控制就遠(yuǎn)程登錄到2000端口發(fā)出一個(gè)指令
Step7:多次的組裝——帶有“激光槍”的坦克機(jī)器人
在這部分我切割了一小塊有機(jī)玻璃,然后在上面打了個(gè)洞,以便把伺服器安裝到“控制平臺(tái)”上。
Step8:網(wǎng)絡(luò)界面
用PHP建立了一個(gè)坦克操控的網(wǎng)絡(luò)界面,可以在如mac那類型運(yùn)行apache服務(wù)器的機(jī)器上加載這個(gè),又或者將其放到一個(gè)服務(wù)器上,同時(shí)在如IPAD一樣的設(shè)備上對這個(gè)頁面進(jìn)行遠(yuǎn)程訪問。
在這個(gè)頁面給Wifly開了一個(gè)套接字,同時(shí)給他一個(gè)行為指令。
Step9:目標(biāo)控制指示
用TSL230R、ArduinoMini和Sparkfun三色LED制造這個(gè)目標(biāo)。
筆者更愿意通過增大目標(biāo)和更新頁面去改進(jìn)它
Step10:目標(biāo)編碼
加載以上編碼。
Step11:玩游戲
現(xiàn)在一切都準(zhǔn)備好了,可以玩這個(gè)游戲了。
你可以驅(qū)動(dòng)這部坦克,當(dāng)你準(zhǔn)備開火,你可以瞄準(zhǔn)塔樓然后發(fā)射。
你有三次開火機(jī)會(huì):靶子射擊、爆發(fā)式和噴射式。
靶呢是一次射擊,爆炸式射擊是以30度角發(fā)射,噴射式發(fā)射角為180度。
Step12:后續(xù)要做的事情
接下來還有一些事使我們需要做的,例如:
升級頁面。
在頁面儲(chǔ)存射擊次數(shù)。
更容易擊中目標(biāo)。
將目標(biāo)做得更酷,將其放到一個(gè)模型,一個(gè)玩具或者其他東西里面。
給坦克一個(gè)外殼。
轉(zhuǎn)載請注明出處。