2019年12月30日 星期一

3D列印遙控飛機

最近發現一個網站( https://3dlabprint.com/ ),裡頭賣了不少3D列印的搖控飛機模型。價格都不太貴,而且youtube上還蠻多影片在玩,也可以找到不少教學影片。

所以就手滑了一下買了一台噴火做做看。

它裏頭有兩台,一台是翼展1.7M,價格貴很多,而且動力配置也要求比較高。

另外一台1M不到,價格才十幾塊美金 https://3dlabprint.com/shop/spitfire-mk-xvi-s3d-cura-ready/

就決定拿這台下手了。

感覺起來還蠻有質感的,不過開始列印就遇到問題。

付完款之後立刻就收到下載檔案的連結,下載解完壓縮之後,裏頭的檔案很完整。有原始的檔案(Simplify3D),STL跟G-CODE都有。

G-CODE都已經幫忙排好了,不過作者用的印表機是PRUSA i3,裏頭手冊也寫很清楚,不同的列印機需要調整參數。

它裏頭的手冊建議的幾種做法有1. 使用Simplify3D來轉檔。 2.用STL跟CURA來轉檔。 第三種就是用G-CODE直接印。

我的列印機是Ender 3pro。理論上也是屬於開源印表機分支裏頭的一員,理論上G-CODE不會差太多才對。所以二話不說,就挑了一個檔案容量最小的G-CODE檔案來印。

結果如下



說實話,只能說"堪用"啦! 牽絲的很嚴重,而且很多地方密度也不太夠。

想了很久,接著使用STL + CURA來試試看。不過雖然它有提供CURA的參數檔案,但是版本太舊無法使用。手冊裡也提到因衛CURA版本更新太快,所以無法更新參數檔案。所以只能照著說明來調。

需要調整的部分不多,主要是填充要設為0,還有一些有的沒的看不太懂。

反正弄弄就開始印了。

不過大概印十幾分鐘就放棄,很明顯的印的"太結實"。雖然列印品質很明顯的比直接印G CODE來的好,但是牆壁好像太厚了。手冊裡有特別提供每個部件的重量,看樣子是鐵定會超重。所以立馬放棄。

暫時....這個部分就被卡住了。

下面是Youtube裏頭的影片。(隨便找都一堆...而且用的好像都是同一家的3D圖,可見得這個3D模型做的真的不錯)

https://youtu.be/Ztygn--BsjI

2019年4月6日 星期六

生活輔具-特製遊戲搖桿鍵盤DIY (5) 將右邊控制器改為滑鼠功能

目前整個搖桿的規劃,左邊方向控制器是WASD四個按鈕,是遊戲裏頭控制行進方向的。中間六個按鈕分別為E、TAB、SPACE、SHIFT、F3以及F5。
右邊方向控制器是1-8

經過鵝子適用幾次之後得到的結論是,除了WASD之外,其他的功能用到的機會都還好。實際上我再一旁觀察的結果也發現到,他所有的功能鍵除了WASD最常使用之外,其他的使用頻率都很平均。因為功能鍵多,所以也沒辦法完全外接出來。導致雙手需要再滑鼠、搖桿、按鈕、鍵盤之間移動。

所以我打算把右邊的控制器換成滑鼠功能,這樣的話,至少右手的滑鼠就可以不需要使用。
所以二話不說就改了一下軟體後立刻測試。
結果發現了一個令人頭大的問題,
這個搖桿的核心等於是四個開關,所以只有ON跟OFF兩種訊號。因此把他模擬成滑鼠的時候,變成滑鼠的速度是固定的。無論你搖桿撥的是大力還是小力,行進的速度都是固定。所以如果把速度調快的話就不好對準目標,可是速度太慢的話又不好用。
下面是實際操作的影片:

影片裏頭可以看到鼠標都是以均速移動,實際上這種速度要對準特定目標是有困難的。

目前想到的解決辦法有二: 一種是找搖桿的輸出是連續類比輸出的產品。另外一種則是把滑鼠速度改成漸進式加速。

下面是改成漸進式加速,要對準目標會變得容易些,但是手感跟滑鼠還是差了很多

這個影片可以看到鼠標一開始的短時間速度會比較慢,後面會很快地加速。
這樣的設計是已經到堪用的地步,但是稱不上好用,而且使用者還是需要練習一下。

接下來我會去淘寶訂類比式的搖桿。

這款感應器是使用霍爾元件,會比可變電阻精度更高而且耐用度也更高。這款輸出的方式也有很多選擇,目前是考慮XY分別輸出0-5V的款式。

不過這款的尺寸跟三和搖桿不太一樣,而且中間的桿子也沒有螺紋,尺寸也有差異,要怎麼整合到目前的外盒得等收到東西再說。

2019年4月4日 星期四

生活輔具-特製遊戲搖桿鍵盤DIY (4)

關於按鈕的部分,後來在露天發現了另外一款大按鈕。看起來好像還蠻耐用。


叫做三和按鈕。雖然不知道三和跟搖桿和按鈕有甚麼關係,不過似乎街機很多都是用這個牌子的。

依照這個產品的尺寸,我重新把遊戲搖桿的按鈕部分設計一次。
未來整體會長成這樣:

總共分成三個控制模組。其中兩個是方向控制,中間的是按鈕控制。三個模組只要更換連接件就可以任意的改變排列方式。


這是背面連接件的樣子。最後只是單純用雙面膠固定,如果想要永久固定的話,改用環氧樹脂也可以。


控制器在製作的時候也發生了一點小插曲。上面那個是完成品,但是沒用幾次居然把USB接頭整個扯掉。
沒辦法,整個計畫又延遲了三天等新的開發版寄過來。

這次學乖了,在等待的時候重新製作控制器。這次改用排針座來連接,如果再搞壞的話,至少可以很快的更換板子。
而且在等待的時候還可以用大板接上去先測試。




上面是兩段測試影片,大家有沒有注意到我家小朋友的手部動作。
很多肌萎症患者或者腦神經麻痺患者大概都是類似這種情況,手腕以下的功能等於是全廢。在這種情況下使用一般鍵盤跟滑鼠非常困難或者很沒有效率。
第二段後面一點的地方有伸手去操作傳統鍵盤。依照這種方式是非常容易按到旁邊的按紐。

現在改用這種圓形控制器以及大型按紐去取代鍵盤的常用熱鍵,大家在注意一下遊戲畫面,是不是操作的超順暢?

看到這樣的畫面之後,我已經開始在想下一個計畫,就是製作大型的半圓形滑鼠。
如果你本身是患者或者有跟患者接觸過就知道,目前市面上找的到的特殊滑鼠如果是搖桿形狀的話,都是細細一根的搖桿。
患者手腕以下沒功能的狀態下,怎麼可能好好把那根桿子握住?

另外還有軌跡球也是類似情況,手指就已經沒功能要怎麼去滑那小小的球勒??

最後是幾張90%完成品照片。




2019年4月3日 星期三

生活輔具-特製遊戲搖桿鍵盤DIY (3)

接下來就是接著做按鈕以及軟體開發兩個部分。
按鈕是隨便從光華商場購買的大按鈕,在買的時候並沒有想太多,原則上就是夠大就好,所以挑了下圖這種。

可是回來畫圖的時候才發現到這款按鈕高度太高了!!!
會長成這個樣子。


很明顯的在使用上可能會影響到手部的活動,不過東西都買了,就先試試看功能吧。反正所有的按鈕在線路以及軟體上應該未來都不需要更動,只要改變外殼跟硬體就好。


這個就是樣品。做好之後我鵝子是沒甚麼意見,不過我還是繼續找尋合適的按鈕。

接著就是軟體開發。
開發板我選用這塊,Arduino Leonardo,好處是可以直接在硬體上模擬成鍵盤或者滑鼠,而且是獨立的一個裝置,並不會跟原本的COM port衝突。而且接腳的數量也夠多,就不需要另外用一些取巧的辦法讓好幾個按鈕去共用同一隻腳。
硬體就是最基本款。


跟我家小朋友討論的結果,最後事先做兩個方向盤+六個按鈕。所以一共需要4+4+6=14個街腳。Leonardo接腳數量沒問題,但是如果未來還需要接上LCD或者SD卡的話就不夠了。

軟體部分在第二篇的時候,WASD模擬就已經寫好一部分,可是在製作按鈕的軟體,發現到"硬體彈跳"的問題很嚴重。
在Arduino官方入門教學裏頭的前幾篇,就有提到這個問題。
請參考 Arduino - Debounce
簡單的說,就是當開關在外要打開的一瞬間,並不是直接導通的。而是有一個很短的時間會開開關關的彈跳。可是Arduino的偵測速度實在太快,這樣的清況雖然只持續幾個毫秒,但是就會被判斷成重複按壓兩三次的情況。



之前在測試WASD的時候並沒有發現嚴重性,因為前後左右的時候,同一個按鈕在短時間多按幾次並不影響這個功能。
但是針對一些功能按鈕,影響就很大了。

所以花了一些時間研究,最後是採用一個名叫"Bource2"的第三方的library來處理。這個library好處是程式很簡潔。
這裡下載: https://github.com/thomasfredericks/Bounce-Arduino-Wiring/archive/master.zip
說明文件: https://github.com/thomasfredericks/Bounce-Arduino-Wiring/wiki
官方 github: https://github.com/thomasfredericks/Bounce-Arduino-Wiring

所以六個功能按鈕很快就完成了。
可是同樣的library用回到方向盤的時候問題就大了。不知道為什麼,這個library沒辦法處理多個按鈕同時按住的情況。無論如何,他都會把原本按住的按鈕放開後再處理下一個。所以方向盤的部分又回到幾本款。
最後還是得使用Arduino官方教學的方式處理,雖然程式碼拖得比較長,但是運作上還蠻符合需要的。

最後我們家小朋友也給出最後的功能規劃。
方向盤1的四個方向分別為: WASD
方向盤2則需要對應數字1-8,也就是說同時按住1跟3要能夠跳出2的意思。
而六個功能鍵則分別為: E、TAB、Space、Shift Toggle、F3、F3。

這邊說明一下Shift Toggle的意思是按一下等於把Shift按住。再按一下等於把Shift放開。

這個部分我先用麵包板處理,所以圖片就不貼了。


2019年3月25日 星期一

生活輔具-特製遊戲搖桿鍵盤DIY (2)

第一個版本由於零件的選擇錯誤,導致這個工具太脆弱。在多次測試之後還是決定放棄。

這段影片是實際完成品的測試,看起來是很順暢,可是結構上有點複雜,因為槓桿作用的關係,裏頭需要用到一些彈簧或者橡皮筋之類的零件來輔助搖桿歸中。而且面積太小,對於手部動作不精細的人來說也不太好用。

後來網路上有人建議使用三合搖桿來改。三合搖桿就是外面街機用的搖桿,真的堅固很多。


這次設計的重心放在如何能夠讓整隻手放在上面操作。所以整個體積做到剛好可以一手掌握的大小。

下面的影片是試作樣品在測試功能是否正常。

其實在測試的時候才發現這個東西真的很好用。因為目前"吃雞"的遊戲操作多半用WASD四個按鍵控制行進的方向。而用滑鼠來控制視角。
這個工具可以讓WASD的控制變成類似搖桿的操作,而且因為尺寸更符合人體工學,所以一般人操作上會更方便。

在跟小孩討論的過程中,他建議因為遊戲的快速鍵除了方向控制之外還有很多,因此還是依照原本計畫需要兩到三個方向控制,再加上五六個大型按鈕。
下面的照片是多加兩個按鈕。今天晚上在等他來試看看...

上面的照片不知道你們想到了甚麼? 沒錯,這樣的東西很合適用來針對手部動作不精確的病患當成輔助滑鼠。
實際上我也順便查了一下Arduino這塊開發版也有支持滑鼠模擬模式,如果要改的話也是非常簡單。

接下來的進度是把搖桿功能跟按鈕功能在機構上先分開個別製作,這樣比較方便確認排列以及布局是否方便使用。
至於功能方面,就如同所料的,Arduino的開發非常容易,大概30分鐘就把軟體搞定,只是因為I/O數量的限制,方便使用的話大概10-12個按鈕。如果要更多的話就要動用到類比的腳位。大概還可以多10組左右。
依照小孩的規劃,20個控制應該也夠了。只是因為每個遊戲對應的快速鍵都不相同,因此如何能夠很有彈性的自行定義按鍵的切換,這個部分就有點困難。
我不會寫Windows程式,所以要透過應用程式定義大概是沒辦法了。目前想到的是使用記憶卡,把鍵盤定義的設定檔案放進去,每次鍵盤啟動的時候去讀取就可以了。

2019年3月15日 星期五

生活輔具-特製遊戲搖桿鍵盤DIY (1)

我家小孩剛升上國一,他是CMT患者(運動神經末端退化,類似肌萎症),手腳使用很不方便...(不詳述)
從小我就特意培養他對於電腦的愛好,而且他真的是喜歡上電腦了。目前操作上沒太大問題,滑鼠使用OK,但是鍵盤使用就很不順暢了,打字基本上就是件苦差事。偏偏這幾年又流行甚麼"吃雞"遊戲,小孩鐵定是很愛玩的。
有天跟小孩聊天,他說:"拔拔,真的很羨慕一般小孩,它們只要一直坐在電腦前面一直玩一直玩就可以變得很厲害,可是我無論怎麼玩都沒辦法進步"。
我聽了當然是很難過,我就建議他何不上國外網站找找看有沒有可程式化鍵盤或者搖桿這類的產品,也許有幫助(他英文超強...已經是全家英文最強的)
他說已經找過了,但是按鈕都太小了。
我想想就跟他講:"好吧,不然你畫張設計圖,我來幫你想想有沒有甚麼辦法可以搞定"。(當然,以上就是隨便說說,我猜他應該幾天就忘了)
過了幾天下課,我剛好代老婆班去學校接他..."拔拔,設計圖畫好了喔,這是我跟助理老師一起合作畫的"(配合著助理老師和藹可親的笑容),實在不能擺出一副不想鳥的臉...



 他大致跟我解釋了一下他的需求。看起來就是五向按鈕類似東西的放大版(如果有買過電腦飛行搖桿應該會知道,上頭有個俗稱"苦力帽"的多方向按鈕)。
總覺得這種東西應該有市售產品才對啊...後來查了很久,發現還真的沒有。最接近的是類似高檔音響可以無限旋轉+按下去的按鈕。這種按鈕在電腦上也沒看到有合適的周邊產品。
不過想了想,既然有苦力帽這種東西,表示基本的硬體元件應該是買的到才對...估狗了一下果然有類似的


而且很幸運露天拍賣就有得買。
這樣的話應該DIY是有可能完成...這時腦海就有大致上的規劃。
初步是想透過Arduino作為轉換器,將讀取到的訊號模擬成鍵盤訊號。
Arduino我是沒有正式學過,不過七八年前剛流行的時候有透過網站初步涉略了一點...印象中應該入門篇就可以搞定。




上面是電路的玩成圖,看起來好像很厲害,其實一點都不複雜,就是一個五向按鈕把線接一接。那個超迷你LED是打算等正式接到電腦前可以比較快觀察訊號是否正確用的,正式做的時候可以省略。
至於程式就拿範例程式抄一抄,大概一兩小時就搞定....

但是按鈕機構設計就傷腦筋了,下面是兩個版本的設計...基本上都失敗了。
其實還有第0版的已經丟掉了



我鵝子提的要求是需要四個大型的多方向扭,我先是做一個看看。用3D列印機印出來,外型像照片那樣。可是遇到的問題是因為電子開關本身很小,所以大按鈕接上去之後,如果按鈕可以自由活動甚至旋轉的話,會有可能把電子開關搞壞。

後來就改成第2版,下面這個版本外觀是長的一樣,但是內部就開了十字型的槽限制按鈕的活動範圍。



第二版的問題是我發現,開關的小柄事實上並非平行的上下左右移動,而是有點類似有個軸心的移動。透過按軸距放大之後,如果按扭只在一個平面上活動會很不順暢,所以改了第3版



這次我仔細量了一下按鈕活動的弧度再重新設計過,但是這個版本的問題在於因為公差很小,所以尺寸相對有點偏移而且洞挖太大了....得把尺寸仔細量好在重作。

最後,其實寫這篇文章一半是為了分享,一半則是為了求救。
由於自己本身非專業,所以3D圖每次弄好都得重複修正尺寸好幾次。3D列印又超慢的,畫好圖得印個一天才能驗證....
所以光這個機構部分,如果版上有哪位可以提供專業建議,非常感激。
當然,其他有任何建議都歡迎討論。甚至有誰知道有現成產品可買那更好了!!

好吧!如果有新的進度再來分享----------------