본문 바로가기

아두이노우노 R4

TTP223B 터치 센서와 아두이노를 연동하는 방법

반응형

 

정전식 터치 센서는 콤팩트한 크기, 낮은 전력 소비, 다용도성 덕분에 다양한 전자 프로젝트에서 인기를 얻고 있습니다. TTP223B 정전식 터치 센서 스위치는 아두이노와 쉽게 인터페이스 할 수 있는 널리 사용되는 모듈입니다. 이 모듈은 DIY 전자 프로젝트에 터치 감지 기능을 추가할 수 있는 편리하고 효율적인 방법을 제공합니다.

 

이 튜토리얼에서는 TTP223B 정전식 터치 센서 스위치를 아두이노 우노 보드와 인터페이스 하는 방법을 살펴봅니다. 필요한 구성 요소, 핀 설명, 배선 연결 및 아두이노 코드를 다룰 것입니다. 

 

개요
1. TTP223B 정전식 터치 센서란?
2. TTP223B 터치 센서의 특징
3. TTP223B 정전식 터치 센서의 작동 방식
4. TTP223-BA6 핀아웃
4.1. 작동 모드 토글
4.2. TTP223-BA6 IC의 작동 모드
5. TTP223B 터치 센서 핀아웃
6. TTP223B 정전식 터치 센서의 하드웨어 개요
7. TTP223B 터치 센서의 내부 회로도
8. TTP223B 터치 센서를 Arduino와 인터페이싱
8.1 하드웨어 및 소프트웨어 요구 사항
8.2 터치 센서를 Arduino와 인터페이싱 하기 위한 회로도
8.3 코드
8.4 코드 설명 

 

 

 

 

TTP223B 정전식 터치 센서란 무엇인가요? TTP223B는 터치 감지 IC TTP223-BA6을 기반으로 하는 1 채널 정전식 터치 센서 모듈입니다. 매우 낮은 전력을 소비하며 작동 전압은 2.0V ~ 5.5V입니다. 일반적으로 터치의 유무를 나타내는 로직 하이 또는 로우 형태의 디지털 출력 신호를 제공합니다. 모듈에는 센서가 트리거 되는 시점을 시각적으로 표시하는 LED가 있습니다. 

 

TTP223B 터치 센서의 특징

저전력 소모
손쉬운 설치를 위한 4개의 M2 나사 위치 구멍
2.0V ~ 5.5V DC의 전원 공급
저전력 모드(즉, VDD = 3V)에서의 작동 전류는 일반적으로 1.5uA이고 최대 3.0uA
기존의 버튼 터치를 대체할 수 있음
감도는 외부 커패시터(0~50pF)로 조정할 수 있음
기존의 직접 스위치 키를 대체하기 위한 인체의 안정적인 터치 감지
패드 옵션(TOG 핀)으로 직접 모드 또는 토글 모드 제공, Q 핀은 CMOS 출력
모든 출력 모드는 패드 옵션(AHLB 핀)으로 액티브 HIGH 또는 액티브 LOW로 선택할 수 있음
수명 동안 자동 교정 

 

 

TTP223B 정전식 터치 센서의 작동 원리 

 

 

TTP223B는 정전식 감지 원리에 따라 작동합니다. 우리 몸을 포함한 모든 물체에는 정전 용량이 있습니다. 손가락과 같은 전도성 물체가 센서 표면에 접근하거나 터치하면 정전 용량의 변화를 감지합니다.

 

센서는 센서의 감지 입력 핀에 연결된 정전식 감지 전극으로 구성됩니다. 손가락이 센서 표면에 접근하거나 터치하면 시스템의 정전 용량이 변경됩니다. 이 변화는 발진기 회로에서 감지한 다음 발진기 회로에서 디지털 출력 신호를 생성합니다.

 

그런 다음 제어 논리 회로가 발진기 회로의 신호를 처리하고 터치 이벤트를 확인합니다. 그런 다음 출력 모드 및 드라이버 회로가 터치 이벤트에 응답하여 출력 핀의 상태를 토글 하여 터치의 존재 여부를 나타냅니다.

 

이 완전한 처리 및 제어는 터치 센서에 있는 TTP223-BA6 IC에서 처리합니다. 

 

TTP223-BA6 핀 아웃

 

 

Signal(Q) 이 핀은 IC의 출력 핀입니다.

 

VSS(GND) 이 핀은 접지에 연결해야 합니다.

 

Sensor Input(I) 이 핀은 시스템의 정전용량을 감지합니다. 이것은 IC의 입력 핀입니다.

 

AHLB 이 핀은 출력 유형 섹션 핀입니다. 이 핀이 LOW이면 출력은 항상 Active HIGH가 됩니다. 이 핀이 HIGH로 당겨지면 출력 핀은 Active LOW가 됩니다.

 

VDD(Supply) 이 핀은 센서의 공급 핀에 연결됩니다. 공급 범위는 2.0V~5.5V DC입니다.

 

TOG 이 핀은 출력 모드 섹션 핀입니다. 이 핀이 LOW이면 출력 모드는 직접입니다. 이 핀이 HIGH로 당겨지면 출력 모드는 토글 모드입니다.

 

자세한 내용은 TTP223-BA6 IC의 데이터시트를 다운로드하세요. 

 

TTP223-BA6-IC-Datasheet.pdf
0.23MB

 

 

토글 작동 모드

 

토글 모드에서는 센서가 터치를 감지할 때마다 출력 상태가 토글됩니다. 이 모드에서는 센서가 플립플롭처럼 작동하여 터치가 감지되면 출력 상태를 변경합니다. 예를 들어 초기 상태가 LOW인 경우 첫 번째 터치가 감지되면 HIGH로 전환됩니다. 그 후 다음 터치가 감지되면 출력이 HIGH에서 LOW로 전환됩니다. 

 

TTP223-BA6 IC의 동작 모드

TTP223-BA6 IC의 AHLB 및 TOG 핀의 핀 구성에 따라 4가지 동작 모드가 있습니다. 

 

OGAHLBOperation Mode

TOG
AHLB Operation Mode
LOW LOW Direct Mode and Output is Active HIGH
LOW HIGH Direct Mode and Output is Active LOW
HIGH LOW Toggle Mode and Power On state is LOW.
HIGH HIGH Toggle Mode and Power On state is HIGH.

 

 

TTP223B 터치 센서 핀아웃

 

TTP223B 센서 모듈의 핀아웃은 다음과 같습니다: 

 

 

VDD 이 핀은 센서 모듈에 전원을 공급하는 데 사용됩니다. 일반적으로 2.0V 또는 5V 전원에 연결됩니다.

 

Signal  핀은 센서의 디지털 출력입니다. 터치 이벤트의 존재 또는 부재를 나타내는 신호를 제공합니다. 터치가 감지되면 이 핀은 HIGH(일반적으로 공급 전압)가 되고, 터치가 감지되지 않으면 LOW(일반적으로 접지)로 유지됩니다.

 

(GND) 이 핀은 회로를 완성하기 위해 전원 공급 장치의 접지에 연결됩니다. 

 

TTP223B 정전식 터치 센서의 하드웨어 개요 

 

 

터치 센서는 센서에 있는 동심원에서 터치가 감지될 때 정전용량의 변화를 감지하는 TTP223-BA6 IC로 구성됩니다. IC의 출력 핀은 센서의 SIG(신호) 핀에 연결된 상태를 변경합니다.

 

VCC 핀에 전원이 연결되고 GND 핀에 접지가 연결되면 빨간색 전원 LED가 켜집니다.

 

TTP223B 터치 센서의 내부 회로도 

 

 

 

TTP223B 터치 센서 V1.0에서 토글 핀(핀 6)과 AHLB 핀(핀 4)은 1kΩ 저항을 사용하여 접지로 당겨집니다. 즉, 터치 센서는 직접 모드에서 작동하고 출력 신호는 액티브 HIGH입니다. 즉, 터치가 감지되는 즉시 상태가 LOW에서 HIGH로 변경되고 센서에서 터치가 감지되는 한 이 상태를 유지합니다.

 

IC의 핀 1은 신호 핀에 연결됩니다.

IC의 핀 2는 접지에 연결됩니다.

IC의 핀 3은 전극에 연결되고 병렬로 다른 쪽 끝에서 접지에 연결된 커패시터 C1에 연결됩니다.

IC의 핀 4와 핀 6은 1KΩ 저항 R1을 통해 접지로 당겨집니다.

핀 5는 센서의 공급 핀 VDD에 연결됩니다.

 

전원이 회로에 공급되면 켜지는 LED(D)도 있습니다. 1 KΩ 저항 R2와 함께 공급 핀에 직렬로 연결됩니다.

 

Arduino와 TTP223B 터치 센서 인터페이싱

 

Arduino UNO와 TTP223B 터치 센서를 인터페이싱 해 보겠습니다.

 

하드웨어 및 소프트웨어 요구 사항

 

하드웨어 

 
구성품 수량 품명 링크
Arduino UNO 1 Revision R3 Amazon
Touch Sensor 1 TTP223B V1.0 Amazon
LED 1 Red, 5mm diameter Amazon
Resistance 1 100 ohms Amazon
Breadboard 1 Small size Amazon
Connection wires 5 For circuit connections. Amazon

 

소프트웨어

 

Arduino IDE, 버전 2.1.1 이상이 PC에 설치되어 있음

 

Arduino와 터치 센서를 인터페이싱하기 위한 회로도 

 

 

 

 

위의 배선도에서 TTP223B 터치 센서가 Arduino UNO에 연결되어 있는 것을 볼 수 있습니다.

 

터치 센서의 전원은 Arduino 5V 및 GND 핀에서 제공됩니다. 터치 센서의 신호 출력은 Arduino의 디지털 입력 핀 2에 연결됩니다.

 

빨간색 LED는 100옴 저항을 통해 핀 4에 연결됩니다. 터치가 감지되면 LED가 켜지고 Arduino IDE의 직렬 모니터 창에 Touch Detected가 표시됩니다. 

 

코드

 

void setup() {
  // Initialize serial communication at 9600 baud
  Serial.begin(9600);
  // Set pin modes
  pinMode(touchPin, INPUT);  // Set touchPin as input
  pinMode(ledPin, OUTPUT);   // Set ledPin as output
}
void loop() {
  // Read the state of the touch sensor
  int touchState = digitalRead(touchPin);
  // Check if touch is detected
  if (touchState == HIGH) {
    // Turn on LED
    digitalWrite(ledPin, HIGH);
    // Print touch detected message
    Serial.println("Touch detected!");
    // Staty in the below loop as long as touch is detected.
    while (digitalRead(touchPin) == HIGH);
  } else {
    // Turn off LED
    digitalWrite(ledPin, LOW);
  }
}

 

코드 설명

 

처음에는 아래 코드 줄을 사용하여 터치 감지 핀과 출력 핀에 대해 두 개의 상수가 정의됩니다.

 

// Define pin numbers
const int touchPin = 2;  // Define the pin number for touch sensor
const int ledPin = 4;    // Define the pin number for LED

 

setup() 함수에서 직렬 출력이 초기화되고 touchPin 및 ledPin 핀에 대한 핀 모드가 설정됩니다.

 

void setup() {
  // Initialize serial communication at 9600 baud
  Serial.begin(9600);
  // Set pin modes
  pinMode(touchPin, INPUT);  // Set touchPin as input
  pinMode(ledPin, OUTPUT);   // Set ledPin as output
}

 

loop() 함수에서 touchPin이 HIGH인지 확인합니다. HIGH가 되는 즉시 LED가 켜지고 직렬 모니터 창에 "터치 감지됨"이 인쇄됩니다. while() 루프는 시리얼 인쇄 후에 추가되어 시리얼 모니터에 인쇄가 한 번의 터치 이벤트에 대해 한 번 수행되도록 합니다. 이 기능은 아래 코드 줄을 사용하여 실현됩니다. 

 

void loop() {
  // Read the state of the touch sensor
  int touchState = digitalRead(touchPin);
  // Check if touch is detected
  if (touchState == HIGH) {
    // Turn on LED
    digitalWrite(ledPin, HIGH);
    // Print touch detected message
    Serial.println("Touch detected!");
    while (digitalRead(touchPin) == HIGH);
  } else {
    // Turn off LED
    digitalWrite(ledPin, LOW);
  }
}

 

 

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^