ESP32 마이크로파이썬 터치 센서
이 자습서는 ESP32와 MicroPython을 사용하여 터치 센서 스위치를 다루는 방법을 안내합니다. 터치 센서를 ESP32에 연결하고 터치 스위치의 상태를 읽기 위한 ESP32용 MicroPython 코드를 작성하는 방법을 배울 것입니다.

준비물
1 | × | ESP32 ESP-WROOM-32 개발 모듈 | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
1 | × | 터치 센서 (Touch Sensor) | 쿠팡 | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP32용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP32용 전원 분배기 | 쿠팡 | 아마존 |
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.
터치 센서에 대하여
터치 센서(터치 스위치 또는 터치 버튼이라고도 함)는 일반적으로 장치를 제어하는 데 사용됩니다(예: 터치 감지 램프). 전통적인 버튼과 동일하게 작동하지만, 현대 장치에서는 보다 간결하고 깔끔한 외관을 위해 버튼 대신 사용되는 경우가 많습니다.
핀아웃
터치 센서에는 세 개의 커넥터가 있습니다.
- GND 핀: GND (0 볼트)에 연결
- VCC 핀: VCC (5 볼트 또는 3.3 볼트)에 연결
- SIGNAL 핀: 터치하지 않으면 LOW, 터치하면 HIGH를 표시합니다. 이 핀은 ESP32의 입력 핀에 연결합니다.

작동 원리
- 아무도 센서를 만지지 않으면, 신호 핀이 LOW입니다.
- 누군가 센서를 만지면, 신호 핀이 HIGH입니다.
ESP32 - 터치 센서
터치 센서의 SIGNAL 핀은 ESP32의 입력 핀에 연결되어 있습니다.
터치 센서가 터치되었는지 확인하려면 ESP32의 입력 핀이 활성화되었는지 확인하세요.
선연결
- ESP32와 터치 센서를 브레드보드를 사용하여 연결하는 방법

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- ESP32와 터치 센서를 스크류 터미널 블록 브레이크아웃 보드를 사용하여 연결하는 방법

터치 센서 - ESP32 MicroPython 코드
터치 센서에서 값을 읽어와서 출력합니다
/*
* 이 ESP32 마이크로파이썬 코드는 newbiely.kr 에서 개발되었습니다
* 이 ESP32 마이크로파이썬 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/esp32-micropython/esp32-micropython-touch-sensor
*/
from machine import Pin
import utime
SENSOR_PIN = 18 # The ESP32 pin GPIO18 connected to the touch sensor
# Create a Pin object to handle the input from the touch sensor
sensor = Pin(SENSOR_PIN, Pin.IN)
while True:
# Read the state of the input pin
state = sensor.value()
# Print the state to the console
print(state)
# Sleep for a short period to avoid flooding the output
utime.sleep(0.5)
자세한 사용 방법
다음은 Thonny IDE를 사용하여 ESP32에서 MicroPython 코드를 설정하고 실행하는 방법에 대한 지침입니다:
- 컴퓨터에 Thonny IDE가 설치되어 있는지 확인하세요.
- ESP32 보드에 MicroPython 펌웨어가 로드되어 있는지 확인하세요.
- MicroPython을 사용한 ESP32 사용이 처음이라면 단계별 지침을 확인하려면 ESP32 마이크로파이썬 - 시작하기 가이드를 참조하세요.
- 제공된 다이어그램에 따라 터치 센서에 ESP32 보드를 연결하세요.
- USB 케이블로 ESP32 보드를 컴퓨터에 연결하세요.
- 컴퓨터에서 Thonny IDE를 실행하세요.
- Thonny IDE에서 Tools Options로 이동하세요.
- Interpreter 탭에서 드롭다운 메뉴에서 MicroPython (ESP32)을 선택하세요.
- 올바른 포트가 선택되었는지 확인하세요. Thonny IDE는 일반적으로 자동 감지되지만, 때때로 수동으로 선택해야 할 수도 있습니다 (예: Windows의 COM12 또는 Linux의 /dev/ttyACM0처럼).
- 제공된 MicroPython 코드를 복사하여 Thonny 에디터에 붙여넣기 하세요.
- ESP32에 코드를 저장하려면:
- Save 버튼을 클릭하거나 Ctrl+S를 누릅니다.
- 저장 대화 상자에서 MicroPython device를 선택하세요.
- 파일 이름을 main.py로 지정하세요.
- 녹색 Run 버튼을 클릭하거나 (또는 F5 키를 눌러) 스크립트를 실행하세요.
- 손가락으로 센서를 터치한 후 손가락을 떼세요.
- Thonny 하단의 Shell에서 메시지를 확인하세요.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot
0
0
1
1
1
1
1
1
1
0
0
0
0
0
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡
센서가 터치되었거나 해제된 것을 감지합니다.
/*
* 이 ESP32 마이크로파이썬 코드는 newbiely.kr 에서 개발되었습니다
* 이 ESP32 마이크로파이썬 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/esp32-micropython/esp32-micropython-touch-sensor
*/
from machine import Pin
import utime
SENSOR_PIN = 18 # The ESP32 pin GPIO18 connected to the touch sensor
# Create a Pin object to handle the input from the touch sensor
sensor = Pin(SENSOR_PIN, Pin.IN)
# Initialize the previous touch state to 0 (assumed LOW)
prev_touch_state = 0
while True:
# Read the current state of the input pin
touch_state = sensor.value()
# Check if the sensor state has changed from LOW to HIGH (touched)
if prev_touch_state == 0 and touch_state == 1:
print("The sensor is touched")
# Check if the sensor state has changed from HIGH to LOW (released)
elif prev_touch_state == 1 and touch_state == 0:
print("The sensor is released")
# Save the current state as the previous state for the next loop iteration
prev_touch_state = touch_state
# Sleep for a short period to debounce the sensor
utime.sleep(0.1)
자세한 사용 방법
- 제공된 MicroPython 코드를 복사하여 Thonny 편집기에 붙여넣으세요.
- 코드를 ESP32 보드에 저장하세요.
- 녹색 Run 버튼을 클릭하거나 F5 키를 눌러 스크립트를 실행하세요.
- 센서에 손가락을 대고 계속 유지하세요.
- Thonny 하단의 Shell에서 메시지를 확인하세요.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot
The sensor is touched
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡
- 센서에서 손가락을 빼세요.
- Thonny 하단의 Shell에서 메시지를 확인하세요.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot
The sensor is touched
The sensor is is released
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.