達人完美還原「聲控」四驅車 全程靠3D打印同語音識別


六一剛過,一大批懷念童年玩具的文章颳起了一陣「懷舊風」。

要説童年玩伴,文摘菌最懷念的要數《四驅兄弟》,這部 1996 年的日本漫畫給無數車迷們種下了「賽車手」的種子。


那句「衝吧,強棒音速!」,成為了當年無數男孩子最愛的口頭禪,也帶火了一大批「奧迪雙鑽」類賽車玩具。

▲ 當年奧迪雙鑽的「夢之隊」系列

最近,B 站的一位程序員 UP 主「阿婆主喵咪的哥哥」(以下簡稱喵哥),就靠着一己之力,把語音識別和 3D 打印裝進了一輛普普通通的四驅車裏,將小時候泛黃的四驅車殼改裝成聲控版的「超強」四驅車。

改裝之後,這輛車不僅能通過音量高低控制賽車速度,還能直接發出指令讓賽車轉彎掉頭、轉彎,完完全全實現了文摘菌小時候的夢想:聲控四驅車


當喵哥喊出「五點鐘」,音速就真的轉向了


不過由於車與人不能離太遠,一旦離太遠,車就接收不到指令了,所以必須人和車一起跑,簡直重現四驅兄弟的場景👇


看看這酷炫的畫面,真真饞哭了一票有着「強棒音速」夢的叔叔阿姨們。喵哥也因此被大家稱為 b 站「土屋博士」!

UP 主主頁:

https://space.bilibili.com/10830226?spm_id_from=333.788.b_765f7570696e666f.2

▲ 土屋博士(感覺神似喬布斯)

據喵哥介紹,目前他手中有三輛四驅車可以啟動,躍動衝鋒、強棒音速和旋風衝鋒。分別是初級遙控板旋風衝鋒、聲控版躍動衝鋒,再就是聲控遙控板強棒音速。


最後,喵哥表示不能一個人開心,所有源碼,包括需要 3D 打印的源文件都一併放上了 GitHub 開源給大家。

源碼指路👇

https://github.com/JingYang1124/Acoustic-controlled-Mini-Racer-Beat-Magnum

要擁有一輛升空版「強棒音速」需要幾步?

這個項目源於喵哥整理舊物的時候找到了一個泛黃的旋風衝鋒車殼,喵哥覺得不能拋棄掉小時候的玩伴,希望能重現旋風衝鋒!


喵哥的整個改裝過程分為三步,分別是三維模型設計打印、電路鏈接和組裝測試

文摘菌也帶大家一起來看看這個炫酷的改裝過程吧。

1. 三維模型設計

先來看第一步,設計三維模型。

喵哥是使用 Solidworks 對四驅車進行設計和建模,由於他找到的兒時四驅車只有一個殼,所以基本上除了殼以外的模塊都需要。如果想要實現聲控四驅車,有些零件就需要自己畫圖打印


Solidworks2020 可以連接 3D 打印機,也是最新版本的功能。不僅如此,還能通過 Solidworks 對三維幾何圖形進行切片,還能存儲圖形的材料、紋理、二維切片數據。

接着採用 3D 打印技術,打印出車身和輪子還有其它的配件


打印的車身。


車身打印好後,就可以開始下一步的電路連接了。

2. 電路連接

完成了三維打印,就要對車身進行電路改造了。

喵哥表示這部分比較關鍵,需要使用 AltiumDesigner 印製電路板(PCB)設計,還有 KELLuVision 進行單片機編程

控制方式是掛在胸前的遙控器進行語音識別,基於無線傳輸,根據不同的語音控制指令發送到車的接收端。

掛在胸前的遙控器,有按鈕設計,可以聲控,也可以使用按鈕。


車身主要有 Arduino 板,馬達驅動電路 MX1508,無線模塊 NRF24101 需要設計。

車的接收端有一個 STM32 單片機,這個單片機是微控制器的角色,有點類似動畫片裏的 GP 晶片

接收端的原理是根據不同的指令去調節四路 PWM 佔空比,由於兩路信號對應一個電機,所以車上裝了兩個電機,靠改變 PWM 佔空比來控制電機轉速。

選擇使用 Arduino Nano。單片機裏有 51 單片機和 Arduino,Arduino 是一個開源的硬件平台,是一類以 AVR 單片機為核心控制器的硬件電路板的統稱,還有熟悉的 STM32,雖然 STM32 非常強大,但是對新手是不太友好的,所以為了能更好地完成聲控賽車重構,所以就採用 Arduino 來構建,這樣的話,豐富的開源和配套軟件,可以加大成功的機率。

購買一塊 LD3320 芯片,然後開始繪製 PCB 電路板


遙控器端需要連接,在做聲控之前,還需要進行按鍵的調試。

再使用兩個 NRF24L01 無線模塊將它們連接,其中的一個 Arduino 還需要裝備上電機驅動芯片和兩個電機,最後用麪包板、電池、公母頭排線就可以組裝起來了。

麪包板上有孔可以固定 Arduino Nano, 並用導線和其它器件來連接。

接下來是要下載 ArduinoIDE,使用該軟件給 Arduino 進行編程,可以在 Arduino 的中文社區下載。下載下來後可以用來編程、程序燒錄、串口調試一系列操作

由於需要使用 NRF24L01 無線模塊,所以還需要加裝一個 Mirf 庫到 Arduino 裏。

哪怕不會 C 語言,也不用怕,只用把代碼文件裏的二十幾行代碼輸入進去,就能運行。如果是人形代碼輸出機,還可以修改代碼,增加模塊。

主要是通過 Digitalread 函數來讀取 D2-D6 上的電平信號,當電平信號為低電平時,就可以發送不同的數字連接。從不同的電機的電平高低來實現轉向和前進等運動模式。寫好程序後,要接入電腦,下載程序到遙控短、接收端和 Arduino 板裏。

3. 組裝和測試

最後,就是將配件安裝在一起啦


安裝完成後,給控制板寫入程序。寫入程序後,就可以進行測試了。

從視頻中可以看到,當喵哥喊出八點鐘方向,四驅車真的轉向了,而且音速反應速度挺快的。


「強棒音速,我們走!」話音剛落,沒錯!車真的飛起來了!


整體來看,這輛四驅車確實成功實現了用聲音來控制的功能,不僅可以原地轉圈圈,還能轉彎加速(老手技能)

網友評論:童年誠不欺我!

這個項目在 b 站和知乎上都引發了一波驚呼。網友們紛紛表示,Coding changes the world!


不僅能聽懂人話,還想能放絕技,期待躍動炸彈!


以及,小時候的終極謎題終於解決了:「終於找到賽車跟着跑的原因了」,沒錯,正是因為藍牙離得太遠,車接收不到信號,所以必須像風一樣衝,緊跟賽車。

還有同學表示這個技術可以申請專業、一條龍生產售賣,走上人生巔峰了。


如果再加上 AI 人工智能的學習能力,經過多次訓練,尋找最優,菌菌更想要一輛了,最好還能開放算法優化平台,讓大家都可以參與進來。  

最後,文摘菌也嘗試了解視頻主角喵哥是何來頭,不過除了簡介資料上有介紹自己是一個工科男,再就是視頻裏露臉,其餘一概都沒提,不過能從這麼全的設備看得出來,不是一般人吶。有的網友説已經在短短的視頻裏看到了一個自動化專業的大部分課程應用,文摘菌只能説實在是寶藏阿婆主。

據説阿婆主還會繼續開發有趣的項目,最新預告是手繪打印了一台全新的四驅車,沒錯,喵哥準備黑化,開始大神博士的巨無霸的精彩改裝系列,文摘菌將繼續保持關注!


參考鏈接:

https://space.bilibili.com/10830226?spm_id_from=333.788.b_765f7570696e666f.1

本文來自微信公眾號「大數據文摘」(ID:BigDataDigest),作者笪潔瓊,愛範兒經授權發佈。


資料來源:愛範兒(ifanr)

如果喜歡我們的文章,請即分享到︰