在現代電子世界中,觸摸輸入幾乎無處不在,無論是手機還是電磁爐的選擇按鈕。電容式觸摸在觸摸傳感器領域得到了廣泛應用。在這裡,我們将觸摸傳感器與 8051 微控制器 AT89S52 一起使用,制作一個觸摸開關。
什麼是電容式觸摸傳感器?電容式觸摸技術是利用人體的電流感應進行工作的。當手指觸摸上面時,由于人體電場,用戶和觸摸模塊表面形成一個耦合電容,對于高頻電流來說,電容是直接導體,于是手指從接觸點吸走一個很小的電流,感應模塊感應到觸摸并做出相應輸出。
本項目使用的觸摸傳感器為電容式觸摸傳感器模塊,傳感器驅動基于驅動IC TTP223。IC TTP23的工作電壓為 2.0V 至 5.5V ,觸摸傳感器的電流消耗非常低。由于價格低廉、功耗低且易于集成,所以采用 TTP223 觸摸傳感器在其細分市場中廣受歡迎。
在上圖中,傳感器的兩側顯示的引腳清晰可見,它有2個跳線選擇,A 和 B,用戶可用于根據需求選擇。觸摸傳感器的靈敏度也可以通過改變電容來配置。有關詳細信息,參考TTP 223 的datasheet。
下面表格給出了不同跳線設置下的不同輸出 :
在這個項目中,使用AT89S52控制繼電器進而控制燈泡亮滅,觸摸傳感器使用出廠的默認跳線配置,用作控制燈泡的開關。
繼電器的引腳排列如下圖所示:
NO常開觸點,NC常閉觸點,L1 和 L2 是線圈的兩個端子。未施加電壓時,繼電器關閉,POLE 與 NC 接通。當電壓施加在線圈端子上時,繼電器的 L1 和 L2 接通,POLE 與 NO 接通。因此,可以通過改變繼電器的狀态來打開或關閉 POLE 和 NO 之間的連接。
電路原理圖使用觸摸傳感器和 8051 控制燈泡的電路圖如下:
#include<REGX52.h>
// 繼電器控制引腳
sbit RELAY = P1^0; // 定義RELAY 為P1^0,即P1口的第1位
// 接收觸摸傳感器狀态
sbit Touch = P1^1; //
void delay(char ms); //聲明延時函數
// 主函數
void main(void)
{
RELAY = 0;
Touch = 0;
while(1){
if (Touch == 1){
delay(15); // 去抖延時
if (Touch == 1){
RELAY = !RELAY; // 切換繼電器狀态,每按一下變為反狀态
delay(30);
}
}
}
}
//延時函數
void delay(char ms){
int a,b;
for (a=0; a<1295; a )
for (b=0; b<ms; b );
}
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!