아두이노 나노 ESP32 - 터치 센서 | Arduino Nano ESP32 - Touch Sensor
이 튜토리얼은 터치 센서(터치 스위치 또는 터치 버튼으로도 알려져 있음)와 함께 아두이노 나노 ESP32를 사용하는 방법에 대한 지침을 제공합니다.
준비물
1 | × | Arduino Nano ESP32 | 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) Screw Terminal Expansion Board for Arduino Nano | 쿠팡 | Amazon |
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.
터치 센서에 대하여
터치 센서 핀배열
터치 센서는 3개의 핀이 있습니다:
- GND 핀: 이 핀을 GND(0V)에 연결하세요.
- VCC 핀: 이 핀을 VCC(5V 또는 3.3V)에 연결하세요.
- SIGNAL 핀: 출력 핀입니다: 만지지 않았을 때는 LOW, 만졌을 때는 HIGH입니다. 이 핀은 ESP32의 입력 핀에 연결되어야 합니다.
터치 센서 작동 원리
- 터치 센서에 접촉하지 않았을 때 SIGNAL 핀의 상태는 LOW입니다.
- 터치 센서에 접촉했을 때 SIGNAL 핀의 상태는 HIGH입니다.
아두이노 나노 ESP32 - 터치 센서
터치 센서의 SIGNAL 핀을 ESP32의 입력 핀에 연결하고 Arduino Nano ESP32 코드를 사용하여 터치 센서의 상태를 읽을 수 있습니다.
터치 센서와 아두이노 나노 ESP32 간의 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
터치 센서 프로그래밍 방법
Arduino Nano ESP32의 핀을 디지털 입력 모드로 초기화하려면 pinMode() 함수를 사용합니다. 예를 들어, D2 핀
pinMode(D2, INPUT);
digitalRead() 함수를 사용하여 Arduino Nano ESP32 핀의 상태를 읽습니다.
int inputState = digitalRead(D2);
터치 센서 - 아두이노 나노 ESP32 코드
아래 코드는 터치 센서의 상태를 읽고 시리얼 모니터에 출력합니다.
/*
* 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다
* 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-touch-sensor
*/
#define SENSOR_PIN D2 // 아두이노 나노 ESP32 핀이 터치 센서의 SIGNAL 핀에 연결됩니다.
void setup() {
// 시리얼 모니터와 통신하기 위해 시리얼을 초기화합니다.
Serial.begin(9600);
// ESP32의 핀을 입력으로 초기화합니다.
pinMode(SENSOR_PIN, INPUT);
}
void loop() {
// 입력 핀의 상태를 읽습니다:
int state = digitalRead(SENSOR_PIN);
// 시리얼 모니터에 상태를 출력합니다.
Serial.println(state);
}
사용 방법
- 아두이노 나노 ESP32를 처음 사용하는 경우, 아두이노 IDE에서 아두이노 나노 ESP32 환경 설정하는 방법을 참조하세요.
- 위의 코드를 복사하여 아두이노 IDE에 붙여넣으세요.
- 아두이노 IDE의 Upload 버튼을 클릭하여 아두이노 나노 ESP32 보드에 코드를 컴파일하고 업로드하세요.
- 센서에 손가락을 대고 떼세요.
- 시리얼 모니터에서 결과를 확인하세요. 결과는 아래와 같습니다:
COM6
0
0
0
1
1
1
1
1
1
0
0
Autoscroll
Clear output
9600 baud
Newline
LOW에서 HIGH로의 상태 변경 감지 방법
/*
* 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다
* 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-touch-sensor
*/
#define SENSOR_PIN D2 // 아두이노 나노 ESP32 핀이 터치 센서의 SIGNAL 핀에 연결됨
int prev_state = LOW; // 입력 핀에서의 이전 상태
int touch_state; // 입력 핀에서의 현재 읽기
void setup() {
// 직렬 통신을 사용하여 시리얼 모니터와 통신을 초기화합니다.
Serial.begin(9600);
// ESP32의 핀을 입력으로 초기화합니다.
pinMode(SENSOR_PIN, INPUT);
}
void loop() {
// 입력 핀의 상태를 읽습니다:
touch_state = digitalRead(SENSOR_PIN);
if (prev_state == LOW && touch_state == HIGH)
Serial.println("The sensor is touched");
// 마지막 상태를 저장합니다
prev_state = touch_state;
}
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.