觸控的應用非常普遍,從手機到電燈、飲水機開關等,都是觸控方式的應用。一般在販售電子零件的商店,可看到幾種不同的電容觸控模組,有單鍵、4鍵、8鍵及16鍵等,我買了一個 4鍵的模組TTP224來試看看他的應用。
TTP224 是一款 4鍵的電容式觸控模組,透過觸摸檢測 IC (TTP224) 來感測該位置是否有被觸摸。我們可以將 TTP224 模組安裝在非金屬材料如塑料、玻璃的表面,另外將薄薄的紙片(非金屬)覆蓋在模組的表面,只要觸摸的位置正確,即可做成隱藏在牆壁、桌面等地方的按鍵。當手指觸摸到相對位置時,模組會輸出高電位。
我試著用3個按鍵控制3個LED燈,觸碰開關時,LED燈亮,手一放開就會熄滅。按鍵4是開關的功能,按一下全開,再按一下全關。我們就來試試如何透過電容式的觸控作為 LED 燈的開關。
• TP224 電容觸控模組 x 1
• LED 紅, 綠 各 1 個
• 220K 電阻 x 3
• 連接線 x n條
TTP224 是一款 4鍵的電容式觸控模組,透過觸摸檢測 IC (TTP224) 來感測該位置是否有被觸摸。我們可以將 TTP224 模組安裝在非金屬材料如塑料、玻璃的表面,另外將薄薄的紙片(非金屬)覆蓋在模組的表面,只要觸摸的位置正確,即可做成隱藏在牆壁、桌面等地方的按鍵。當手指觸摸到相對位置時,模組會輸出高電位。
我試著用3個按鍵控制3個LED燈,觸碰開關時,LED燈亮,手一放開就會熄滅。按鍵4是開關的功能,按一下全開,再按一下全關。我們就來試試如何透過電容式的觸控作為 LED 燈的開關。
[TTP224電容觸控]
- 板載TTP224電容式4鍵觸摸感應IC
- 板載4路電平狀態指示燈
- 工作電壓:2.4V-5.5V
- 模組可以設置輸出模式、鍵輸出模式、最長輸出時間和快速/低功耗選擇
- PCB板子尺寸:35(mm)x29(mm)
[材料]
• Arduino Uno x 1• TP224 電容觸控模組 x 1
• LED 紅, 綠 各 1 個
• 220K 電阻 x 3
• 連接線 x n條
[接線與電路圖]
| Arduino | TTP224 capacitive touch panel |
|---|---|
| 5V (VCC) | VCC |
| GND | GND |
| Pin 2 | OUT 1 |
| Pin 3 | OUT 2 |
| Pin 4 | OUT 3 |
| Pin 5 | OUT 4 |
[程式]
boolean b4=false; // LED 狀態
void setup() {
Serial.begin(9600);
// LED
pinMode(9, OUTPUT); // LED 1
pinMode(10, OUTPUT); // LED 2
pinMode(11, OUTPUT); // LED 3
// 按鍵
pinMode(2, INPUT); // 按鍵 1
pinMode(3, INPUT); // 按鍵 2
pinMode(4, INPUT); // 按鍵 3
pinMode(5, INPUT); // 按鍵 4
}
void loop() {
// 按鍵 1
if(digitalRead(2)){
Serial.println("Button 1 Touched ");
digitalWrite(9, HIGH); // LED 亮
delay(200);
}
else{
digitalWrite(9, LOW); // LED 熄滅
}
// 按鍵 2
if(digitalRead(3)){
Serial.println("Button 2 Touched ");
digitalWrite(10, HIGH); // LED 亮
delay(200);
}
else{
digitalWrite(10, LOW); // LED 熄滅
}
// 按鍵 3
if(digitalRead(4)){
Serial.println("Button 3 Touched ");
digitalWrite(11, HIGH); // LED 亮
delay(200);
}
else{
digitalWrite(11, LOW); // LED 熄滅
}
// 按鍵4
if(digitalRead(5)){
Serial.println("Button 4 Touched ");
b4=!b4; // 改變開關狀態
delay(300);
}
if (b4) { // LED 全亮
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
}
else{ // LED 熄滅
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
}

張貼留言