<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于微機(jī)電系統(tǒng)的無線鼠標(biāo)方案

          基于微機(jī)電系統(tǒng)的無線鼠標(biāo)方案

          作者: 時(shí)間:2011-08-24 來源:網(wǎng)絡(luò) 收藏

            2 具體設(shè)計(jì)

            2.1 鼠標(biāo)原理

            光學(xué)鼠標(biāo)的核心是一個(gè)低分辨率迷你攝像機(jī), 稱為傳感器。瀏覽LED照亮表面,光從表面反射回來,通過透鏡采集。大多數(shù)鼠標(biāo)制造商采用可視的紅色LED,有些制造商還生產(chǎn)采用紅外線LED的鼠標(biāo)。

            當(dāng)鼠標(biāo)移動(dòng)時(shí),傳感器會(huì)連續(xù)拍攝物體表面,并利用數(shù)字信號(hào)處理來比較各個(gè)影像,以決定移動(dòng)的距離和方向。產(chǎn)生的結(jié)果會(huì)傳回計(jì)算機(jī),而屏幕上的光標(biāo)會(huì)根據(jù)這些結(jié)果來移動(dòng)。雖然光學(xué)鼠標(biāo)傳感器幾乎可以在任何一種物體表面上移動(dòng),但仍有一些表面是鼠標(biāo)傳感器無法瀏覽的,例如鏡面、玻璃表面、光滑表面、雜志及全像攝影表面。

            根據(jù)圖1,鼠標(biāo)可劃分為以下幾個(gè)功能部分:

            1)位移檢測(cè)單元--X、Y雙軸加速度傳感器;

            2)按鍵檢測(cè)單元;

            3)單片機(jī)(MCU);

            4)藍(lán)牙發(fā)射芯片;

            5)藍(lán)牙收發(fā)芯片--做接收器(RX);

            6)帶USB接口的單片機(jī)(USB MCU)。

          基于加速度傳感器無線鼠標(biāo)的描述

          圖1 基于加速度傳感器描述

            鼠標(biāo)具體的工作原理為:鼠標(biāo)內(nèi)的單片機(jī)實(shí)時(shí)監(jiān)測(cè)加速度傳感器的移動(dòng)和按鍵狀態(tài),當(dāng)鼠標(biāo)器的狀態(tài)發(fā)生變化時(shí),單片機(jī)讀出按鍵狀態(tài)并及時(shí)得到當(dāng)前X/Y坐標(biāo)移動(dòng)的位置;接著單片機(jī)就將變化的數(shù)據(jù)按照約定的通信協(xié)議將數(shù)據(jù)打包通過無線收發(fā)技術(shù)發(fā)送到接收端,接收端通過單片機(jī)解碼把符合鼠標(biāo)USB協(xié)議的數(shù)據(jù)包送至PC主機(jī)的USB端口;PC中的鼠標(biāo)驅(qū)動(dòng)程序接收到端口的數(shù)據(jù)包后將其解碼再傳送給相應(yīng)的應(yīng)用軟件,從而完成鼠標(biāo)器的檢測(cè)和控制過程。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();