光電滑鼠的滾輪如何識別轉動方向?
可以通過光電感測器接收到光信號的1和0來判斷轉動,但是怎麼確定方向呢?
在看起來像一個感測器外殼內實際上集成了兩個感測器。通過識別兩個感測器1和0的先後順序來判斷方向。
假設滑鼠滾輪一次可以滾動一個EXCEL單元格,LED燈的光源寬度剛好為2個單元格。光柵遮擋跟無遮擋的寬度剛好為2格單元。根據滾動方向,我們可以得出上面的狀態值。
光敏管在一個周期中,每滾動一格數據變動一次。
數據分別為:00,01,11,10
只要滾動一格,我們就可以得出在滾動之前和滾動之後的數據組合,只有以下四種組合:
00 01
01 11
11 10
10 00
光敏管在一個周期中,每滾動一格數據變動一次。
數據分別為:00,10,11,01
只要滾動一格,我們就可以得出在滾動之前和滾動之後的數據組合,只有以下四種組合:
00 10
10 11
11 01
01 00
根據以上兩種不同方向,而出現的數據組合,互不重複(均是唯一值)。因此,只要滾輪滾動一格(無論正反),我們就可以讀出滾輪滾動之前和滾動之後,2隻光敏三極體的狀態所代表的數據組合,就能判斷滾動方向。 之前我在百度知道上回答過,今天剛註冊知乎,發現同樣有這個問題,放到這裡希望能起到拋磚引玉的作用。謝謝!
推薦閱讀:
※國內有哪些比較好的CMOS圖像感測器設計公司?
※怎麼看待近兩年很流行的event-based camera?能否在未來成為主流的slam感測器?
※為什麼VR遊戲玩完後會頭暈、噁心?
※光電感測器可以多敏感?
※國內感測器行業和國外差距在哪裡?