新聞中心

        EEPW首頁 > 物聯網與傳感器 > 設計應用 > 電容觸摸傳感的理論框架

        電容觸摸傳感的理論框架

        ——
        作者:Thomas Perme 微芯科技公司 應用工程師 時間:2009-08-06 來源:電子產品世界 收藏

          開發多鍵表決系統可以幫助解決該問題,以及與小鍵盤污染關聯的其他問題。多鍵表決系統會選擇按下后受影響最大的按鍵,代價是多次按下動作只能產生單個按鍵響應。例如,如果觸摸會影響兩個按鍵,但手指按下的按鍵受到的影響最大,該算法將選擇受影響最大的按鍵。

        本文引用地址:http://www.104case.com/article/96947.htm

          該算法必須獲取來自所有可用的數據。舉例來說,假定使用了4個。算法還是使用百分比按下檢測方法,因為每個的讀數可能會稍有不同,采用相對與原始值的偏差可以起到一些幫助。系統必須掃描全部4個傳感器,并在掃描之后執行以下步驟:

          1. 首先,掃描所有傳感器;

          2. 在每次掃描期間,記錄每個傳感器的受影響百分比;

          3. 根據受影響程度進行排序;

          4. 基于步驟3,對索引進行排序;

          5. 位于數組單元0的傳感器的受影響程度最高;

          6. 確定是否大于最小門限值;

          7. 指示按下/未按下。

          代碼示例1(略)

          最后一個復雜解碼方案也是百分比方案。百分比計算會占用8位單片機上可用存儲器總空間中大量的程序和RAM存儲空間,占用。在可能的情況下,最好降低這種存儲器消耗。如果使用較大的數值,并可以承受一定的分辨率損失,則可以使用一種較簡單的百分比方法。

          通過使用更多的移位來代替除法(類似于求均值方案),可以用如下方式確定平均值的百分比門限值:

          threshold = average >> 3; // 傳感器

          // 門限值現在為1/8,即12.5%

          if (reading < average – threshold)

          {...}

          以下列出了一些有用的百分比。

          threshold = reading >> 1; // 1/2 = 0.500

          threshold = reading >> 2; // 1/4 = 0.250

          threshold = reading >> 3; // 1/8 = 0.125

          threshold = reading >> 4; // 1/16 = 0.063

          threshold = reading >> 5; // 1/32 = 0.031

          threshold = reading >> 6; // 1/64 = 0.016

          threshold = reading >> 7; // 1/128 = 0.008

          對于進行移位的每個位,門限值會損失一定的舍入分辨率。但是,使用較大的16位數值時,對于1/16的百分比(即6.25%),損失4個最低位是可以接受的。現在,對于簡單百分比計算,可以省去前面使用的unsigned long percent變量,以及執行除法所需的額外計算量。這是另一種并不僅限用于觸摸傳感的技術,但它對于觸摸傳感的實現非常有用。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阳曲县| 新津县| 白沙| 新安县| 长乐市| 临汾市| 右玉县| 隆安县| 康平县| 大新县| 澜沧| 辽宁省| 牟定县| 慈溪市| 潍坊市| 蒙山县| 台南县| 铜川市| 平凉市| 兴安县| 泸定县| 湘潭县| 禹城市| 安阳县| 乡宁县| 陆良县| 合山市| 永城市| 清苑县| 万宁市| 射阳县| 浪卡子县| 博罗县| 公主岭市| 新乐市| 淮滨县| 罗平县| 温泉县| 澳门| 黄冈市| 阳泉市|