ESP32 마이크로파이썬 스위치

이 튜토리얼은 ESP32와 MicroPython을 사용하여 ON/OFF 스위치를 다루는 방법을 안내합니다. 구체적으로는, 다음 내용을 배우게 됩니다:

ESP32 마이크로파이썬 온/오프 스위치

준비물

1×ESP32 ESP-WROOM-32 개발 모듈 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×Wires 아마존
1×ON/OFF Square 스위치 아마존
1×(또는) ON/OFF Round 스위치 아마존
1×(옵션) 수축 튜브 세트 아마존
1×(옵션) 전기 인두기 아마존
1×(추천) ESP32용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

ON/OFF 스위치에 대하여

켜/끔으로 표시된 스위치는 눌렀을 때 켜에서 끔, 또는 끔에서 켜로 이동하며, 손을 뗀 후에도 새로운 위치에 그대로 유지됩니다. 다시 한 번 눌러 원래대로 전환할 수 있습니다.

핀배치

ON/OFF 스위치에는 두 가지 주요 종류가 있습니다: 두 핀 스위치와 세 핀 스위치.

이 가이드에서는 두 개의 핀이 있는 스위치를 사용합니다. 어떤 핀이 어떤 역할을 하는지는 신경 쓸 필요가 없습니다.

on/off 스위치 핀아웃

작동 방식

ON/OFF 스위치를 사용하는 두 가지 방법이 있습니다. 아래에서는 각 방법에 따른 ON/OFF 스위치 배선 지침과 ESP32의 상태 판독 값을 확인할 수 있습니다:

pin 1 pin 2 ESP32 Input Pin's State
1 GND ESP32 Input Pin (with pull-up) HIGH OFF, LOW ON
2 VCC ESP32 Input Pin (with pull-down) HIGH ON, LOW OFF

우리는 두 가지 방법 중 하나만 선택하면 됩니다. 가이드의 나머지 부분에서는 첫 번째 방법을 사용합니다.

선연결

  • 브레드보드를 사용하여 ESP32와 스위치를 연결하는 방법
ESP32 마이크로파이썬 전원 on/off 스위치 배선도

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

  • 스크류 터미널 블록 브레이크아웃 보드를 사용하여 ESP32와 스위치를 연결하는 방법
ESP32와 스위치를 연결하는 방법

납땜 인두를 사용하여 전선과 ON/OFF 스위치 핀을 확실하게 납땜할 것을 권장합니다. 그 후, 보호를 위해 히트 슈링크 튜브로 덮어 주세요.

ESP32 MicroPython 코드 - 켜기/끄기 스위치

ON/OFF 스위치는 버튼과 유사하게 디바운싱이 필요합니다. 디바운싱은 코드를 더 복잡하게 만들 수 있습니다. 다행히도 DIYables_MicroPython_Button 라이브러리는 디바운싱 기능을 제공하고 내부 풀업 저항기를 포함하여 프로그래밍을 쉽게 해줍니다.

※ 주의:

두 가지 사용 사례가 있습니다:

  • 첫 번째: 스위치가 켜져 있으면 어떤 작업을 수행하고, 스위치가 꺼져 있으면 반대의 작업을 수행합니다.
  • 두 번째: 스위치가 켜짐에서 꺼짐으로 또는 꺼짐에서 켜짐으로 전환될 때 어떤 작업을 수행합니다.

하나씩 ESP32 프로그래밍하는 방법을 배워봅시다.

ESP32 - ON/OFF 스위치의 상태 읽기

/* * 이 ESP32 마이크로파이썬 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 마이크로파이썬 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-micropython/esp32-micropython-switch */ from DIYables_MicroPython_Button import Button import time # Initialize the on/off switch connected to GPIO19 pin of the ESP32 switch = Button(19) # Set debounce time to 50 milliseconds switch.set_debounce_time(50) while True: switch.loop() # Update the button state state = switch.get_state() if state == 1: # GPIO HIGH print("The switch: OFF") else: print("The switch: ON")

자세한 사용 방법

다음은 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).
  • Thonny IDE에서 Tools > Manage packages로 이동하십시오.
  • “DIYables-MicroPython-Button”을 검색한 후, DIYables에서 만든 Button 라이브러리를 찾으십시오.
  • DIYables-MicroPython-Button을 클릭한 후, Install 버튼을 클릭하여 Button 라이브러리를 설치하십시오.
  • 제공된 MicroPython 코드를 복사하여 Thonny의 편집기에 붙여넣으십시오.
  • 다음 방법으로 ESP32에 코드를 저장하십시오:
  •   ..* Save 버튼을 클릭하거나 Ctrl+S를 눌러 저장합니다.
  •   ..* 저장 대화 상자에서 MicroPython device를 선택합니다.
  •   ..* 파일 이름을 main.py로 지정합니다.
  • 녹색 Run 버튼을 클릭하거나 F5를 눌러 스크립트를 실행하십시오.
  • 스위치를 ON 위치로 이동시키십시오.
  • Thonny 하단의 Shell에서 메시지를 확인하십시오.
  • 스위치를 OFF 위치로 전환하십시오.
  • Thonny 하단의 Shell에서 메시지를 확인하십시오.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The switch: OFF The switch: OFF The switch: OFF The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: OFF The switch: OFF The switch: OFF The switch: OFF The switch: OFF
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

ESP32 - ON/OFF 스위치에서 이벤트 감지

/* * 이 ESP32 마이크로파이썬 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 마이크로파이썬 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-micropython/esp32-micropython-switch */ from DIYables_MicroPython_Button import Button import time # Initialize the on/off switch connected to GPIO19 pin of the ESP32 switch = Button(19) # Set debounce time to 50 milliseconds switch.set_debounce_time(50) while True: switch.loop() # Update the button state if switch.is_pressed(): print("The switch: OFF -> ON") if switch.is_released(): print("The switch: ON -> OFF")

자세한 사용 방법

  • 위의 코드를 복사하여 Thonny IDE 편집기에 붙여넣으세요.
  • 스크립트를 ESP32에 저장하세요.
  • 스위치를 여러 번 ON/OFF 해보세요.
  • Thonny 하단의 Shell에서 메시지를 확인하세요.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The switch: OFF -> ON The switch: ON -> OFF The switch: OFF -> ON The switch: ON -> OFF
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

동영상

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