基于AD7879的“兩點觸摸”手勢識別系統(tǒng)的實現(xiàn)
圖7.避免放大器輸出短接到VDD的應用圖
這種情況下,AD7879設置為從機轉換模式,并且僅測量半個周期。當AD7879完成轉換時,產生一個中斷,主處理器重新設置AD7879以測量第二個半周期,并且改變AD7879GPIO的值。第二轉換結束時,兩層的測量結果均存儲在器件中。
旋轉可以通過一個方向上的同時縮放和一個傾斜捏合來模擬,因此檢測旋轉并不困難。挑戰(zhàn)在于區(qū)別旋轉是順時針(CW)還是逆時針(CCW),這無法通過上述過程來實現(xiàn)。為了檢測旋轉及其方向,需要在兩層(有源層和無源層)上進行測量,如圖8所示。圖7中的電路無法滿足之一要求,圖9提出了一種新的拓撲結構。
圖8 順時針和逆時針旋轉時的電壓測量
圖9所示的拓撲結構實現(xiàn)了如下功能:
半周期1:電壓施加于Y層,同時測量(VY+–VY–)、VX–和VX+。每完成一個測量,AD7879就會產生一個中斷,以便處理器改變GPIO配置。
半周期2:電壓施加于X層,同時測量(VX+–VX–)、VY–和VY+。
圖9中的電路可以測量所有需要的電壓來實現(xiàn)全部性能,包括:a)單點觸摸位置;b)縮放、捏合、旋轉手勢檢測和量化;c)區(qū)別順時針與逆時針旋轉。用兩點觸摸手勢來完成單點觸摸操作時,可以估計手勢的中心位置。
圖9.單點觸摸位置和手勢檢測的應用圖
5 實用提示
輕柔手勢產生的電壓變化相當微細。通過放大這種變化,可以提高系統(tǒng)的魯棒性。例如,可以在屏幕的電極與AD7879的引腳之間增加一個小電阻,這將能提高有源層的壓降,但單點觸摸定位精度會有所下降。
另一種方法是僅在低端連接上增加一個電阻,當X層或Y層為有源層時,僅檢測X–或Y–電極。這樣就可以應用一定的增益,因為直流值相當?shù)汀?/font>
ADI公司有許多放大器和多路復用器可以滿足圖6、圖7和圖9所示應用的需求。測試電路使用AD8506雙通道運算放大器和ADG16xx系列模擬多路復用器;多路復用器的導通電阻很低,采用3.3V單電源供電。
6 結語
利用AD7879控制器和極少的輔助電路,可以檢測縮放、捏合和旋轉。只需在有源層上進行測量,就能識別這些手勢。在主處理器的控制下,利用兩個GPIO測量無源層的電壓,可以區(qū)別旋轉方向。在該處理器中執(zhí)行相當簡單的算法,就能識別縮放、捏合和旋轉,估計其范圍、角度和方向。
評論