ESP32 - 터치 센서 | ESP32 - Touch Sensor

이 튜토리얼은 ESP32를 터치 센서(터치 스위치 또는 터치 버튼으로도 알려져 있음)와 함께 사용하는 방법을 지시합니다.

준비물

1×ESP-WROOM-32 Dev Module 쿠팡 | Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×Touch Sensor Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) DC Power Jack 쿠팡 | Amazon
1×(Recommended) ESP32 Screw Terminal Adapter 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

터치 센서에 대하여

터치 센서 핀아웃

터치 센서에는 3개의 핀이 있습니다:

  • GND 핀: 이 핀을 GND(0V)에 연결하세요.
  • VCC 핀: 이 핀을 VCC(5V 또는 3.3v)에 연결하세요.
  • SIGNAL 핀: 출력 핀입니다: 터치하지 않았을 때 LOW, 터치했을 때 HIGH입니다. 이 핀은 ESP32의 입력 핀에 연결해야 합니다.
Touch Sensor Pinout

터치 센서 작동 원리

  • 터치 센서가 접촉되지 않았을 때 SIGNAL 핀의 상태는 LOW입니다.
  • 터치 센서가 접촉되었을 때 SIGNAL 핀의 상태는 HIGH입니다.

ESP32 - 터치 센서

터치 센서의 SIGNAL 핀을 ESP32의 입력 핀에 연결하고 ESP32 코드를 사용하여 터치 센서의 상태를 읽을 수 있습니다.

터치 센서와 ESP32 간의 연결도

ESP32 Touch Sensor Wiring Diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.

터치 센서 프로그래밍 방법

pinMode() 함수를 사용하여 ESP32 핀을 디지털 입력 모드로 초기화합니다. 예를 들어, GPIO18 핀

pinMode(18, INPUT_PULLUP);

digitalRead() 함수를 사용하여 ESP32 핀의 상태를 읽습니다.

int inputState = digitalRead(18);

터치 센서 - ESP32 코드

아래 코드는 터치 센서의 상태를 읽고 그것을 시리얼 모니터에 출력합니다.

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-touch-sensor */ #define SENSOR_PIN 18 // ESP32 핀 GPIO18이 터치 센서의 SIGNAL 핀에 연결되어 있습니다. void setup() { // 초당 9600비트로 직렬 통신을 초기화합니다: Serial.begin(9600); // ESP32의 핀을 입력으로 초기화합니다 pinMode(SENSOR_PIN, INPUT); } void loop() { // 입력 핀의 상태를 읽습니다: int state = digitalRead(SENSOR_PIN); // 상태를 시리얼 모니터에 출력합니다 Serial.println(state); }

사용 방법

  • 만약 이것이 당신이 ESP32를 처음 사용하는 경우라면, Arduino IDE에서 ESP32 환경 설정 방법을 참조하세요.
  • 위의 코드를 복사하여 Arduino IDE에 붙여넣으세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 ESP32 보드에 코드를 컴파일하고 업로드하세요.
  • 손가락을 센서에 대고 뗍니다.
  • 시리얼 모니터에서 결과를 확인하세요. 아래와 같아 보일 겁니다:
COM6
Send
0 0 0 1 1 1 1 1 1 0 0
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

LOW에서 HIGH로의 상태 변화 감지 방법

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-touch-sensor */ #define SENSOR_PIN 18 // ESP32 핀 GPIO18이 터치 센서의 SIGNAL 핀에 연결되어 있음 // 변수는 변경될 것입니다: int lastState = LOW; // 입력 핀에서 이전 상태 int currentState; // 입력 핀에서 현재 읽기 void setup() { // 9600 비트/초에서 직렬 통신 시작: Serial.begin(9600); // ESP32의 핀을 입력으로 초기화 pinMode(SENSOR_PIN, INPUT); } void loop() { // 입력 핀의 상태 읽기: currentState = digitalRead(SENSOR_PIN); if (lastState == LOW && currentState == HIGH) Serial.println("The sensor is touched"); // 마지막 상태 저장 lastState = currentState; }

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!