劉剛
摘 要:多數機頂盒上只提供上下左右的滑動方式在不同選項之間選擇,而設計優化了一種新的方式,該方式可以讓機頂盒的用戶做到定點選擇該方式是利用一種多功能觸屏遙控器實現的遙控器內部由單片機做主控芯片,采集觸摸屏的數據并判斷用戶操作的當前狀態,如果是滑動操作再由量化算法計算出移動距離的量化結果$最后,自定義一種紅外協議,將數據通過這種紅外協議發送給機頂盒,以達到控制機頂盒的目的$實驗結果表明遙控器的平均正確操作率在95%以上,而且定位精度和有線鼠標接近,易操作性良好。
關鍵詞:觸摸屏遙控器;鼠標模式;機頂盒控制;紅外協議
一、鼠標模式硬件平臺
本文設計的觸摸屏遙控器是全觸屏控制鼠標,就像便攜式計算機的觸摸板,控制方便,具有諸多優點:
(一)由單片機開發,成本更低廉;
(二)手掌大小的而積,產品更輕便;
(三)鼠標模式只有4個功能觸摸鍵和兩個操作區,更易學易用;
(四)功能由軟件編程實現,可重開發;
(五)角蟲摸屏可印刷,可定制;
(六)充電式電池供電,環保省電,使用成本低??刂破鞑捎肏AV 1007型號單片機,此款單片機集成C* Core和觸控芯片于一身,可以直接連接觸摸屏,是一款專門為觸屏設備設計的功能強大的單片機。
二、鼠標模式軟件設計
整個鼠標的實現可以分為3個步驟:采點處理,狀態機,紅外發送。3個模塊分3個函數模塊,其中以狀態機為主體函數,完成操作判斷和作出回應。由于機頂盒多是采用NEC紅外協議,所以紅外發送模塊也采用NEC紅外協議,以便和機頂盒對接。
(一)采點處理
采點處理的緩沖器是專門為了配合觸屏遙控器而設計的。采用定長數組循環存放信息,這樣可以節約單片機內存。采點處理過程把一個定長的數組作為緩沖器,記錄坐標信息有效點個數和總點的個數并標記當前點是否有效。這里的無效點是指第一次操作之后,等待是否有第二次操作時的(0}0)點。為了便于統一管理,不存放無效點坐標信息,而將無效點的個數存放在二坐標的位置,無效點后接有效點標志存放在J坐標的位置。這樣也節省了存儲空間。此外,標記信息也能起到計數的作用。每一個坐標的標記信息都是16位長的數,用32 768 (215,是16位二進制數可表示范圍的一半)以上的數字表示有效點標志,以下的數字表示無效點標志。采集到新點時從0或32 768開始加1記錄標志信息。經過對點的標識、分類等預處理后放入緩沖器。連續的采點將循環的存儲在緩沖器當中,以這樣邊采點邊由其他模塊讀取點信息的方式,完成采點處理的操作。
(二)滑動判斷方法
滑動判斷的方法較簡單?;瑒优袛嗄K的判斷方法是根據連續有效觸摸點的距離差是否大于滑動判斷閡值,大于該閡值則有滑動發生,否則沒有滑動發生?;瑒优袛嚅u值是通過輸入變量傳給滑動判斷函數的,所以怎樣才算是滑動不是滑動判斷模塊決定,而是在狀態機調用滑動判斷函數時,由狀態機的當前狀態決定的。主要有觸摸態(CJ)和滑動態(C_ DM)等調用。如果是觸摸態調用,滑動判斷閡值的設定是為了區分下一個狀態是滑動態還是長按態;如果是滑動態,滑動判斷閡值的設定是為了良好的用戶體驗。閡值具體的大小要通過多人多次實驗得出。這樣的滑動判斷函數不僅滿足了狀態機不同狀態的需求,而且符合大多數人的使用習慣,具有普適性。
(三)鼠標量化算法
鼠標量化就是將用戶手指在遙控器上滑動的速度和距離用合適的數據表示出來;即屏幕鼠標指針移動的方向和距離是由遙控器觸摸屏采集點的變化量和變化速度決定的。 適合人手的遙控器的體積較小,因此,用戶在控制鼠標慢滑的時候,滑動判斷模塊判斷出的每一次滑動的坐標變化量和觸摸屏上的移動速度和距離并沒有明顯的關系,利用距離不能有效區分鼠標指針應有的移動距離。但是,采集到點的數目卻和移動速度和距離有關系。因此,鼠標量化可分作兩部分理解:慢滑時根據滑動判斷模塊判斷出一次滑動時的總坐標點數量化出鼠標指針的移動距離;快滑時再根據滑動距離量化出屏幕鼠標指針移動距離。雖然鼠標量化分為快滑和慢滑,卻可以用一個公式表示單方向的移動量。
(四)紅外協議
紅外發送模塊發送的數據包括兩個16位二進制數。如果是確定、返回或者開關機或者翻頁的鍵值,則發送的兩個16位二進制數一個是固定的系統碼,一個是鍵值。機頂盒收到對應鍵值就給出回應。如果是滑動的量化結果,則一個表示橫軸移動量,一個表示縱軸移動量。兩軸移動量配合得出屏幕鼠標指針的平而移動方向和距離。將鍵值或滑動的量化結果通過紅外模塊發送給機頂盒,則機頂盒就根據接收的數據作出回應。這樣就形成了遙控器鼠標模式的一組紅外協議。
三、結語
無線紅外協議的數據傳輸速率較慢回,但在機頂盒遙控器上實現的鼠標模式用紅外傳輸數據還是取得了較好的結果。以后,智能機頂盒和網絡機頂盒的普及率會越來越高,遙控器也會越來越多,利用遙控器實現鼠標模式也會與時俱進,更加增大人們生活的便捷。另外,遙控器的用戶體驗和操作的成功率和觸摸屏的靈敏度有直接關系,也和操作區域和觸摸功能的大小有一定關系。
參考文獻:
[1]劉莎莎,張哲. 基于Android平臺的鼠標的設計與實現[J]. 電子器件,2012,01:79-82.
[2]吳廷玉,李雄. 鼠標的人機工學設計分析[J]. 科學之友,2012,05:11-12.