|
遙控飛機(jī)大家在兒時(shí)都玩過,但用身體來遙控直升機(jī)就不多見了吧,今天給大家?guī)淼倪@個(gè)
開源項(xiàng)目——體感遙控直升機(jī),它利用Kinect 采集人體的姿態(tài)信息,然后通過串口向Arduino
發(fā)送消息。Arduino 通過控制遙控器的電位來達(dá)到遙控直升飛機(jī)的目的。這個(gè)項(xiàng)目很適合
Arduino 研究者參考學(xué)習(xí)。
一直說要出這個(gè)教程,懶了好多天,今天終于打算寫出來了。。。。內(nèi)容其實(shí)挺簡單,請(qǐng)輕拍。。。
說說這個(gè)項(xiàng)目,其實(shí)就是利用Kinect采集人體的姿態(tài)信息,然后通過串口向Arduino發(fā)送消息。Arduino通過控制遙控器的電位來達(dá)到遙控直升飛機(jī)的目的。
然后我就分開說說每個(gè)部分是怎么搞得吧。
一、改造遙控器:
這小破直升飛機(jī)是淘寶買的49塊錢的便宜貨。。。到貨后果斷拆掉遙控器。分析了一下控制原理。其實(shí)搖桿就是一個(gè)電位器,通過不同的電位來給直升飛機(jī)發(fā)送不同的信號(hào)。
也就是說我們可以把這種物理的電位器換成數(shù)控電位器啊神馬的~然后通過電腦控制數(shù)控電位器的電阻值,來模擬原本的“搖桿”。
vj0vn0Ni7quDUENpAvcNTNlZjRU8o2LjHP9054tQPz_pAQAAbgEAAEpQ.jpg (25.32 KB, 下載次數(shù): 179)
下載附件
2015-10-29 13:25 上傳
拆下來的就是這么個(gè)電位器組件。
TrWotoz7zeU9_S0tx_fk7vfiln__idrwBuCL96ghzoO-AAAAngAAAEpQ.jpg (4.98 KB, 下載次數(shù): 192)
下載附件
2015-10-29 13:25 上傳
然后把原來的觸點(diǎn)用幾個(gè)兩孔的排母焊上去
VRkKGFeXfCyIjwRsIn-j1VjfRZp1SZzKCDvPrhoE_xogAQAAuAAAAEpQ.jpg (10.03 KB, 下載次數(shù): 195)
下載附件
2015-10-29 13:25 上傳
然后我們的遙控器就算改造完畢了~
二、制作控制板
由于這個(gè)遙控器有三個(gè)電位器(油門,前后,旋轉(zhuǎn)),那么我們就用三個(gè)數(shù)控電位器來代替這三個(gè)普通的電位器。
這里我用到的IC是X9313WP,8針的DIP直插(0-10K,32檔,但是我們只用其中的0-5K,所以就是16檔)
管腳圖就是這個(gè)咯:
0JzlnBz3M2hQzhrGLxTaWpi5hFulMxHMQuVKneMvhX2CAQAAqwAAAEpQ.jpg (8.41 KB, 下載次數(shù): 172)
下載附件
2015-10-29 13:25 上傳
然后是功能表
Ja5Zwicm1IFWp6ZczpwPx8uNl_LsCR9SIK45ALkhyc1vAQAA3QAAAEpQ.jpg (18.2 KB, 下載次數(shù): 181)
下載附件
2015-10-29 13:25 上傳
最早我們用面包板測試了一下這東西好不好使,因?yàn)楣苣_太多,輸入輸出也不少,所以接線就成了這個(gè)樣子:
i9RjQXvDewdrD_zLkZX7li3jsDWOZ_BjOcwf2zz2E0otAQAA4wAAAEpQ.jpg (15.21 KB, 下載次數(shù): 160)
下載附件
2015-10-29 13:25 上傳
測試可用,然后就用洞洞板焊了一塊板子
背面(全都是飛線。。。這種帶連接的洞洞板不好焊啊。。而且焊完了發(fā)現(xiàn)有明顯設(shè)計(jì)失誤TT)
VXm5P6PI1FdZ_mxQZrrec7b-qNnYIdJtujj6owL9GH4qAQAA3wAAAEpQ.jpg (13.58 KB, 下載次數(shù): 210)
下載附件
2015-10-29 13:25 上傳
正面
vSY0MGlgXl0u3rkOPSb5NW5vcUKHtdngqJcSc9EMyOArAQAA3wAAAEpQ.jpg (11.45 KB, 下載次數(shù): 207)
下載附件
2015-10-29 13:25 上傳
然后控制電路就算搞定了。。。。
三、Arduino端寫代碼
話說Arduino的功能就是用來控制這塊板子。通過PC上串口的數(shù)據(jù)來改變數(shù)控電位器的值。這里我寫了一個(gè)X9313的驅(qū)動(dòng)。。。
tFnJROmxbUoAMQ8ZsFSc1DzmFgR_K-Tifq0OmBrPbc16AQAAHAEAAEpQ.jpg (19.92 KB, 下載次數(shù): 173)
下載附件
2015-10-29 13:25 上傳
四、Kinect端寫代碼
然后是Kinect端要寫代碼。主要原理就是通過獲取到的骨骼數(shù)據(jù)中的關(guān)鍵點(diǎn)來決定現(xiàn)在數(shù)控電位器的值。(筆者寫這文章的時(shí)候不在windows下啊。。。圖就不上了)
五、系統(tǒng)組合
每個(gè)模塊都算搞定了,然后就要把整個(gè)系統(tǒng)拼接在一起啦~
U4fLwM0uDgxnOxXLw3vpKGH15j8o3dY7GLPlW1DbMGRQAQAAwwEAAEpQ.jpg (23.91 KB, 下載次數(shù): 178)
下載附件
2015-10-29 13:25 上傳
六、收尾工作
總覺的那塊尺寸巨大的洞洞板不爽。然后就花了50大洋買了個(gè)DFRobot的Mega Protoshield。。。。這個(gè)直接一拼插,感覺好多了~下圖是測試中。。。
七、效果
就是這么個(gè)視頻~建議單獨(dú)打開用“原畫”
點(diǎn)擊訪問視頻
以上代碼(Arduino、Kinect)可以到這里下載:
http://friskit.me/2012/09/kinect-contolled-helicopter/
|
評(píng)分
-
查看全部評(píng)分
|