這個玩具該怎麼做出來?

以前在優酷上看到一個視頻,是一個外國人做的簡單的自動瞄準的小武器站。很想做出來。這對很多電子方面的朋友來說可能很簡單。但題主對這方面真是一竅不通。希望有好心朋友幫我實現這個小夢想。最好是授之以魚,我能直接購買材料做出來。機械結構我自己做。主要是用什麼電路板,怎麼驅動兩個舵機。非常感謝!!!視頻名字叫日本技術宅改造G36成自動追蹤瞄準


這種玩具,淘寶上已經有賣的了。
而且,還是我賣的。(?????_??????嗯!
手機上打字,大小寫用電腦再改。

這種自動追蹤的攝像頭,大概有三種流行方式:
1.使用openmv的攝像頭,也是我的淘寶店賣的,基於stm32的單片機,但是可以在板子上運行python程序,有很多的演算法。
2.用pixy,和openmv類似,但是運行不了程序,只有找顏色小球的程序。
3.樹莓派和攝像頭,用opencv或simplecv。

如果是簡單的想做一個追蹤的坐台,還是推薦openmv。因為,是我賣的嘛。。。

不開玩笑的說,確實是openmv簡單好玩一些。

而且用python寫邏輯,很爽的。
說開發難度高的,應該是沒有看到我們的教程。話說現在淘寶店真難做( ????? )

我們的資料都是開放的,包括上面雲台的solidworks文件之類的。

中國官網:http://openmv.cc
維基教程:http://wiki.openmv.cc
論壇:http://forum.openmv.cc
qq群:324391148
書籍:寫了80%,還未公開

最後放一個大招,openmv做一個解魔方機器人。

嗯,不贊一個嘛?


首先強調,這既然是個玩具,就用玩具的標準來設計——簡單、方便、未必便宜。如果一定要達到產品一般嚴格的標準,有更合適的方案可以選擇。

控制電路方面,涉及圖像處理,不能單純選用Arduino、STM32這類單片機。推薦樹莓派3代、英特爾的Galileo和Edison,以及性能更高的其他開發板。

軟體方面,OpenCV是跑不掉了。舵機控制方面,幾乎所有的開發板都可以輸出至少兩路PWM,足夠用了。

具體選擇開發板的時候,有很多注意事項。舉幾個例子:GPIO的驅動能力如何?帶寬如何?PWM的頻率有多高?這些參數直接決定開發板可以跑怎樣的控制演算法,接怎樣的舵機。

但是,一般來說,嵌入式Linux開發板的優勢在於軟體,可以跑複雜的邏輯和控制演算法;單片機的優勢在於硬體,沒有操作系統的調度反而可以獲得極高的實時性和較高的介面帶寬。因此我推薦將二者結合起來,例如樹莓派跑圖像處理,Arduino負責PID和控制舵機,二者之間採用SPI、I2C等方式進行通信。

曾經寫過一個筆記,就是Linux單板機和單片機MCU的集成方式,可以看一下:
http://www.jianshu.com/p/a098730e18d1

僅供參考,歡迎指正。

————
後記:關注這個問題的朋友可能是玩電的比較多,對C甚至是彙編更熟悉,操作寄存器更是無比熟悉。但我首先是一個程序員,程序員除了「介面」,一無所知。為了實現目標,應當盡量使用前人造好的輪子,不需要強行解構黑盒的內部細節。如果你願意嘗試閱讀Arduino基本庫的C++源碼,你就會發現到底層實際上就是對AVR單片機的寄存器進行操作,而操作寄存器的規則都在datasheet裡面講過了。

當然,如果你追求效率和高度的自由,就需要在寄存器層面上進行編程了,這也是很多玩電的朋友更熟悉的方式。但是,複雜到一定程度,不可避免的要進行抽象、封裝,比如STM32的庫,等等。

對於像我這樣的業餘玩家來說,自頂向下地俯瞰整個系統,學習和開發成本都要小很多。


首先,控制舵機需要一個微控制器,51單片機或者STM32,這些可以直接驅動舵機,不過舵機電流比較大的話,不建議直接接到控制板上,最好由電源給舵機供電。這個你需要有一點C語言和單片機的基礎。

然後自動追蹤這裡有一個圖像識別,可以用現成的內部帶一定識別功能的攝像頭,比如openmv攝像頭或者pixy攝像頭。
淘寶上搜一下就有了

也可以用普通的USB攝像頭加opencv(計算機視覺開源庫)來實現識別,當然opencv需要在電腦上運行,你看到的這個視頻也是這麼做的。

最後我推薦使用樹莓派,一種微型電腦,可以運行opencv,也有GPIO可以驅動舵機。

識別出物體在圖像中的位置(物體中心的xy坐標)後就很容易啦,可以通過串口的方式 控制舵機瞄準吧~


可以找找目標識別技術和伺服機構套件,圖中這個還是簡陋了點

工業上用的比較多的是利用機器視覺的分揀機器人

高端玩家玩得比較好的有自動打蒼蠅的鹽粒槍

當然這種東西在自動跟蹤攝像頭上用的也很多

淘寶上的自動跟蹤攝像頭,才幾百塊錢,買一個回家拆著玩都行


我做過一個基於樹莓派3和遙控電動車的自動遁跡車,控制部分和你的需求很類似。
首先你需要一個可以進行圖像識別處理的單片機,stm32的性能普遍不足以進行圖像處理,建議用arm處理器的比如raspberry pi 3。
圖像處理的演算法也沒什麼難的,用opencv的庫,先用hsv/threshold和findcontour找出目標,然後用moment算出靶子的重心坐標。根據算出的坐標控制伺服電機。
有幾點需要注意的。伺服電機的輸入信號電壓和電流是否過大,是否需要一個放大電路;其次,伺服電機的控制信號是什麼類型,電壓信號還是pwm信號,raspberry的pwm信號輸出精度一般,如果需要高精度的pwm信號,那麼需要把raspberry通過spi連到一個帶高精度timer的單片機比如msp430,用帶高精度timer的單片機發射pwm信號


題主,給你一個建議
這裡有一個比這個還要簡單的東西,而且比他好玩,也要用到電子電路知識。

沒錯就是這個,他用到了單片機,超聲波管,數碼管,led,蜂鳴器等一些十分簡單的模塊,但絕不輸於題主想做的玩具!
圖片摘自《拆彈專家》


最近我們正好也做了一台類似的智能炮台,可以自動瞄準的,和大家分享下吧

視頻:

#獵戶星實驗室# 全自動智能炮台改裝tudou.com視頻

秒拍:http://www.miaopai.com/show/8A0B7WWelHi1pjhNForoGOy1hB1yeD2A.htm

具體的改裝方法我們我們會出一期新的視頻,感興趣的朋友可以關注我們的微博 獵戶星實驗室 Sina Visitor System

更新:2017-08-03 12:16:15

最新的改裝教程已經做出來了:

秒拍:號外號外!大家期待依舊的(雖然沒有多少人關注)#智能炮台-獵戶星實驗室的秒拍

微博:智能炮台改裝教程


沒有基礎想自己從頭做還是naive,比較現實的方法是買套件攢。

相機方面,不建議對普通相機模塊自行編程,這樣怕是會讓題主感受不到樂趣而過早失去興趣;可以考慮採用1)kinect,2)pixy(CMUcam5);pixy的話有搭配的雲台套件可以自行編程實現目標在視閾中心的實時追蹤,通過固定槍和相機的相對位置,可以省去一維對目標和槍相對位置的計算,方法簡單,雲台也可單獨應用在槍管上如題,參考http://www.cmucam.org/projects/cmucam5/wiki/Pixy_Quick_Start,以及http://cmucam.org/projects/cmucam5/wiki/Run_the_Pantilt_Demo

不用pc的話,單片機不建議使用arduino,一方面如果像素太高了uno處理不了這麼大運算量,可以考慮樹莓派,可以嘗試minnowboard turbot+windows10IoT的組合,MS爸爸有驚喜。

槍和槍的驅動方面沒有研究過,不做評論。


其他都好說,我看你怎麼弄到bbgun


pixy攝像頭滿足您的需求


配上人臉(喪屍臉)自動識別軟體,這個是喪屍類末日後的神器啊。

建議生存狂們批量搶購。


OpenMV 我們新出了活動,來參加吧

OpenMV中文網 攜手 賽靈開源社區 優惠不停!


不知道耶 做這個玩具幹嘛 像法國doudou那種玩具多好


可以買一個便宜一點的攝像頭,圖像二值化再識別,二值化方法可以用大津法,識別後控制舵機就行了,電壓對舵機影響還是挺大的,最好加個穩壓電路,如果用單片機,舵機供電要外部供電,單片機輸出pwm控制舵機動作


這個其實要做還是比較簡單的,首先要兩個單片機比較好,一塊處理攝像頭,一塊處理槍。處理攝像頭的單片機把攝像頭採到的圖像二值化處理,輸出要瞄準的東西的x軸坐標和y軸坐標給槍的單片機,槍的單片機根據得到的x軸和y軸的值,控制槍底座的轉動位置就好。
我之前就弄過這樣類似的攝像頭處理的東西,是全自動用攝像頭控制機械爪去抓隨意放置的正方形木塊。
單片機我用的是stm32。如果有時間你可以先學單片機和c語言, 攝像頭處理的話直接用已經弄好了的模塊就行,攝像頭要如果全自己就很麻煩了 。
看起來也挺有意思的,暑假有機會我也要弄一個給我弟玩,哈哈。


推薦閱讀:

有什麼適合在家自己做的小零食?
在網上看到很多人用樂高製作各種各樣的東西,有那麼容易 DIY 嗎?

TAG:機器人 | DIY | 機械 | 單片機 | 圖像識別 |