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

          新聞中心

          電容觸摸傳感的理論框架

          ——
          作者:Thomas Perme 微芯科技公司 應(yīng)用工程師 時間:2009-07-20 來源:電子產(chǎn)品世界 收藏

          簡單解碼:按鍵是否被按下?

          本文引用地址:http://www.ex-cimer.com/article/96399.htm

          為了確定按鍵是否被按下,需要先確定滑動平均值。確定平均值之后,根據(jù)測量值相對于平均值的偏差可以指示按鍵是否被按下。對于我們的系統(tǒng),讀數(shù)下降表示按鍵按下。因為涉及到一些環(huán)境效應(yīng)和其他因素(例如噪聲),所以必須設(shè)置一定的容限。使用4個變量來確定按鍵是否被按下:

           unsigned char reading;  // 讀數(shù)
           unsigned char average;  // 平均值
           unsigned char trip;  // 門限值
           unsigned char hyst;  // 傳感器遲滯值

          檢測按下的最簡單方式如下:

           if (reading < average – trip) {
            Buttons.SENSOR0 = PRESSED;
           } else {
            Buttons.SENSOR0 = UNPRESSED;
           }
           
          但是,該系統(tǒng)未提供遲滯值,若讀數(shù)在均值與判決門限值之差附近上下變化,就會出現(xiàn)系統(tǒng)在判定按下與未按下之間來回振蕩這一糟糕的情形。為了避免這一點,需要包含遲滯值:

           if (reading < average – trip) {
            Buttons.SENSOR0 = PRESSED;
           } else if (reading > average – trip + hyst) {
            Buttons.SENSOR0 = UNPRESSED;
           }

          以上代碼在按鈕釋放中增添了遲滯值,使按鈕不會產(chǎn)生振動。這也為電容開關(guān)構(gòu)造了最低程度的消抖功能。機械按鈕會在0-VDD之間來回抖動。電容按鈕不會產(chǎn)生該問題;但是,通過增添遲滯值,按鈕按下的操作與原來無異,只是加強了對按鈕釋放的判斷。這可以產(chǎn)生最低程度的消抖效果,因為單次按下仍然可以觸發(fā)按鍵。要進一步增強消抖,可以要求連續(xù)幾次的傳感器讀數(shù)均有效,才表示按鈕確實按下,然后向應(yīng)用程序指示按鈕被按下。這樣可以防止虛假的低讀數(shù)影響系統(tǒng)。

          復(fù)雜解碼方案

          上面用于確定按鈕是否被按下的解碼方案是相當(dāng)簡單的。在本文的以下部分中,將使用較復(fù)雜的方案。它們包括基于百分比的檢測、多鍵表決,以及計算量很少的百分比按下檢測。此外,還將討論何時使用簡單方案,何時使用較復(fù)雜的方案。


          在前面的簡單方案中,門限值變量trip是一個低于平均值的絕對值。更好的做法是采用減法求一個相對值,例如相對于標(biāo)稱值的百分比偏差。為了實現(xiàn)這一點,必須執(zhí)行更多的計算,這就要求系統(tǒng)作出折衷。使用絕對門限值需要更多地了解系統(tǒng)的工作,而使用基于百分比的系統(tǒng)可適應(yīng)許多處于合理限度內(nèi)的系統(tǒng)。手指按下產(chǎn)生的電容變化通常介于1%至20%這一可檢測范圍之間。如果手指按下產(chǎn)生的讀數(shù)變化小于1%,系統(tǒng)會遇到錯誤。觸摸裸露金屬傳感器產(chǎn)生的讀數(shù)會高于20%,但它并不常用。如果系統(tǒng)以這種方式工作,則可以采用簡單開關(guān)算法。



          評論


          相關(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); })();