光電滑鼠的滾輪如何識別轉動方向?

可以通過光電感測器接收到光信號的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遊戲玩完後會頭暈、噁心?
光電感測器可以多敏感?
國內感測器行業和國外差距在哪裡?

TAG:滑鼠 | 感測器 | 光電感測器 |