久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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

電容觸摸傳感的理論框架

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

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

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



評論


相關推薦

技術專區

關閉