ESP8266 터치 센서

이 튜토리얼은 ESP8266을 사용하여 용량성 터치 센서를 사용하는 방법을 알려줍니다. 자세히 말하자면, 우리는 다음을 배울 것입니다:

준비물

1×ESP8266 NodeMCU 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×터치 센서 (Touch Sensor) 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) ESP8266용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) ESP8266 Type-C용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

터치 센서에 관하여

정전 용량식 터치 센서, 또는 터치 버튼이나 터치 스위치라고도 알려져 있으며, 터치 가능한 램프와 같은 장치를 제어하는 데 일반적으로 사용됩니다. 버튼과 같은 목적을 가지고 있지만, 많은 현대 장치에서는 그 매끄러운 외관 때문에 버튼 대신 사용됩니다.

터치 센서 핀배열

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

  • GND 핀: 이것은 접지 전압(0V)에 연결되어야 합니다.
  • VCC 핀: 이것은 VCC 전압(5V 또는 3.3V)에 연결되어야 합니다.
  • SIGNAL 핀: 이것은 출력 핀입니다. 만지지 않았을 때는 LOW 상태가 되고 만졌을 때는 HIGH 상태가 됩니다. 이 핀은 ESP8266 입력 핀에 연결되어야 합니다.
터치 센서 사용법 핀아웃

작동 원리

  • 센서와 상호작용이 없을 때, 센서의 SIGNAL 핀은 LOW 상태에 있습니다.
  • 하지만, 센서가 터치되면, 센서의 SIGNAL 핀은 HIGH 상태에 있습니다.

ESP8266 - 터치 센서

터치 센서의 SIGNAL 핀은 ESP8266의 입력 핀에 연결됩니다. ESP8266의 핀 상태를 검사함으로써 터치 센서가 터치되었는지를 판별할 수 있습니다.

선연결

ESP8266 NodeMCU 터치 센서 연결 배선도

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

ESP8266 핀배열ESP8266 전원을 켜는 방법에 대해 더 많이 보십시오.

터치 센서 프로그래밍 방법

pinMode() 함수를 사용하여 ESP8266 핀을 디지털 입력 모드로 설정하세요. 예를 들어:

pinMode(D7, INPUT);

digitalRead() 함수를 통해 ESP8266 핀의 상태를 읽으세요.

int inputState = digitalRead(D7);

※ 주의:

흔히 사용되는 두 가지 시나리오가 있습니다:

  • 첫 번째: 입력 상태가 HIGH일 경우 하나의 동작을 수행합니다. 입력 상태가 LOW인 경우 반대의 동작을 실행합니다.
  • 두 번째: 입력 상태가 LOW에서 HIGH로 (또는 HIGH에서 LOW로) 변할 경우 동작을 수행합니다.

어플리케이션의 목적에 따라 이 중 하나를 선택합니다. 예를 들어, 터치 센서를 사용해서 LED를 제어하고 싶은 경우:

  • 목표가 센서에 손을 대면 LED가 켜지고 손을 대지 않으면 꺼지게 하는 것이라면, 첫 번째 시나리오를 사용해야 합니다.
  • 목표가 센서에 손을 대는 것마다 LED를 켜고 끄는 것으로 전환하게 하는 것이라면, 두 번째 시나리오를 사용해야 합니다.

터치 센서 - ESP8266 코드

튜토리얼은 두 가지 샘플 코드를 제공합니다:

  • ESP8266은 터치 센서에서 값을 읽고 시리얼 모니터에 출력합니다.
  • ESP8266은 센서가 터치되었는지 아니면 놓아졌는지를 감지합니다.

ESP8266이 터치 센서에서 값을 읽고 시리얼 모니터에 출력합니다.

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

사용 방법

Arduino IDE에서 ESP8266을 시작하는 방법은 다음과 같습니다:

  • ESP8266을 Arduino IDE에서 설정하는 방법에 대해 처음이라면 ESP8266 - 소프트웨어 설치을 확인하세요.
  • 다이어그램에 표시된 대로 구성 요소를 연결하세요.
  • USB 케이블을 사용하여 ESP8266 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 엽니다.
  • 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
  • 코드를 복사하여 Arduino IDE에서 엽니다.
  • IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266에 전송합니다.
  • 센서에 손가락을 대었다가 떼세요.
  • 시리얼 모니터에서 출력을 확인하세요.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
0 0 0 1 1 1 1 1 1 0 0
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2

ESP8266이 센서의 접촉 또는 해제를 감지합니다

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-touch-sensor */ #define SENSOR_PIN D7 // ESP8266 NodeMCU 입력 핀이 센서의 SIGNAL 핀에 연결됩니다. int prev_state = LOW; // 입력 핀의 이전 상태 int touch_state; // 입력 핀에서의 현재 읽기 void setup() { // 시리얼 모니터와 통신하기 위해 시리얼을 초기화합니다. Serial.begin(9600); // ESP8266 NodeMCU의 핀을 입력으로 초기화합니다. pinMode(SENSOR_PIN, INPUT); } void loop() { // 입력 핀의 상태를 읽습니다: touch_state = digitalRead(SENSOR_PIN); if(prev_state == LOW && touch_state == HIGH) Serial.println("The sensor is touched"); else if(prev_state == HIGH && touch_state == LOW) Serial.println("The sensor is released"); // 마지막 상태를 저장합니다 prev_state = touch_state; }

사용 방법

  • 코드를 복사하고 Arduino IDE로 열어주세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 컴파일하고 ESP8266에 업로드하세요.
  • 센서에 손가락을 계속 대고 있어주세요.
  • 시리얼 모니터에서 결과를 확인하세요.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
The sensor is touched
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
  • 센서에서 손가락을 떼세요.
  • 결과를 시리얼 모니터에서 확인하세요.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
The sensor is touched The sensor is released
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2

동영상

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