▼
內文試閱
任何表面都能打字-手指即鍵盤! 親手打造手套式虛擬鍵盤
我們設計的手套讓使用者可以在硬表面上打字,就好像有個QWERTY鍵盤(如圖1所示)存在一樣。當手套辨識出指尖碰觸到表面的時候,藉由手指彎曲的程度便可判定哪個鍵被按下。手套還能辨識左手食指與中指是否分開,以區分按下的是「t-g-b」或是「r-f-v」鍵。右手手套也有相對應的類似功能。目前手套只能辨識三個主要的鍵盤列,從左上角的「q」到右下角的「?」。除了這些限制,手套基本上跟正常鍵盤一樣,也就是可以拿來打任何程式。 圖1 系統全圖,包含USB接線及PICkit 3
本篇文章將討論如何設計、打造虛擬鍵盤系統,同時涵蓋軟體及硬體的相關細節。
設計概觀 觸控螢幕雖然可以替代攜帶型電腦的滑鼠設備,但是觸控螢幕鍵盤沒甚麼觸感回饋,而且也太小。所以對習慣用正常鍵盤工作的人來說,觸控螢幕並不好用。有些專案也嘗試用手套作為人機介面(例如CyberGlove、KeyGlove),但是大部分都是針對手勢、並使用一般感測器的手套,或只是未完成的雛形設計而已。此專案乍看之下跟Carsten Mehring的KITTY專案(http://gram.eng.uci.edu/~cmehring/KITTY/about-kitty.html)有點像,不過此專案的獨特性在於它產出了可充當QWERTY鍵盤的手套,而不是一般的輸入感測裝置。
專案的鍵盤手套有一些功能限制。例如,有些功能鍵像SHIFT、CTRL不能用,數字鍵也不行。因為倒退鍵比較常用,所以分號跟前斜線鍵都被倒退鍵取代。不過手套與電腦間的接線可能會讓使用者無法四處移動。
硬體有10個按鈕,每個手指一個。除了拇指以外,其它手指還有一個彎曲感測器。兩隻手的食指跟中指之間也有銅片接觸點,這些銅片接觸點可協助判斷食指是敲在鍵盤的哪一行。有兩個8對1的類比多工器(MUX)以減少讀取彎曲感測器及按鈕電壓所需的輸入信號數目。前述的每個輸入端還有一個分壓器。彎曲感測器的MUX輸出端,還有一個非反相放大器電路。它讓電壓的動態範圍變大,這樣才能辨識手指到底是敲打在三列中的哪一列。
軟體會把感測器資料轉換成UART訊息,以指示壓下了哪個按鍵。專案中可用的按鍵包含小寫字母、逗點、句點、及倒退鍵。軟體會掃描每個按鈕,檢查是否有按鈕事件發生。如果有的話,便選定該手指(選擇的優先順序是從右到左),並將類比MUX的輸入選擇信號作相對應的改變。Microchip PIC32上面的ADC(類比數位轉換器)將讀取跨在彎曲感測器的電壓,此值隨手指彎曲程度而改變。從讀取值及事先設定的臨界值,就能判斷手指敲打在第一列(從「q」到「p」)、中間列(從「a」到「;」)、或是第三列(從「z」到「/」)。這些資訊再包裝成UART訊息,然後由Python程式處理。Python程式讀取串列埠的輸入,然後把它轉成按鍵事件—其效果就跟在真正的鍵盤上敲鍵一樣。
<完美工程師>位移/位置感測器(2) - 非接觸式位移/距離測量法攻略 上期我們探討了採用接觸式方法的測量位移主流技術。這次我們將討論非接觸式方法。經常使用在機器人、控制迴路、過程控制、診斷、測距和其他應用中的三個最為人所知的原理就是:超音波(Ultrasonic)、無線電(Radio)和雷射測距(Laser Ranging)。
超音波、無線電和雷射 超音波距離測量是透過超音波能量脈衝的發射,同時計算回波(Echo)到達時間來運作的。然後,透過已知的聲音速度,便可以計算出該脈衝到達目標並返回的距離。空氣中的標準音速是每秒343.2公尺(1,125.9英尺)。然而,其速度會因空氣壓力、溫度、濕度,以及承載媒介的類型而有所不同。例如在水中,聲音的傳播速度會比在空氣中快4.3倍。在鐵中,它比在空氣中更快上15倍。
一個眾所周知的超音波測距例子就是寶麗來(Polaroid)One Step拍立得相機。當前,超音波位移測量被用於物體和換能器機械耦合之系統中是不切實際的。典型的應用莫過於海軍聲吶、魚類探測器,以及測量容器中所含材料(例如液體、晶粒和沙子)含量等等。
超音波頻率廣泛應用於醫療應用中,例如超音波檢查(Sonography)。不幸的是,在露天所進行的超音波測量可能受到許多因素的負面影響,例如空氣流動,所以系統設計人員必須牢記這一缺點。為了降低對環境因素的相依性,多半會採用所謂「啁啾」(亦即與單個頻率突波相反的調變突波之傳輸)來解決。用於測距的超音波頻率所支援工作範疇從一些聲納中的數千赫(Kilohertz)到數百千赫都有,全依應用而定。在所有非接觸式位移測量技術中,頻率愈高,所達解析度也會隨愈好,但信號衰減的加大導致範圍的縮減。
當絕對距離不重要時而其相對變化便會採用都卜勒效應(Doppler Effect,例如在超音波或微波入侵偵測器中)。當物體相對於其來源移動時,無論是聲波、無線電還是光線,其效應會是反射信號的頻率偏移(Frequency Shift)。頻率偏移回波通常會與發射頻率(Transmitted Frequency)相結合,並產生一個會進一步處理的拍頻(Beat Frequency)。
光波和無線電波以每秒299,792,450公尺(mps)的速度傳播,通常會調高成整數每秒3億公尺或每秒186,411.4英里來表示。雷達是最普遍的無線電射頻測距應用。由於光波和無線電波的高速度,所以短距離測距需要次奈秒級(Sub-nanosecond)的精細複雜電子裝置。然而,雖然電磁波的速度極高,但已有一些已經支援解析度與精準度達到毫米級(Millimeter)的裝置了。
在研究雷射測距時,使用者可能會遇到「LiDAR」這個英文字,它是「Light Detection and Ranging」的首字縮寫,代表「光偵測與測距」的意思,中文譯為「光達」,其運作方式甚至與雷達類似。透過旋轉鏡,光達系統藉由雷射光束來掃描特定區域,再評估其反射。這項技術被用於製作高解析度地圖和其他應用,其中有許多是屬於軍事應用。所謂非相干光達(Incoherent LiDAR)之較老舊方法,會評估由極強大雷射所發射的反射光束振幅。新的相干(Coherent)法會判定反射光束的相位移(Phase Shift),其需要較少的功率,同時該雷射通常被認為是對人眼安全的。
|