聚豐項目 > 基于stm32的真人版坦克大戰
還記得小霸王上面的坦克大戰嘛?就像兒時玩的小霸王里的坦克大戰一樣,本項目的作品”基于stm32的真人版坦克大戰”,可以通過手機藍牙遙控坦克自由移動,發射炮彈,坦克具有發射炮彈(射速:每秒幾發,射程:十幾米)、血量檢測(受到炮彈攻擊會扣血)、撿取BUFF(炮彈升級(攻擊力翻倍)、重甲(防御升級、速度減半)、圣盾(暫時無敵))等功能。讓你重溫經典,體驗真槍實彈對戰,水彈碎片四濺的對戰樂趣!
寂寞的only
分享寂寞的only
團隊成員
張易 創客
真人版坦克大戰,真的可以發出射速極高的水彈哦(每秒幾發),不要近距離直對人射擊哦,雖然是水彈,但打到人還真有點疼=_=。
就像兒時玩的小霸王里的坦克大戰一樣,可以通過手機藍牙遙控坦克自由移動,發射炮彈,坦克具有發射炮彈(射速:每秒幾發,射程:十幾米)、血量檢測(受到炮彈攻擊會扣血)、撿取BUFF(炮彈升級(攻擊力翻倍)、重甲(防御升級、速度減半)、圣盾(暫時無敵))等功能??偨Y一下,如下圖:
然后就可以把它做出來啦,坦克長這個樣子,感覺更像一個炮車啊,那個手槍就是改裝成的炮臺了,本來為了減小空間應該把外殼拆掉的,但這玩意兒確實有點貴,占了整個成本的一大部分,想著做完了還能拿下來玩就干脆不拆了233333
硬件部分使用了stm32f103c8t6作為主控芯片,主要構架如下:
代碼的主函數執行如下:
使用硬件資源設計如下:
-----------------------------------------------------------------------------------------------------------------------------------------------------
各模塊說明:
首先是電機模塊,使用某寶很常見的減速電機即可,然后使用大家都愛用的L298N作為恒流驅動,簡單又便宜,使用PWM調速即可
然后是炮臺模塊,玩電子的可以對于波箱不是很熟悉,gif穿不上,百度一下可以獲得其原理動圖咯,為了達到電控的效果,拆開波箱的供電回路加上繼電器,然后固定再云臺上,用舵機控制就行啦,這樣就可以自由的控制開火和旋轉了。
接下來是傷害檢測模塊,lz之前一直在想如何去做打擊檢測,因為紅外線、激光檢測什么的都弱爆了,一點真實的打擊感都沒有,哪有真槍實彈的砰砰砰來的爽快,最終lz從震動檢測、加速度計、壓力傳感器中選擇了較為穩定的加速度計,用亞克力板子做出了一個裝甲雛形,把MPU6050固定再亞克力板子上,穩定實現了打擊檢測,不得不說亞克力大法好啊,雖然時間有限,做的丑了點,但畢竟能快速實現不是?如下圖,當然為了美觀,可以設計造型,四周都圍上,反正原理都一樣,這里材料有限,就做了一面
嗯,最后怎么能少的了吃BUFF呢?想當年玩坦克大戰,lz一路吃星星升級成雙連發小鋼炮,感覺真是爽炸了。所以我們的真人版坦克大戰也必須得能吃BUFF,嗯,就可以使用RFID射頻檢測來做,就是那種食堂飯卡,把卡片放在地上,坦克下安裝射頻檢測模塊,就可以實現這個功能啦
軟件部分包含了APP開發和MCU編程,首先上整體構架圖
畢竟是遙控坦克,上位機和下位機的通信通過藍牙來進行,那么通信協議是必須要設定好的,沒錯,就是給上位機和下位機設定好血量、BUFF信息,控制信息的交互,畢竟接口什么的得首先定好嘛。
嗯,然后就是APP的開發了,使用eclipse,用java敲代碼就行了,主要是實現藍牙通信+信息顯示+按鍵控制等功能
然后就是MCU編程咯,相信做電子的都很熟悉了,keil下敲c代碼,主要是各種模塊,如PWM,定時器,串口通信,各種電機和傳感器的綜合使用了,感覺比較復雜的就是各種中斷的優先級和時序的問題了,畢竟是單片機嘛,為了節約成本,引腳比較少(48個),想用什么外設都得省著點用=_=#
嗯然后這里放幾張APP開發的圖片吧,第一張是eclipse下的開發時的截圖,第二張時剛打開APP時和坦克藍牙連接的選項,第三張是進入操作界面,對抗開始時的操作界面,左上方是血條,實時顯示坦克的血量,血條下面是裝備槽,顯示撿到的BUFF的信息,右上角是調試信息,可以忽略,左下角四個箭頭用來控制坦克底盤的前后左右移動,右下角控制炮臺的云臺,左右控制炮臺的旋轉,上下可以上炮臺快速復位,對于喜歡秀操作的,完全可以移動中轉動瞄準射擊咯,中間的火焰標志是"開火"按鈕,支持長按連射,射速有點快的。
演示條件有限,炮彈射速比較快,可以多看幾遍咯,見諒。在真槍實彈對戰、水彈碎片飛濺的環境下重溫一把坦克大戰的感覺是不是很有趣?
上位機APP:
下位機坦克:
rarara: 好厲害 ??!
回復
一步一步123: 看上去很牛
回復
動心忍性1234: 您好我是無線電雜志的編輯,我們對您的項目十分感興趣,請問您有興趣投稿嗎?成為我們的作者除稿費外還有其他優厚條件。敬請參與。投稿請聯系QQ260534978.
回復
翼龍40: 好項目
回復