在某些應(yīng)用程序中,需要用戶(hù)輸入來(lái)控制設(shè)備的功能。嵌入式和數(shù)字電子產(chǎn)品中使用了不同種類(lèi)的用戶(hù)輸入方法。觸摸傳感器就是其中之一。觸摸傳感器是與微控制器接口的重要且廣泛使用的輸入設(shè)備,它使輸入數(shù)據(jù)更簡(jiǎn)單。觸摸傳感器有個(gè)別地方可以使用,無(wú)論是手機(jī)還是液晶顯示器開(kāi)關(guān)。然而,市場(chǎng)上有許多類(lèi)型的傳感器可用,但電容式觸摸傳感器是觸摸傳感器領(lǐng)域中廣泛使用的類(lèi)型。
在這個(gè)項(xiàng)目中,相同的觸摸傳感器將與 Arduino UNO 接口。Arduino 是一種廣受歡迎且易于使用的開(kāi)發(fā)板。
觸摸傳感器
將用于本項(xiàng)目的觸摸傳感器是電容式觸摸傳感器模塊,傳感器驅(qū)動(dòng)器基于驅(qū)動(dòng)器IC TTP223。TTP223 IC 的工作電壓為 2 V 至 5.5 V,觸摸傳感器的電流消耗非常低。由于價(jià)格低廉、電流消耗低且易于集成支持,采用 TTP223 的觸摸傳感器在電容式觸摸傳感器領(lǐng)域很受歡迎。
在上圖中,傳感器的兩側(cè)都顯示了引腳圖清晰可見(jiàn)的位置。它還有一個(gè)焊接跳線(xiàn),可用于根據(jù)輸出重新配置傳感器。跳線(xiàn)為 A 和 B。默認(rèn)配置或在焊錫跳線(xiàn)的默認(rèn)狀態(tài)下,觸摸傳感器時(shí)輸出從 LOW 變?yōu)?HIGH。但是,當(dāng)設(shè)置跳線(xiàn)并重新配置傳感器時(shí),當(dāng)觸摸傳感器檢測(cè)到觸摸時(shí),輸出會(huì)改變其狀態(tài)。觸摸傳感器的靈敏度也可以通過(guò)改變電容來(lái)配置。
下圖顯示了不同跳線(xiàn)設(shè)置下的不同輸出 -
對(duì)于本項(xiàng)目,傳感器將用作出廠(chǎng)發(fā)布條件下可用的默認(rèn)配置。
設(shè)備可以通過(guò)使用觸摸傳感器以及與微控制器連接來(lái)控制。在這個(gè)項(xiàng)目中,觸摸傳感器將用于使用 Arduino UNO 和 Relay 來(lái)控制燈泡的開(kāi)或關(guān)。
了解繼電器
要連接繼電器,重要的是要對(duì)繼電器的引腳描述有一個(gè)清晰的認(rèn)識(shí)。繼電器的引腳排列如下圖所示 -
NO常開(kāi),NC常接。L1 和 L2 是 Relay 線(xiàn)圈的兩個(gè)端子。未施加電壓時(shí),繼電器關(guān)閉,POLE 與 NC 引腳連接。當(dāng)在線(xiàn)圈端子上施加電壓時(shí),繼電器的 L1 和 L2 接通,POLE 與 NO 連接。因此,可以通過(guò)改變繼電器的操作狀態(tài)來(lái)打開(kāi)或關(guān)閉 POLE 和 NO 之間的連接。強(qiáng)烈建議在應(yīng)用前檢查繼電器規(guī)格。繼電器在 L1 和 L2 兩端具有工作電壓。有些繼電器使用 12V,有些使用 6V,有些使用 5V。不僅如此,NO、NC 和 POLE 還具有電壓和電流額定值。對(duì)于我們的應(yīng)用,我們?cè)陂_(kāi)關(guān)側(cè)使用具有 250V、6A 額定值的 5V 繼電器。
所需組件
Arduino UNO
標(biāo)準(zhǔn)立方繼電器 - 5V
2k電阻-1個(gè)
4.7k 電阻器 - 1 個(gè)
BC549B晶體管
TTP223 傳感器模塊
1N4007 二極管
帶燈座的燈泡
面包板
通過(guò) USB 電纜連接 Arduino 的手機(jī)充電器。
很多連接線(xiàn)或 berg 線(xiàn)。
Arduino 編程平臺(tái)。
2k電阻,BC549B,1N4007,繼電器可以用繼電器模塊代替。
電路原理圖
將觸摸傳感器與 Arduino 連接的示意圖很簡(jiǎn)單,如下所示,
晶體管用于打開(kāi)或關(guān)閉繼電器。這是因?yàn)?Arduino GPIO 引腳無(wú)法提供足夠的電流來(lái)驅(qū)動(dòng)繼電器。在繼電器開(kāi)啟或關(guān)閉的情況下,需要 1N4007 來(lái)阻斷 EMI。該二極管用作續(xù)流二極管。觸摸傳感器與 Arduino UNO 板連接。
該電路構(gòu)建在帶有 Arduino 的面包板上,如下所示。
正確的面包板連接可以在下面的示意圖中看到。
使用觸摸傳感器對(duì) Arduino UNO 進(jìn)行編程以控制燈泡
最后給出了帶有工作視頻的完整程序。在這里,我們將解釋代碼的幾個(gè)重要部分。Arduino UNO 將使用 Arduino IDE 進(jìn)行編程。首先,包含 Arduino 庫(kù)以訪(fǎng)問(wèn) Arduino 的所有默認(rèn)功能。
#include
定義將連接繼電器和觸摸傳感器的所有引腳號(hào)。這里,觸摸傳感器連接到引腳 A5。內(nèi)置的 LED 也被使用,它直接連接到板上的引腳 13。繼電器連接到引腳 A4。
/* * 引腳說(shuō)明 */ int Touch_Sensor = A5; 整數(shù) LED = 13; 詮釋繼電器 = A4;
定義引腳模式,即引腳功能應(yīng)該是輸入還是輸出。此處輸入觸摸傳感器。繼電器和 LED 引腳輸出。
/* * 引腳模式設(shè)置 */ void setup() { pinMode(Touch_Sensor, INPUT); pinMode(LED,輸出); pinMode(繼電器,輸出); }
聲明了兩個(gè)整數(shù),其中“條件”用于保存?zhèn)鞲衅鞯臈l件,無(wú)論它是否被觸摸?!盃顟B(tài)”用于保持 LED 和繼電器的狀態(tài),開(kāi)或關(guān)。
/* * 程序流程描述 */ int condition = 0; 整數(shù)狀態(tài) = 0;//保持開(kāi)關(guān)狀態(tài)。
觸摸傳感器在被觸摸時(shí)將邏輯 0 更改為 1。這是由digitalRead()函數(shù)讀取的,并且值存儲(chǔ)在條件變量中。當(dāng)條件為 1 時(shí),LED 和繼電器的狀態(tài)發(fā)生變化。然而,為了準(zhǔn)確檢測(cè)觸摸,使用了去抖動(dòng)延遲。去抖動(dòng)延遲,延遲(250);用于確認(rèn)單次觸摸。
無(wú)效循環(huán)(){ 條件=數(shù)字讀取(A5);// 從 Arduino 的 A5 引腳讀取數(shù)字?jǐn)?shù)據(jù)。 如果(條件 == 1){ 延遲(250);// 去抖動(dòng)延遲。 如果(條件 == 1){ 狀態(tài) = ~state; // 改變開(kāi)關(guān)的狀態(tài)。 數(shù)字寫(xiě)入(LED,狀態(tài)); 數(shù)字寫(xiě)入(繼電器,狀態(tài)); } } }
測(cè)試觸摸傳感器 TTP223 的工作情況
該電路在面包板上進(jìn)行測(cè)試,并連接了一個(gè)低功率燈泡。
注意本項(xiàng)目使用230-240V交流電壓,建議使用燈泡時(shí)要小心。
/*//=============================================== =================================//
* TTP223 與 Arduino 接口
* 日期:- 3-04-2019
* 作者:- 蘇拉夫古普塔
* 對(duì)于:- circuitdigest.com
*///=============================================== ================================//
#include
//#define ON 1
//#定義關(guān)閉 0
/*
* 引腳說(shuō)明
*/
int Touch_Sensor = A5;
整數(shù) LED = 13;
詮釋繼電器 = A4;
/*
* 程序流程說(shuō)明
*/
整數(shù)條件 = 0;
整數(shù)狀態(tài) = 0;//保持開(kāi)關(guān)狀態(tài)。
/*
* 引腳模式設(shè)置
*/
無(wú)效設(shè)置(){
pinMode(觸摸傳感器,輸入);
pinMode(LED,輸出);
pinMode(繼電器,輸出);
}
無(wú)效循環(huán)(){
條件=數(shù)字讀取(A5);// 從 Arduino 的 A5 引腳讀取數(shù)字?jǐn)?shù)據(jù)。
如果(條件 == 1){
延遲(250);// 去抖動(dòng)延遲。
如果(條件 == 1){
狀態(tài)=?狀態(tài);// 改變開(kāi)關(guān)的狀態(tài)。
數(shù)字寫(xiě)入(LED,狀態(tài));
數(shù)字寫(xiě)入(繼電器,狀態(tài));
}
}
}
-
燈泡
+關(guān)注
關(guān)注
0文章
109瀏覽量
24070 -
觸摸傳感器
+關(guān)注
關(guān)注
0文章
122瀏覽量
23097 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187676
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論