ESP32 마이크로파이썬 터치 센서

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

ESP32 마이크로파이썬 터치 센서

준비물

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와 터치 센서를 브레드보드를 사용하여 연결하는 방법
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 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

관련 튜토리얼