11
你或許沒聽說過LeapMotion,但你一定知道微軟的Kinect。這兩款設(shè)備都能夠捕捉用戶身體的動作,并根據(jù)預(yù)設(shè)的算法實(shí)現(xiàn)用戶動作和計(jì)算機(jī)的交互。
一位來自印度的創(chuàng)客Syed Anwaarullah為了能在Mini Maker Faire上炫耀一下,打算利用手頭的LeapMotion做更多有趣的事。他將通過LeapMotion和開源硬件Arduino的結(jié)合,將手勢和體感交互擴(kuò)展到更多的應(yīng)用領(lǐng)域——甚至能使用這套系統(tǒng)控制機(jī)器人和智能家居設(shè)備!
這套項(xiàng)目所需要的部件并不多,如果要做一只手勢控制的機(jī)器手,除了基本的Arduino和LeapMotion控制器,還需要一個ESP8266 WiFi模塊、幾個舵機(jī)和一只3D打印手。另外,這套系統(tǒng)也能用來控制電器的開關(guān)等等。
一只能夠靈活運(yùn)動的3D打印手的結(jié)構(gòu)還是比較復(fù)雜的,這是一個相對較為簡單的設(shè)計(jì),只能實(shí)現(xiàn)比較簡單的功能:
其各個部件都是單獨(dú)打印出來的,詳細(xì)的文件可以點(diǎn)擊這里找到。而后面的組裝過程也比較費(fèi)時(shí),感興趣的話可以在YouTube上查看長達(dá)1小時(shí)的組裝視頻。
裝好了是這樣:
測試一下手指的運(yùn)動是否靈活:
在本項(xiàng)目中,手勢能夠?qū)崿F(xiàn)對機(jī)器手和燈的控制。具體的工作過程是:首先LeapMotion捕捉伸出的手指數(shù)量,然后通過WiFi模塊將結(jié)果反饋給Arduino Leonardo開發(fā)板,開發(fā)板中的程序?qū)⒏鶕?jù)手指數(shù)量作出相應(yīng)的反饋:
伸出1只手指:打開黃燈
伸出2只手指:關(guān)閉黃燈
伸出3只手指:打開紅燈
伸出4只手指:關(guān)閉紅燈
伸出5只手指:手掌打開
伸出0只手指:手掌閉合
具體的程序(包括PC端的JAVA程序和Arduino程序)可以在bitbucket下載。
如果你也打算做一個同樣的控制器,那么在程序配置過程中,你需要注意以下幾點(diǎn):
Arduino程序中的establishWiFiConnection()用來配置客戶端模式的ESP8266,而createWiFiHotspotServer()則用來配置熱點(diǎn)模式的ESP8266。
數(shù)字引腳11和12連接到一個4信道的繼電器模組(低電平有效觸發(fā))。
Java類中的IP地址192.168.4.1是熱點(diǎn)模式下的WiFi模塊的IP地址,如果你打算在客戶端模式下使用ESP8266,應(yīng)該將其換成動態(tài)IP地址。
完成之后就該帶到Mini Maker Faire上去炫耀了!
2015-2016賽季全球創(chuàng)客馬拉松深圳大學(xué)站已經(jīng)開始接受報(bào)名啦!關(guān)注“硬創(chuàng)邦”(微信號:leiphone_bang),回復(fù)“深大”即可參與報(bào)名!此外還可加入全球創(chuàng)客馬拉松主群(群號:259592983),參與我們的互動討論~
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。