본문 바로가기

카테고리 없음

(ESP32 / touch sensor) 내장 터치 센서 신기하네...

esp32에 터치 센서가 내장되어 있다고 해서 테스트해보니 신기하네.

esp32 핀아웃 그림을 보면, Touch0, Touch2...라고 표기된 핀들을 T0...등의 이름으로 사용할 수 있다. 그 핀을 빵판에 연결해서 그 라인에 저항을 연결하듯이 클립 같은 것을 펴서 꽂으면 된다. 이 클립(철사나 기타 전도체 따위)을 touchRead(T0)으로 측정해보면, 내 경우에는 60정도로 나오다가, 손으로 만지면 10안팎으로 떨어진다. 이 값을 참고해서 LED를 켜고 끄는 코드를 작성해보았다. 

 

const int pinRed = 5;
//const int pinBlue = 17;

void setup() {
  Serial.begin(115200);
  pinMode(pinRed, OUTPUT);
  //pinMode(pinBlue, OUTPUT);

}

void loop() {
  int val = touchRead(T0);
  if (val < 20) {
    digitalWrite(pinRed, 1);
  } else {
    digitalWrite(pinRed, 0);
  }
  Serial.println(val);
  delay(100);
}

시리얼 모니터 출력값: (만지는 부분에서 0, 13, 6...으로 값이 낮아졌다가 손을 떼면 다시 값이 60 정도로 올라간다.)

62
63
62
62
62
61
0
13
0
6
2
0
0
0
7
0
8
0