本發明涉及電器控制技術領域,具體而言,涉及一種電容控制器、控制方法和裝置。
背景技術:
隨著觸屏以及自動化控制技術的不斷發展,越來越多的設備通過接觸式的手勢控制方式,或者是非接觸式的手勢控制方式進行設備的控制。
目前,通過電容變化檢測非接觸式手勢的方案一般都是通過兩個獨立的電極的變化來識別用戶的手勢。然而,因為電容檢測電極越大檢測的距離越遠,如果希望檢測多種用戶手勢,則需要較大面積的電極,這是勢必需要更大的空間。
如何實現較小面積內電容式非接觸式的手勢識別,目前尚未提出有效的解決方案。
技術實現要素:
本發明實施例提供了一種電容控制器、控制方法和裝置,以便實現小面積內電容式非接觸式的手勢識別。
本發明實施例提供了一種電容控制器,包括:電容檢測芯片、處理器、多個連接在所述電容檢測芯片的電極,其中,
多個電極形成電極結構;
所述電容檢測芯片用于檢測各個電極的電容值;
所述處理器,與所述電容檢測芯片相連,用于根據所述電極結構中各個邊界的電極的電容值累加和對被控設備進行控制。
在一個實施方式中,所述電極結構為左右對稱、上下對稱的結構。
在一個實施方式中,所述電極結構為方形。
在一個實施方式中,電極的個數為8個。
在一個實施方式中,8個電極按照左邊3個、中間2個、右邊3個的方式并行排列。
在一個實施方式中,所述各個電極設置在pcb板上或設置在納米銦錫金屬氧化物上。
本發明實施例還提供了一種控制方法,包括:
獲取電極結構中各個電極的電容值;
根據所述各個電極的電容值,計算得到所述電極結構中各個邊界的電極的電容值累加和;
根據所述各個邊界的電極的電容值累加和,確定用戶的手勢方向;
根據確定的手勢方向對被控設備進行控制。
在一個實施方式中,獲取電極結構中各個電極的電容值,包括:
每隔預定時間讀取一次各個電極的電容值。
在一個實施方式中,根據所述各個邊界的電極的電容值累加和,確定用戶的手勢方向,包括:
在上一次檢測到的第一方向邊界的多個電極的電容值的累加和減去當前檢測到的第一方向邊界的多個電極的電容值的累加和所得到的差值大于等于第一預設閾值、當前檢測到的第二方向邊界的多個電極的電容值的累加和減去上一次檢測到的第二方向邊界的多個電極的電容值的累加和所得到的差值大于等于所述第一預設閾值、且當前檢測到的第二方向邊界的多個電極的電容值的累加和減去當前檢測到的第一方向邊界的多個電極的電容值的累加和所得到的差值大于等于第二預設閾值的情況下,確定用戶的手勢為從所述第一方向到所述第二方向,其中,所述第一方向與所述第二方向為平行方向。
在一個實施方式中,在所述第一方向為左的情況下,所述第二方向為右;在所述第一方向為右的情況下,所述第二方向為左;在所述第一方向為上的情況下,所述第二方向為下;在所述第一方向為下的情況下,所述第二方向為。
在一個實施方式中,在獲取電極結構中各個電極的電容值之前,所述方法還包括:
檢測所述電極結構中各個電極的電容值是否達到預設閾值,且達到所述預設閾值的時間超出預定時間;
在確定所述電極結構中各個電極的電容值達到預設閾值,且達到所述預設閾值的時間超出預定時間的情況下,獲取電極結構中各個電極的電容值。
本發明實施例還提供了一種控制裝置,包括:
獲取模塊,用于獲取電極結構中各個電極的電容值;
計算模塊,用于根據所述各個電極的電容值,計算得到所述電極結構中各個邊界的電極的電容值累加和;
確定模塊,用于根據所述各個邊界的電極的電容值累加和,確定用戶的手勢方向;
控制模塊,用于根據確定的手勢方向對被控設備進行控制。
在上述實施例中,提供了一種電容控制器、控制方法和裝置,通過一個方形的電極結構,基于各個邊界的電極的電容值累計和對被控設備進行控制,因對于方形而言,存在四個邊界,因此,通過該結構的電極結構可以有效解決現有的非接觸式手勢的存在的所需面積過大的技術問題,達到了在小面積內實現電容式非接觸式的手勢識別的技術效果。
附圖說明
構成本申請的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
圖1是根據本發明實施例的電容控制器的結構示意圖;
圖2是根據本發明實施例的電極結構的示意圖;
圖3是根據本發明實施例的控制方法的方法流程圖;
圖4是根據本發明實施例的控制裝置的結構示意圖;
圖5是根據本發明實施例的電極結構的另一示意圖。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚明白,下面結合實施方式和附圖,對本發明做進一步詳細說明。在此,本發明的示意性實施方式及其說明用于解釋本發明,但并不作為對本發明的限定。
考慮到現有的非接觸式手勢識別,如果希望識別多種手勢,就需要較大面積的電極,也就需要較大的空間。為了實現較小面積的非接觸式手勢識別,在本例中提供了一種電容控制器,如圖1所示,可以包括:電容檢測芯片101、處理器102、多個連接在所述電容檢測芯片的電極103,其中,多個電極形成一個電極結構,電容檢測芯片101用于檢測各個電極的電容值,處理器102,與電容檢測芯片101相連,用于根據所述電極結構中各個邊界的電極的電容值累加和對被控設備進行控制。
上述電極結構可以是左右對稱,上下對稱的,這樣就可以檢測對應邊界的電容值累加和,以實現手勢的判斷。
例如,上述的電極結構,可以是是一個方形結構,例如,如圖2所示,可以包括4個電極,方向的四個頂角各有一個。也可以是有8個電極,其中,這8個電極按照左邊3個、中間2個、右邊3個的方式并行排列。當然也可以采用其它的數量,只要是4的倍數即可,例如,12個、16個都可以,本申請不作具體限定。然而值得注意的是,上述是以正方形作為例子進行的說明,也可以是采用長方形的方式,具體的實現與正方形類似,本申請不再贅述。電極的結構也不限定為方形,還可以是其它的結構,例如八邊形、圓形等等,只要能計算對應邊界電容累加和的結構都是可以的。
考慮到檢測結果的準確性需求和對電極面積的限定,可以選擇8個電極形成方形的電極結構。
具體的,上述的電極結構可以是設置在pcb板上或設置在納米銦錫金屬氧化物上。
基于上述的電容控制器,本例還提供了一種控制方法,如圖3所示,可以包括:
步驟301:獲取電極結構中各個電極的電容值;
在實現的時候,可以是周期性地檢測各個電極的電容值,例如,每隔預定時間讀取一次各個電極的電容值,例如,每間隔20ms檢測一次。
步驟302:根據所述各個電極的電容值,計算得到所述電極結構中各個邊界的電極的電容值累加和;
例如,每個邊界有4個電極,假設該邊界有四個電極,檢測到的電容值分別為x1、x2、x3和x4。那么在計算該邊界的電極的電容累加和的時候,就可以求解x1+x2+x3+x4,將加法運算的和作為該邊界的電容累加和。
步驟303:根據所述各個邊界的電極的電容值累加和,確定用戶的手勢方向;
在實現的時候,可以在上一次檢測到的第一方向邊界的多個電極的電容值的累加和減去當前檢測到的第一方向邊界的多個電極的電容值的累加和所得到的差值大于等于第一預設閾值、當前檢測到的第二方向邊界的多個電極的電容值的累加和減去上一次檢測到的第二方向邊界的多個電極的電容值的累加和所得到的差值大于等于所述第一預設閾值、且當前檢測到的第二方向邊界的多個電極的電容值的累加和減去當前檢測到的第一方向邊界的多個電極的電容值的累加和所得到的差值大于等于第二預設閾值的情況下,確定用戶的手勢為從所述第一方向到所述第二方向,其中,所述第一方向與所述第二方向為平行方向。
具體地,可以按照但不限于以下之一的方式確定用戶的手勢方向:
1)在上一次檢測到的左邊界的多個電極的電容值的累加和減去當前檢測到的左邊界的多個電極的電容值的累加和所得到的差值大于等于第一預設閾值、當前檢測到的右邊界的多個電極的電容值的累加和減去上一次檢測到的右邊界的多個電極的電容值的累加和所得到的差值大于等于所述第一預設閾值、且當前檢測到的右邊界的多個電極的電容值的累加和減去當前檢測到的左邊界的多個電極的電容值的累加和所得到的差值大于等于第二預設閾值的情況下,確定用戶的手勢為從左到右;
2)在當前檢測到的左邊界的多個電極的電容值的累加和減去上一次檢測到的左邊界的多個電極的電容值的累加和所得到的差值大于等于第一預設閾值、上一次檢測到的右邊界的多個電極的電容值的累加和減去當前檢測到的右邊界的多個電極的電容值的累加所得到的差值大于等于所述第一預設閾值、且當前檢測到的左邊界的多個電極的電容值的累加和減去當前檢測到的右邊界的多個電極的電容值的累加和所得到的差值大于等于第二預設閾值的情況下,確定用戶的手勢為從右到左;
3)在上一次檢測到的上邊界的多個電極的電容值的累加和減去當前檢測到的上邊界的多個電極的電容值的累加和所得到的差值大于等于第一預設閾值、當前檢測到的下邊界的多個電極的電容值的累加和減去上一次檢測到的下邊界的多個電極的電容值的累加和所得到的差值大于等于所述第一預設閾值、且當前檢測到的下邊界的多個電極的電容值的累加和減去當前檢測到的上邊界的多個電極的電容值的累加和所得到的差值大于等于第二預設閾值的情況下,確定用戶的手勢為從上到下;
4)在當前檢測到的上邊界的多個電極的電容值的累加和減去上一次檢測到的上邊界的多個電極的電容值的累加和所得到的差值大于等于第一預設閾值、上一次檢測到的下邊界的多個電極的電容值的累加和減去當前檢測到的下邊界的多個電極的電容值的累加所得到的差值大于等于所述第一預設閾值、且當前檢測到的上邊界的多個電極的電容值的累加和減去當前檢測到的下邊界的多個電極的電容值的累加和所得到的差值大于等于第二預設閾值的情況下,確定用戶的手勢為從下到上。
步驟304:根據確定的手勢方向對被控設備進行控制。
例如,假設當前的被控設備為空調,確定從左往右是提升溫度,從右往左是降低溫度,從上到下是降低風速,從下到上是提高風速。在確定出用戶的手勢之后,就可以以此對被控設備進行控制。
即,可以根據手的移動方向,執行不同的動作,例如:上下移動可以調節空調設定溫度、左右移動可以調節模式等。
為了防止誤動作(例如:人靠近空調控制器經過時,也會別檢測到電容變化),因此,可以設置手停留在面板上方一定距離(檢測的電容達到一定值)2s后,才激活手勢識別功能,當沒有檢測到手勢動作預定時間(例如20s)后,手勢識別功能進入關閉狀態,需要重新激活才能手勢識別功能。
具體的,可以在獲取電極結構中各個電極的電容值之前,檢測所述電極結構中各個電極的電容值是否達到預設閾值,且達到所述預設閾值的時間超出預定時間;在確定所述電極結構中各個電極的電容值達到預設閾值,且達到所述預設閾值的時間超出預定時間的情況下,再觸發獲取電極結構中各個電極的電容值。
基于同一發明構思,本發明實施例中還提供了一種控制裝置,如下面的實施例所述。由于控制裝置解決問題的原理與控制方法相似,因此控制裝置的實施可以參見控制方法的實施,重復之處不再贅述。以下所使用的,術語“單元”或者“模塊”可以實現預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現,但是硬件,或者軟件和硬件的組合的實現也是可能并被構想的。圖4是本發明實施例的控制裝置的一種結構框圖,如圖4所示,可以包括:獲取模塊401、計算模塊402、確定模塊403和控制模塊404,下面對該結構進行說明。
獲取模塊401,用于獲取電極結構中各個電極的電容值;
計算模塊402,用于根據所述各個電極的電容值,計算得到所述電極結構中各個邊界的電極的電容值累加和;
確定模塊403,用于根據所述各個邊界的電極的電容值累加和,確定用戶的手勢方向;
控制模塊404,用于根據確定的手勢方向對被控設備進行控制。
在一個實施方式中,獲取模塊401具體可以每隔預定時間讀取一次各個電極的電容值。
在一個實施方式中,確定模塊403具體可以按照以下方式確定用戶的手勢方向:
1)在上一次檢測到的左邊界的多個電極的電容值的累加和減去當前檢測到的左邊界的多個電極的電容值的累加和所得到的差值大于等于第一預設閾值、當前檢測到的右邊界的多個電極的電容值的累加和減去上一次檢測到的右邊界的多個電極的電容值的累加和所得到的差值大于等于所述第一預設閾值、且當前檢測到的右邊界的多個電極的電容值的累加和減去當前檢測到的左邊界的多個電極的電容值的累加和所得到的差值大于等于第二預設閾值的情況下,確定用戶的手勢為從左到右;
2)在當前檢測到的左邊界的多個電極的電容值的累加和減去上一次檢測到的左邊界的多個電極的電容值的累加和所得到的差值大于等于第一預設閾值、上一次檢測到的右邊界的多個電極的電容值的累加和減去當前檢測到的右邊界的多個電極的電容值的累加所得到的差值大于等于所述第一預設閾值、且當前檢測到的左邊界的多個電極的電容值的累加和減去當前檢測到的右邊界的多個電極的電容值的累加和所得到的差值大于等于第二預設閾值的情況下,確定用戶的手勢為從右到左;
3)在上一次檢測到的上邊界的多個電極的電容值的累加和減去當前檢測到的上邊界的多個電極的電容值的累加和所得到的差值大于等于第一預設閾值、當前檢測到的下邊界的多個電極的電容值的累加和減去上一次檢測到的下邊界的多個電極的電容值的累加和所得到的差值大于等于所述第一預設閾值、且當前檢測到的下邊界的多個電極的電容值的累加和減去當前檢測到的上邊界的多個電極的電容值的累加和所得到的差值大于等于第二預設閾值的情況下,確定用戶的手勢為從上到下;
4)在當前檢測到的上邊界的多個電極的電容值的累加和減去上一次檢測到的上邊界的多個電極的電容值的累加和所得到的差值大于等于第一預設閾值、上一次檢測到的下邊界的多個電極的電容值的累加和減去當前檢測到的下邊界的多個電極的電容值的累加所得到的差值大于等于所述第一預設閾值、且當前檢測到的上邊界的多個電極的電容值的累加和減去當前檢測到的下邊界的多個電極的電容值的累加和所得到的差值大于等于第二預設閾值的情況下,確定用戶的手勢為從下到上。
在一個實施方式中,還可以包括:檢測模塊,用于在獲取電極結構中各個電極的電容值之前,檢測所述電極結構中各個電極的電容值是否達到預設閾值,且達到所述預設閾值的時間超出預定時間;獲取模塊具體用于在確定所述電極結構中各個電極的電容值達到預設閾值,且達到所述預設閾值的時間超出預定時間的情況下,獲取電極結構中各個電極的電容值。
下面結合一個具體實施例對上述控制設備、方法進行說明,然而,值得注意的是,該具體實施例僅是為了更好地說明本申請,并不構成對本申請的不當限定。
本發明提供了一種空調控制器,可以包括:mcu和電容檢測芯片,以及如圖5所示的8個電極,其中8個電極連接到電容檢測芯片,通過該電容檢測芯片可以檢測到每個電極電容的變化。在沒有手或者其它導電物體接近控制器面板時,導電區域的對地電容是一個穩定值,當手靠近面板時,電極的對地電容會變大,電容檢測芯片檢測到電容變化并將對應的電容值轉換為ad值并發給mcu,mcu再根據每個電極的電容,通過特定算法處理后,執行對應的動作。
基于圖5的電極,假設8個電極檢測的電容值為c1-c8,將上邊三個電極的電容值相加作為“上邊電容值”cu,即cu=c1+c2+c3;將下邊三個電極的電容值相加作為“下邊電容值”cd,即cd=c6+c7+c8;將左邊三個電極的電容值相加作為“左邊電容值”cl,即cl=c1+c4+c6;將右邊三個電極的電容值相加作為“右邊電容值”cr,即cr=c3+c5+c8。
其中,mcu每間隔t時間(例如:10ms)讀取一次電容檢測芯片檢測的每個電極的電容值,并且將每個電極的電容值分別相加為cl、cu、cr、cd,上一次檢測的相加的電容值分別為clo、cuo、cro、cdo。
在進行手勢動作確定的時候,可以按照以下方式確定:
如果clo-cl≥cn(即,當前左邊電容值比上一次的左邊電容值小了cn以上)且cr-cro≥cn(即,當前右邊電容值比上一次的右邊電容值大了cn以上)且cr-cl≥cm(即,當前右邊電容值比當前的左邊電容值大了cm以上),則認為是從左往右的手勢。同理,如果cl-clo≥cn且cro-cr≥cn且cl-cr≥cm,則認為是從右往左的手勢;如果cu-cuo≥cn且cdo-cd≥cn且cu-cd≥cm,則認為是從下往上的手勢;如果cuo-cu≥cn且cd-cdo≥cn且cd-cu≥cm,則認為是從上往下的手勢。
在確定手勢方向之后,mcu就可以根據手的移動方向,執行不同的動作,例如:上下移動可以調節空調設定溫度、左右移動可以調節模式等。
為了防止誤動作(例如:人靠近空調控制器經過時也會別檢測到電容變化),可以在確定出手停留在面板上方一定距離(檢測的電容達到一定值)2s后,才激活手勢識別功能,當沒有檢測到手勢動作20s后,手勢識別功能進入關閉狀態,需要重新激活才能使用手勢識別功能。
上述的8個用于電容檢測的電極可以做在pcb或者ito(納米銦錫金屬氧化物)上。
在另外一個實施例中,還提供了一種軟件,該軟件用于執行上述實施例及優選實施方式中描述的技術方案。
在另外一個實施例中,還提供了一種存儲介質,該存儲介質中存儲有上述軟件,該存儲介質包括但不限于:光盤、軟盤、硬盤、可擦寫存儲器等。
從以上的描述中,可以看出,本發明實施例實現了如下技術效果:提供了一種電容控制器、控制方法和裝置,通過一個方形的電極結構,基于各個邊界的電極的電容值累計和對被控設備進行控制,因對于方形而言,存在四個邊界,因此,通過該結構的電極結構可以有效解決現有的非接觸式手勢的存在的所需面積過大的技術問題,達到了在小面積內實現電容式非接觸式的手勢識別的技術效果。
顯然,本領域的技術人員應該明白,上述的本發明實施例的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,并且在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明實施例不限制于任何特定的硬件和軟件結合。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明實施例可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。