新聞中心

        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變量,以及執行除法所需的額外計算量。這是另一種并不僅限用于觸摸傳感的技術,但它對于觸摸傳感的實現非常有用。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 恩平市| 维西| 安平县| 贞丰县| 牟定县| 武汉市| 静乐县| 名山县| 伽师县| 怀仁县| 邳州市| 徐汇区| 耒阳市| 曲阜市| 龙里县| 金秀| 红桥区| 巍山| 丹凤县| 大渡口区| 石棉县| 凭祥市| 建阳市| 汽车| 加查县| 会同县| 乌海市| 邵阳市| 蒙城县| 陇南市| 海南省| 彰化县| 新丰县| 台南市| 团风县| 和平县| 玉树县| 长子县| 白城市| 临泉县| 嘉禾县|