본문 바로가기

Arduino/[2] Arduino Module

[Arduino Module] #14. 터치 센서 모듈

728x90
반응형

 

금속 터치센서 모듈 KY-036

모듈의 특징

센서의 금속 파이크에 닿은 경우 신호를 출력하며 컨트롤을 사용하여 센서의 감도를 조정할 수 있다.

센서의 회로 보드에는 아래의 3 가지 주요 구성 요소가 있다.

https://m.intopion.com/goods/view?no=3834622

1. 모듈의 전면에 있는 센서 유닛은 면적을 물리적으로 측정하고 아날로그 신호를 제2 유닛 인 증폭기로 전송한다.

2. 증폭기는 전위차계의 저항 값에 따라 신호를 증폭하고 신호를 모듈의 아날로그 출력으로 보낸다.

3. 신호가 특정 값 아래로 떨어질 경우 디지털 출력과 LED를 전환하는 비교기이다.

 

전위차계를 조정하여 감도를 제어 할 수 있다.

주의 사항 : 신호가 반전됩니다. 즉, 높은 값을 측정하면 아날로그 출력에서 낮은 전압 값으로 표시된다.

 

D0 디지털 핀 [Pin 3]
+ 5V [Pin 5V]
G GND [Pin GND]
A0 아날로그 핀 [Pin 0]

회로도

터치 확인 코드

int Dit_Sensor = 2; // INPUT PIN (DIGTAL)
int Anal_Sensor = A0; // INPUT PIN (DIGTAL)

// 프로그램 시작 - 초기화 작업
void setup(){
    Serial.begin(9600); // 시리얼 통신 초기화
    Serial.println("Arduino Examples - [WAT-S009] Touch Dit_Sensor");
    pinMode(Dit_Sensor, INPUT);
    pinMode(Anal_Sensor, INPUT);
}

void loop(){
    /*아날로그 출력: 전압값 확인*/
    float Analog = analogRead (Anal_Sensor) * (5.0 / 1023.0); 
    Serial.print ("Analog voltage value:"); Serial.print (Analog, 4);  Serial.print ("V\n");

    /*디지털 출력: 터치의 유무 판단 조건*/
    if (true == IsTouchec(Dit_Sensor))Serial.println("Touched");
    else Serial.print(".");
    delay(500);
}

bool IsTouchec(int p){
    int time = 0;
    do{
        if (HIGH == digitalRead(Dit_Sensor)) return true;
        delay(1);
    } while (time++<15);
    
    return false;
}
728x90
반응형
댓글