自製Wii Remote控制器的紅外線發射器(使用USB接頭)
文∕趙英傑
Wii遊戲機的特色莫過於集結「動作(加速)」與紅外線感應於一身的藍芽控制器——Wii Remote。Wii Remote前端有個紅外線CMOS感測器,搭配連結Wii主機的"Sensor Bar"(直譯為「感應器」,但其實它是紅外線發射器),即可感測控制器的座標位置。
這小小一支控制器集合了多個國家、不同公司的研發成果。下圖是美國Fortune(財星)雜誌所刊載的Wii Remote內部照片,以及各個零組件的研發∕製造廠商與估計成本(參閱:An Inside Look At The Wii’s Magic Wand)。其中的藍芽控制晶片(Broadcom 2042)由Broadcomm研發、台積電代工生產,此藍芽晶片的核心是八位元的Intel 8051單晶片。不知道為什麼,這篇文章遺漏了由台灣原相科技研發的CMOS感測器。關於此控制器的詳細技術分析,請參閱WiiLi.org網站的Wiimote文章。
令我感到訝異的是,控制器裡的記憶體晶片竟然是在義大利米蘭(Milan)研發製造的。現在台灣的記憶體晶片大廠的股價普遍低迷,怎麼不交給台灣研發生產?不僅價格低廉且品質優秀
個人電腦上的藍芽無線通訊模組可以和Wii Remote控制器連結。在配對時,電腦上要選擇藍芽的「滑鼠、鍵盤和搖桿」類別,並按著Wii Remote控制器上的1和2鈕,或者電池盒下方的紅色同步(Sync)鈕不放,即可配對成功。下圖是在我的電腦上呈現的藍芽裝置搜尋畫面,控制器的名字是"Nintendo RVL-CNT-01"(註:Mac OS X和Linux系統的驅動程式,請參閱WiiLi.org的這個網頁說明)。
藍芽連線成功後,即可使用一位日本人設計的 "WiinRemote" 軟體,讀取Wii Remote控制器的電量、動作感測器(Motion Senor)、紅外線感測器(IR Sensor)和左手控制器(Nunchuk)的參數值。而且,只要按下操作畫面右下角的Enable Cursor(啟用游標)鈕,就能把Wii Renote控制器當成無線滑鼠使用。其操作畫面如下:
為了讓Wii Remote控制器能在電腦上像操作Wii一樣方便,最好在電腦上加裝紅外線發射器,讓Wii Remote判斷搖桿的座標位置(註:上圖的IR Sensor窗格裡的1和2白點,就是紅外線發射器的位置)。
底下是紅外線發射器的電路圖(參考卡內基美隆大學Johnny Chung Lee教授的這個電路)。我使用電腦的USB供電,USB插頭是從舊的滑鼠剪下來的,除此之外,兩個紅外線發射二極體和電阻,加起來的成本大約新台幣25元,非常便宜。
USB的電源為5伏特,電路中的電阻值可採用介於40~70歐姆之間(我用的是47歐姆);如果要使用外部的3伏特電池盒供電,請使用介於15~30歐姆之間的電阻值。若嫌自製電路太麻煩,也可以直接在電腦旁邊點兩個蠟燭充當紅外線光源…不過這樣的氣氛可能蠻詭異的。
因為電路很簡單,所以不需要使用電路板,可直接用電線把全部零件焊接在一起:
焊接完畢後,我用一根筷子和膠帶將它們固定好。雖然完成品的外觀粗製濫造,但是可以快速完成並測試。
我們肉眼看不到紅外線,檢驗電路是否有正常運作的最簡單方法,是把數位相機或攝影機的鏡頭對準紅外線二極體,由於攝影機的CCD和CMOS感測器的光譜涵蓋紅外線,因此我們可以透過它觀察到紅外線二極體所發射出的光線。
最後,選擇WiinRemote軟體的Options(選項)→Preferences(偏好設定)指令,並勾選左上角Cursor(游標)窗格裡的IR Sensor(紅外線感測器)選項,Wii控制器就能透過自製的紅外線發射器來感應座標了。
哈囉~大大請問一下
那個紅外線發射二極體有限定用什麼樣的規格嗎?
還是都OK?
謝謝!!
應該都OK!
您好:
我对Wii Remote控制器 不熟悉,请问它是怎么实现三维坐标检测的啊?可以具体帮我解释一下吗?
Wii Remote前端包含一个1024 x 768分辨率(解析度)的CMOS红外线摄像头。
不妨把这摄像头想像成人眼,Wii的红外线发射器想像成道路两旁的路灯。当你站在路中央走近路灯时,两旁的路灯会朝你的水平方向拉远;相反地,当你退後时,路灯将会朝你的水平中心拉近。因此,藉由判断两旁灯号的距离,就能得知Wii Remote是朝前或向後移动了。
此外,Wii Remote内部含具有一个3轴的8位元加速感测器(accelerometer),也可以感应用户在三维空间的运动。
相关的说明可叁阅纽约时报的这篇报道:At the Heart of the Wii, Micron-Size Machines,以及X-Arcade网站的 How The Wii™ Game Controller Works这篇文章。
我的Wii Remote已連線 (bluetooth),但是執行WiinRemote卻沒動靜,Battery 0%,Motion Sensor X-Y-Z三軸沒動靜,一直停在最上方一直線,請問可能是什麼原因,Motion Sensor難道不是利用bluetooth偵測動作嗎
我想應該說是G-sensor感應動作後,利用bluetooth傳送資訊是嗎
除了感應X, Y軸座標需要額外的紅外線發射裝置之外,所有資訊(動作、按鈕、聲音…)都是透過藍芽傳輸,但並非所有藍芽驅動程式都能支援Wii Remote。
如果你的藍芽驅動程式不是BlueSolei,可以替換安裝看看。
Thanks~Cubie
因為bluetooth裝置抓到後,Driver是自動安裝的,請問我該如何重裝,BlueSolei該下載哪一個(http://www.bluesoleil.com/download/index.asp),我的bluetooth是HP Compaq nc6230 內建藍牙,麻煩您了
根據網站上的說明,應該要先下載Hardware Check tool,看看硬體裝置是否支援BlueSolei 6,如果可以,再下載安裝BlueSolei 6(第一個連結)。
good luck!
jeffrey
您真的太強嘍 ….
看的小弟也想去買丟掉很久的烙鐵回來DIY …
還好啦~不過是把幾個零件焊接起來罷了
請問一下~看你的文章,好像是裝了紅外線發射器,就能讓remote定位
那不拿原本wii的感應棒來用,是因為會和wii衝突嗎?
如果是的話,是否去買市面上的wii用無線感應棒,就能做到同樣效果了?
因為我不會悍接,想找現成的來用:grin:
因為wii的紅外線發射器接頭是特殊規格,再加上拔來拔去有點麻煩,所以不如自己做一個。
可以用現成的紅外線發射器,其實只要有兩個紅外線光源就可以了,如果拿兩個遙控器,在控制器面前隨便按著一個按鍵,也能讓Wii remote定位。
請問…
我買的紅外線LED是透明的…
跟你的好像不太一樣耶
會有很大的差別嗎??
還有 如果要裝4個或8個的LED
電阻應該要怎麼裝
裝幾歐姆的呢@@?
1. 沒有差別。
2. 電阻數量和LED數量相同,電阻值也相同,像內文的電路圖一樣,直接併接在電源的正、負極。
have fun!
jeffrey
請問LED筆除了控制左鍵外 還可以做控制右鍵的動作嗎
有一陣子沒有用了,我記得預設的Home鍵就是右鍵,WiinRemote軟體的設定畫面中,右上角的Assign(指定)下拉式選單,也可以讓你把某個按鍵設定成滑鼠右鍵。
have fun!
jeffrey
留个影子!正在研究wii自制电子白板!
最近想用廢棄物來做,家中有兩個壞的電視遙控器,不知是否可行?不過電阻不知要去哪裡找……
電子材料行就買得到,大概三個或四個一元,很便宜。
或者,用兩個1.5v電池串聯成3v供電,那就不需要電阻了。
have fun!
jeffrey
你好,那電組用下面這種可以嗎??
http://goods.ruten.com.tw/item/show?21004120955773
http://goods.ruten.com.tw/item/show?21012222367491
不行,那電阻值太高;也不需要使用航空電阻那種高檔貨。一般電子材料行賣的電阻,3或4個才賣新台幣一元。
have fun!
jeffrey
大大, 我用的是無線的紅外線感應器,一個賣200元上下的那種,但顯示在電腦上的游標卻晃得很厲害, 有無解決方法?
我不確定你指的紅外線感應器是哪一種,不過,Wii搖桿定位需要的是紅外線「發射器」喔~
have fun!
jeffrey
請問一下那套軟體可以用在w7上嗎?
拍謝,我還沒在Windows 7上試過。
thanks,
jeffrey
雖然時間已隔很久了,但還是想問,你說漿電視遙控器放兩側,就能當發射器,使用時只要放著就好了嗎?還是要發出訊號?
一定要發出訊號,比方說,找個東西壓著按鈕。
thanks,
jeffrey
這些前輩太強了\感恩