ESP32 마이크로파이썬 물/액체 밸브

이 튜토리얼은 ESP32와 MicroPython, 솔레노이드 밸브를 사용하여 물, 맥주, 오일 등 액체의 흐름을 제어하는 방법을 안내합니다. 다룰 내용은 다음과 같습니다:

밸브는 릴레이 또는 MOSFET 모듈로 스위칭할 수 있습니다. 솔레노이드 밸브에는 "반쯤 열림" 설정이 없으므로, 둘 다 밸브를 열기(ON) 또는 닫기(OFF)만 할 수 있습니다. 그렇다면 왜 MOSFET 모듈을 사용할까요? 딸깍 소리 없이 스위칭하고, 훨씬 빠르며, 마모되는 금속 접점이 없기 때문입니다. 여기서 두 방법을 모두 배웁니다.

ESP32 마이크로파이썬 물/액체 밸브

준비물

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow 쿠팡 | 아마존
1×(또는) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide 쿠팡 | 아마존
1×(또는) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide 아마존
1×(또는) ESP32 Uno-form board 아마존
1×(또는) ESP32 S3 Uno-form board 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×릴레이 아마존
1×(또는) MOSFET Module (AOD4184, LR7843 or FR120N) 아마존
1×Liquid Solenoid Valve 아마존
1×12V 전원 어댑터 아마존
1×DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) ESP32용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) Breakout Expansion Board for ESP32 쿠팡 | 아마존
1×(추천) ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

물/액체 밸브에 관하여

핀아웃

ESP32 마이크로파이썬 물/액체 밸브 핀아웃

솔레노이드 밸브는 일반적으로 두 개의 연결을 가지고 있습니다:

  • 빨간색 양극(+) 핀을 12V DC 전원에 연결하십시오.
  • 검정 또는 다른 색 음극(-) 핀을 DC 전원의 GND에 연결하십시오.

물/액체 밸브의 작동 원리

일반적으로 밸브는 닫힌 상태입니다. 두 터미널에 12V DC를 인가하면 밸브가 열려 물이나 다른 유체가 흐를 수 있게 됩니다.

※ 주의:

일부 밸브는 개스킷이 있으며, 12V DC 전압이 인가되었을 때 열리기 위해 일정 압력이 필요합니다. 이 압력은 액체의 흐름에 의해 제공됩니다. 또한, 일부 밸브는 액체가 한 방향으로만 흐르도록 허용합니다.

물/액체 솔레노이드 밸브 제어 방법

밸브에 12V 전원이 공급되면 밸브가 열립니다. ESP32로 밸브를 제어하려면 릴레이를 사용해야 합니다. ESP32는 릴레이에 신호를 보내고, 릴레이가 밸브를 제어합니다. 릴레이의 작동 원리, 핀 구성 또는 설치 방법이 익숙하지 않다면 ESP32 마이크로파이썬 - 릴레이을 확인하세요.

MOSFET 모듈도 같은 일을 할 수 있습니다. 핀과 단자를 이해하려면 ESP32 마이크로파이썬 - MOSFET 모듈 튜토리얼을 참고하세요.

물/액체 밸브용 릴레이와 MOSFET 모듈 비교

릴레이 MOSFET 모듈
밸브 제어 열림 또는 닫힘 열림 또는 닫힘 (밸브에는 PWM 사용 안 함)
스위칭 시 딸깍 소리 있음 없음, 조용함
반응 시간 느림 (밀리초) 매우 빠름
마모 접점이 시간이 지나면 마모됨 모듈 안에 움직이는 부분 없음
밸브 종류 AC 또는 DC 밸브 DC 밸브만 가능
밸브 공급 전압 릴레이 정격 안의 모든 전압 최소 약 6V
절연 예 (코일과 접점) 예 (PC817 포토커플러)
이럴 때 선택 AC 밸브, 간단한 사용 자주 열리고 닫히는 12V DC 밸브, 조용한 프로젝트

솔레노이드 밸브에 PWM을 사용하지 마세요. 밸브는 반쯤 열린 상태를 유지할 수 없으며, PWM은 밸브에서 윙윙거리는 소리가 나고 뜨거워지게 할 수 있습니다. 12V DC 밸브에는 MOSFET 모듈이 조용한 스위치로 적합합니다. AC 밸브에는 릴레이를 사용하세요.

선연결

  • USB 케이블로 전원 공급되는 브레드보드를 사용하여 ESP32와 물/액체 밸브를 연결하는 방법
ESP32 마이크로파이썬 물 밸브 배선도

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

  • ESP32와 물/액체 밸브를 브레드보드를 사용하여 연결하는 방법 (Vin 핀을 통해 전원 공급됨)
ESP32 마이크로파이썬 물 밸브 배선도

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

ESP32와 물/액체 밸브 연결 방법
ESP32 및 물/액체 밸브 배선 방법

ESP32 MicroPython 코드

이 코드는 물 밸브를 5초간 켠 후, 또 다른 5초 동안 끕니다.

/* * 이 ESP32 마이크로파이썬 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 마이크로파이썬 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-micropython/esp32-micropython-water-liquid-valve */ from machine import Pin import time RELAY_PIN = 16 # The ESP32 pin GPIO16 connected to the water valve via relay pin # Initialize the relay pin as an output relay = Pin(RELAY_PIN, Pin.OUT) # Infinite loop while True: relay.value(1) # Turn on water valve for 5 seconds time.sleep(5) relay.value(0) # Turn off water valvefor 5 seconds time.sleep(5)

자세한 사용 방법

다음은 Thonny IDE를 사용하여 ESP32에서 MicroPython 코드를 설정하고 실행하는 방법에 대한 지침입니다:

  • 컴퓨터에 Thonny IDE가 설치되어 있는지 확인하세요.
  • ESP32 보드에 MicroPython 펌웨어가 로드되어 있는지 확인하세요.
  • ESP32를 MicroPython과 함께 처음 사용하신다면, 단계별 지침은 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 키를) 눌러 스크립트를 실행하세요.
  • 수분 흐름을 확인하세요.

코드 설명

ESP32 MicroPython 코드에 제공된 주석에서 설명을 확인할 수 있습니다.

MOSFET 모듈로 물/액체 밸브 제어하기

딸깍 소리 없이 열리고 닫히는 밸브를 원한다면, 릴레이가 있던 자리에 MOSFET 모듈을 연결하세요. 밸브는 이전과 똑같이 열리거나 닫히기만 합니다.

참고로, 이 페이지에서 릴레이와 MOSFET 모듈은 서로 다른 핀을 사용합니다. 릴레이는 GPIO16을, MOSFET 모듈은 GPIO18을 사용합니다. 그래서 각 배선마다 자체 코드가 있습니다.

배선도

ESP32 마이크로파이썬 물 밸브 mosfet 모듈 배선도

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

다음과 같이 부품을 연결하세요:

  • ESP32 GPIO18 → 모듈 PWM 핀
  • ESP32 GND → 모듈 GND 핀
  • 12V 어댑터 + (DC 전원 잭 경유) → + 단자
  • 밸브 빨간색 전선 (+) → 역시 + 단자
  • 밸브 검은색 전선 (−) → LOAD 단자
  • 12V 어댑터 − (DC 전원 잭 경유) → − 단자

밸브 안에는 코일이 있으므로 플라이백 다이오드가 필요합니다. 1N4007 또는 1N5819 다이오드를 밸브 전선 사이에 연결하세요. 줄무늬(캐소드)는 밸브 + 전선에, 다른 쪽 끝은 밸브 − 전선에 연결합니다.

ESP32 MicroPython 코드

이 코드는 릴레이 코드와 같은 방식입니다: 핀이 HIGH가 되어 밸브를 5초 동안 열고, 그다음 LOW가 되어 5초 동안 닫으며, 이를 반복합니다. Shell에는 아무것도 출력하지 않습니다.

밸브에는 완전한 ON 또는 완전한 OFF만 주어야 하며, PWM은 절대 사용하면 안 됩니다. 그래서 여기서는 MOSFET 모듈 튜토리얼의 페이드 코드를 사용하지 않습니다.

/* * 이 ESP32 마이크로파이썬 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 마이크로파이썬 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-micropython/esp32-micropython-water-liquid-valve */ from machine import Pin import time MOSFET_PIN = 18 # The ESP32 pin GPIO18 connected to the PWM pin of the MOSFET module valve = Pin(MOSFET_PIN, Pin.OUT) # set the pin as an output while True: valve.value(1) # open the valve for 5 seconds time.sleep(5) valve.value(0) # close the valve for 5 seconds time.sleep(5)

자세한 사용 방법

  • 다이어그램과 같이 밸브와 MOSFET 모듈을 연결하세요.
  • USB 케이블로 ESP32 보드를 컴퓨터에 연결하세요.
  • Thonny IDE를 열고, 위의 릴레이 Quick Steps와 같이 인터프리터와 포트를 설정하세요.
  • 이 코드를 Thonny에 붙여넣고, ESP32에 main.py로 저장한 다음 실행을 클릭하세요.
  • 밸브가 5초 동안 열리고 5초 동안 닫히지만, 이제는 릴레이 딸깍 소리가 없습니다.

팁: MOSFET 모듈은 DC만 스위칭하며 밸브 공급 전압이 최소 약 6V여야 합니다. 밸브가 AC로 작동한다면 계속 릴레이를 사용하세요.

동영상

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