電容觸摸傳感的理論框架
對于百分比按下檢測,將繼續使用前面討論的求均值方案。但是,讀數變量將變換為如下形式:
本文引用地址:http://dyxdggzs.com/article/96399.htmunsigned long percent;
percent = average – (reading*16);
if (percent < 0) {
percent = 0; // 忽略電容上升
} else {
percent = percent * 1000; // 乘以1000
percent = percent / average; // 結果使用100.0%的形式
}
結果變量percent包含0至1,000的值,更具體地說(shuō),值的范圍約為0至200(代表20.0%)。結果值保持單個(gè)小數位,因為更多小數位并不會(huì )提高精度。
更換先前的“if”語(yǔ)句,產(chǎn)生類(lèi)似于以下語(yǔ)句的“if”語(yǔ)句:
#define PCT_ON 50 // >5.0%,打開(kāi)
#define PCT_OFF 30 // <3.0%,關(guān)閉
if (reading < PCT_ON) {
Buttons.SENSOR0 = PRESSED;
} else if (reading > PCT_OFF) {
Buttons.SENSOR0 = UNPRESSED;
}
下一個(gè)復雜解碼方案稱(chēng)為“多鍵表決”。如前面所討論,傳感器不僅會(huì )與手指和周?chē)牡禺a(chǎn)生耦合,而且會(huì )相互耦合。因此,觸摸一個(gè)傳感器會(huì )影響另一個(gè)傳感器,但影響程度通常會(huì )低于其他意外激勵。如果即使影響程度較低,影響仍足以觸發(fā)按下?tīng)顟B(tài),會(huì )發(fā)生什么情況?
開(kāi)發(fā)多鍵表決系統可以幫助解決該問(wèn)題,以及與小鍵盤(pán)污染關(guān)聯(lián)的其他問(wèn)題。多鍵表決系統會(huì )選擇按下后受影響最大的按鍵,代價(jià)是多次按下動(dòng)作只能產(chǎn)生單個(gè)按鍵響應。例如,如果觸摸會(huì )影響兩個(gè)按鍵,但手指按下的按鍵受到的影響最大,該算法將選擇受影響最大的按鍵。
該算法必須獲取來(lái)自所有可用傳感器的數據。舉例來(lái)說(shuō),假定使用了4個(gè)傳感器。算法還是使用百分比按下檢測方法,因為每個(gè)傳感器的讀數可能會(huì )稍有不同,采用相對與原始值的偏差可以起到一些幫助。系統必須掃描全部4個(gè)傳感器,并在掃描之后執行以下步驟:
首先,掃描所有傳感器
在每次掃描期間,記錄每個(gè)傳感器的受影響百分比
根據受影響程度進(jìn)行排序
基于步驟3,對索引進(jìn)行排序
位于數組單元0的傳感器的受影響程度最高
評論