ESP32 PC817 옵토커플러: 12V/24V DC 입력 신호 모니터링

밸브, 펌프, 히터가 지금 이 순간 실제로 작동하는지 알려면 보통 그 장치에 전원을 공급하는 라인의 전압을 읽어야 합니다. 그런데 그 라인은 3.3볼트가 아니라 12볼트나 24볼트입니다. ESP32는 3.3볼트로 동작하고 5V 톨러런트가 아니므로, 그런 라인을 핀에 직접 연결하면 보드가 망가집니다. PC817 옵토커플러 절연 모듈이 이 문제를 해결해 주며, 이 가이드에서는 ESP32의 MicroPython으로 그 모듈을 읽는 방법을 보여 드립니다. 다음 내용을 다룹니다:

ESP32 마이크로파이썬 pc817 옵토커플러 절연 24v 입력

필요한 하드웨어

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×PC817 Optocoupler Isolation Module 12V 아마존
1×PC817 Optocoupler Isolation Module 3-5V 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) ESP32용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) Breakout Expansion Board for ESP32 쿠팡 | 아마존
1×(추천) ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

모듈은 하나만 사세요. 맞는 버전은 감시하려는 라인에 따라 다르며, 다음 섹션에서 어떤 것인지 알려 드립니다.

PC817 옵토커플러에 대하여

PC817은 전선 대신 빛을 사용해 틈을 건너 디지털 신호를 전달하는 4핀 칩입니다. 내부에는 절연된 틈을 사이에 두고 적외선 LED와 포토트랜지스터가 마주 보고 있습니다. LED에 전류가 흐르면 그 빛이 트랜지스터를 켜므로, 신호는 전기 대신 빛으로 건너갑니다. 그래서 양쪽이 전기적으로 분리된 상태를 유지합니다. PC817은 포토커플러, 옵토 아이솔레이터, 광절연기라는 이름으로도 판매됩니다.

대부분의 프로젝트는 칩 단품을 직접 다루지 않습니다. 실제로 사는 것은 PC817 옵토커플러 절연 모듈입니다. 같은 칩이 작은 보드에 올라가 있고, 직렬 저항, 상태 LED, 스크류 터미널이 이미 장착되어 있으며, 1, 2, 4, 8채널 버전으로 판매됩니다. 이 튜토리얼에서 배선하는 것이 바로 이 모듈이며, 칩 단품은 직접 만들고 싶은 분을 위해 마지막에 다룹니다.

ESP32가 감시해야 할 대상이 3.3볼트 센서가 아니라 산업용 또는 자동차용 라인일 때, 절연은 정확히 ESP32에 필요한 것입니다. 이 튜토리얼이 목표로 하는 두 가지 작업은 다음과 같습니다:

  • 24볼트 관개용 솔레노이드 밸브 라인을 감시하여, 관개 컨트롤러가 실제로 어느 구역을 열었는지 ESP32가 알 수 있게 합니다.
  • 비상 발전기나 인버터의 12볼트 작동 신호를 감시하여, ESP32가 장치가 언제 시작되고 멈췄는지 기록할 수 있게 합니다.

이 두 라인 모두 절대 ESP32에 직접 닿아서는 안 됩니다. PC817이 중간에 위치하여 빛만 전달합니다.

어떤 PC817 옵토커플러 모듈이 필요한가요?

제품 사진에서는 절대 알려주지 않는 사실이 있습니다. 모듈 하나로 모든 입력 전압을 다룰 수는 없습니다. 보드에 납땜된 저항은 한 가지 전압에 맞춰 선택되어 있으므로, 모듈은 세 가지 별도 버전으로 판매되며 신호에 맞는 것을 사야 합니다.

감시하려는 라인 구매할 모듈 그 라인을 만나는 곳
24볼트 DC 24V 모듈 관개 밸브, PLC 출력, 기계 및 트럭 배선
12볼트 DC 12V 모듈 발전기 및 인버터 작동 신호, 경보 패널, 자동차 회로
3.3 또는 5볼트 DC 3-5V 모듈 다른 보드의 출력, 또는 거리를 두고 싶은 저전압 제어 보드

버전을 잘못 고르면 다음 두 가지 중 하나가 일어납니다:

  • 24볼트 라인에 연결된 12V 모듈은 저항이 설계된 전류의 약 두 배를 받게 되고, 그 초과 전류는 내부 LED로 바로 흐릅니다. 모듈은 오래가지 못합니다.
  • 12볼트 라인에 연결된 24V 모듈은 반대 문제입니다. LED가 충분히 구동되지 않아서 출력이 늦게 전환되거나, 가끔만 전환되거나, 전혀 전환되지 않을 수 있습니다. 타는 것은 없지만 동작하는 것도 없습니다.

※ 주의:

올바른 버전을 고르는 것은 모듈 사용자에게는 직렬 저항 크기를 정하는 것과 같습니다. 이 페이지에서 정말로 중요한 구매 결정은 이것 하나뿐입니다. 올바른 모듈이 작업대에 있다면 계산할 저항도, 틀릴 수학도 없습니다.

핀아웃

단일 채널 PC817 옵토커플러 절연 모듈은 절연된 필드 측에 스크류 터미널 두 개, ESP32 측에 3핀 헤더를 가지고 있습니다. 입력 터미널 옆의 상태 LED는 입력 측에 전원이 들어올 때마다 켜지므로, 테스트할 때 지켜보면 유용합니다.

  • IN+ - 양극 입력 터미널. 감시하려는 24볼트 밸브 라인에 연결합니다.
  • IN- - 음극 입력 터미널. 같은 24볼트 회로의 접지에 연결합니다. ESP32 접지에 연결하면 안 됩니다.
  • VCC - 출력 측 전원. 3.3볼트인 ESP32 3V3 핀에 연결합니다.
  • GND - 출력 측 접지. 0볼트인 ESP32 GND 핀에 연결합니다.
  • OUT - 절연된 출력. 내부 풀업을 켠 ESP32 입력 핀에 연결합니다. 이 튜토리얼에서는 GPIO19입니다.

IN+와 IN-는 필드 측에 속하고, VCC, GND, OUT은 ESP32 측에 속하며, 둘을 잇는 것은 PC817 내부의 절연 틈뿐입니다.

사양

다음은 PC817 칩 자체의 수치입니다. 세 가지 모듈 버전 모두 플라스틱 아래에 들어 있는 부품입니다.

사양 값
패키지 4핀 DIP
입력 LED 순방향 전압 (Vf) 일반 약 1.2 V, 최대 1.4 V
입력 LED 순방향 전류 (If) 연속 최대 20 mA, 일반 범위 5-20 mA
출력 전압 (VCEO) 최대 35 V
출력 전류 (IC) 최대 50 mA
컬렉터 전력 손실 150 mW
절연 전압 1분간 5000 Vrms
전류 전달비 (CTR) 등급에 따라 50% ~ 600%
스위칭 속도 상승 시간 약 4 us, 하강 시간 약 3 us
동작 온도 -30 C ~ +100 C

여기서 중요한 수치는 5000 Vrms 절연 값입니다. 이것이 24볼트 측의 스파이크가 ESP32로 들어갈 경로가 없는 이유입니다.

읽은 값이 반전되는 이유

PC817의 출력 측은 자체적으로 전압을 만들지 않습니다. 할 수 있는 일은 ESP32 핀을 GND에 연결하거나 그대로 두는 것뿐이므로, 트랜지스터가 꺼져 있을 때 정해진 레벨을 가지려면 핀에 풀업이 필요합니다. ESP32에서는 내부 풀업이 가장 쉬운 선택이며, 핀에서 3.3볼트로 연결한 10 kohm 저항도 같은 역할을 합니다.

풀업이 있으면:

  • 12V/24V 신호가 있음: LED가 켜지고, 포토트랜지스터가 도통하며, ESP32 핀이 끌어내려지므로 LOW로 읽힙니다.
  • 12V/24V 신호가 없음: LED가 꺼지고, 포토트랜지스터가 꺼지며, 풀업이 이기므로 ESP32 핀은 HIGH로 읽힙니다.

따라서 읽은 값은 예상과 반대이며, MicroPython 코드에서 다시 반전해야 합니다. 이것은 ESP32 마이크로파이썬 - 버튼 및 ESP32 마이크로파이썬 - 리미트 스위치 튜토리얼에서 만나는 것과 같은 액티브 LOW 방식입니다.

ESP32에 관해 한 가지 더: 이 프로젝트에는 일반 GPIO를 선택하세요. GPIO34부터 GPIO39까지는 입력 전용 핀이며 내부 풀업이 전혀 없으므로, 모듈 출력이 그 핀에서 플로팅 상태가 됩니다. 이 튜토리얼에서는 GPIO19를 사용합니다.

모듈이 액티브 LOW인가요, 액티브 HIGH인가요?

위의 내용은 모두 칩 단품에 대해서는 확정된 물리입니다. 하지만 모듈은 다릅니다. 일부 제조사는 보드에 반전 단계를 추가하여 OUT이 입력과 반대가 아니라 입력을 따르도록 만들기 때문입니다. 두 종류 모두 판매되고 있고, 사진으로는 똑같아 보이며, 판매 페이지에는 어느 쪽인지 거의 적혀 있지 않습니다. 그러니 추측하지 말고 1분만 들여서 측정해 보세요.

  • 아래와 같이 모듈을 ESP32에 배선하되, 지금은 IN+와 IN-를 연결하지 않은 상태로 둡니다.
  • 아래 스크립트를 Thonny에서 열고 초록색 Run 버튼을 누릅니다. 스크립트는 매 줄 끝의 괄호 안에 GPIO19의 원시 레벨을 출력합니다.
  • Thonny 창 하단의 Shell을 보고, 입력에 신호가 없을 때 나타나는 숫자를 기록합니다.
  • 이제 IN+와 IN-에 신호를 인가합니다. 모듈의 상태 LED가 켜져야 합니다.
  • 신호가 있는 동안 Shell에 출력되는 숫자를 기록합니다. 그 숫자가 모듈의 액티브 레벨입니다. 0이면 액티브 LOW, 1이면 액티브 HIGH입니다.

상태 LED로 교차 확인할 수 있습니다. LED는 입력 측에 연결되어 있으므로 필드 신호가 있을 때 정확히 켜집니다. LED가 켜져 있는데 Shell이 여전히 라인을 OFF로 보고한다면, 고쳐야 할 것은 배선이 아니라 극성입니다.

그런 다음 한 곳만 고치면 됩니다. 스크립트 상단 근처에 MODULE_ACTIVE_LOW라는 상수가 하나 있으며, 대부분의 모듈이 그렇게 동작하므로 기본값은 True입니다. 테스트 결과 액티브 레벨이 1이라면 이 값을 False로 설정하세요. 그러면 이후의 모든 결과가 올바르게 나옵니다. 스크립트의 다른 부분은 건드릴 필요가 없습니다.

두 접지를 분리하세요

이것이 이 작업의 핵심이므로 분명히 말해 둘 가치가 있습니다. 12V/24V 회로의 접지를 ESP32의 GND 핀에 연결하지 마세요. 12볼트 또는 24볼트 전원은 자체 접지를 유지하고, ESP32도 자체 접지를 유지하며, 둘은 절대 만나지 않습니다. 둘을 연결해도 모듈은 여전히 전환되고 코드도 여전히 동작하지만, 절연이 사라지고 ESP32는 다시 고전압 측에서 일어나는 모든 일에 노출됩니다.

배선도

PC817 옵토커플러 절연 모듈 배선하기

올바른 버전을 가지고 있다면 계산할 것이 없습니다. 24볼트 밸브 라인은 IN+로, 같은 24볼트 전원의 접지는 IN-로 연결하며, 그 접지는 모듈에만 머물고 ESP32에는 절대 닿지 않습니다. 절연 틈의 반대편에서는 VCC, GND, OUT을 ESP32에 연결합니다.

  • 다음은 브레드보드를 사용하여 ESP32와 PC817 옵토커플러 절연 모듈을 연결하는 방법입니다. ESP32는 3.3볼트 보드이고 5V 톨러런트가 아니므로, 모듈 VCC는 3.3볼트를 공급하는 ESP32 3V3 핀에서 공급하세요.
ESP32 마이크로파이썬 pc817 옵토커플러 절연 모듈 배선도

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

  • 다음은 스크류 터미널 블록 브레이크아웃 보드를 사용하여 ESP32와 PC817 옵토커플러 절연 모듈을 연결하는 방법입니다. 24볼트 필드 배선이 점퍼 와이어가 아니라 실제 케이블이 되면 이쪽이 더 깔끔한 선택입니다.
ESP32와 pc817 옵토커플러 절연 모듈을 연결하는 방법

모듈에 채널이 여러 개 있다면, 각 채널마다 자체 입력 터미널 한 쌍과 자체 OUT 핀이 있으며, 보드의 모든 채널은 같은 입력 전압용으로 만들어져 있습니다.

장치의 켜짐/꺼짐을 모니터링하기 위해 PC817 모듈을 병렬로 배선하기

위의 배선은 신호선이 준비되어 있다고 가정합니다. 하지만 대부분의 경우 그렇지 않습니다. 가지고 있는 것은 이미 설치되어 동작 중인 장치이고, 알고 싶은 것은 그 장치가 지금 이 순간 작동하고 있는지입니다. 해답은 모듈 입력을 그 장치 양단에 병렬로 걸고, 기존 전선은 모두 그대로 두는 것입니다.

이 튜토리얼에서 계속 다루는 24볼트 관개용 솔레노이드 밸브를 예로 들어 보겠습니다. 관개 컨트롤러는 자체 케이블로 밸브 코일에 전원을 공급하며, 그 케이블은 하나도 자르지 않습니다. 전선 두 개만 추가하고, 둘 다 24V 모듈의 스크류 터미널에 연결합니다:

  • 밸브 코일의 스위칭 단자에서 IN+로.
  • 같은 코일의 리턴 단자에서 IN-로.

여기에는 추가할 저항이 없습니다. 모듈에 이미 24볼트에 맞는 저항이 달려 있으며, 바로 그래서 버전을 올바르게 골라야 했던 것입니다. 이 탭은 약 10 mA를 소비합니다. 솔레노이드 코일이 끌어가는 전류에 비하면 아무것도 아니므로, 밸브는 이전과 똑같이 열리고 닫힙니다. 이것은 동작 중인 회로에 덧붙인 읽기 전용 측정입니다.

WARNING

절대로 모듈을 밸브와 직렬로 배선하지 마세요. 직렬로 연결하면 코일 전류 전체가 작은 내부 LED를 통과해야 하므로, 컨트롤러가 해당 구역에 전원을 넣는 순간 칩이 망가집니다. 옵토커플러 입력은 장치 양단에 걸어야 하며, 절대 장치와 일렬로 연결하면 안 됩니다.

입력 측에서 올바르게 해야 할 것이 두 가지 더 있습니다. 먼저 극성입니다. IN+와 IN-는 LED에 연결되며 LED는 한 방향으로만 도통하므로, 둘을 바꿔도 아무것도 손상되지는 않지만 입력이 절대 켜지지 않습니다. 전선 피복을 벗기기 전에 탭의 어느 쪽이 양극인지 확인하세요. 둘째, 코일은 유도성이며, 솔레노이드, 릴레이, 컨택터, 모터는 꺼지는 순간 큰 역방향 스파이크를 발생시킵니다. PC817 입력 LED는 역방향으로 6 V까지만 견디므로, 그 스파이크에 망가질 수 있습니다. 두 입력 터미널 양단에 일반 다이오드를 역병렬로 직접 달아 주세요. 다이오드 캐소드는 IN+에, 다이오드 애노드는 IN-에 연결합니다. 정상 동작 중에는 역바이어스 상태라 아무 일도 하지 않고, 스파이크가 오면 도통하여 역전압을 1볼트보다 훨씬 낮게 클램프합니다. 이런 작은 탭에는 1N4148이면 충분하고, 더 큰 것에는 1N4007을 사용하세요.

반대 방향의 잘못된 읽기도 있을 수 있습니다. 일부 PLC 트랜지스터 출력, 트라이액 출력, LED 램프 드라이버는 꺼져 있어도 약간의 전류가 누설됩니다. 누설이 충분하면 내부 LED가 희미하게 켜진 상태로 유지되어, 컨트롤러가 이미 밸브를 닫았는데도 ESP32는 계속 밸브에 전원이 들어와 있다고 보고합니다. 증상은 비활성 상태로 절대 돌아오지 않는 읽기 값입니다. IN+와 IN- 양단에 약 4.7 kohm ~ 10 kohm의 블리더 저항을 달면 누설 전류가 LED 대신 그 저항으로 흐릅니다. 그리고 시작하기 전에 알아 둘 한계가 하나 있습니다. PC817 입력은 LED 하나이므로 한쪽 극성에만 반응하며, AC 라인 감지에는 맞지 않는 부품입니다. AC 라인에는 입력단에 LED 두 개가 역방향으로 병렬 연결된 옵토커플러가 필요합니다.

탭이 컨트롤러의 명령이 아니라 장치 양단에 걸려 있으므로, ESP32가 읽는 것은 장치의 실제 상태입니다. 다른 무언가가 그 구역에 전원을 넣은 경우와, 컨트롤러가 요청했는데 아무것도 켜지지 않은 경우까지 포함됩니다. 이것이 스크립트를 각 밸브의 가동 시간 카운터, "펌프가 정말 시작했나?" 경고, 또는 기계의 유휴 시간 기록으로 바꿔 줍니다. 다만 이것이 무엇을 증명하는지는 정직하게 봐야 합니다. 장치에 전원이 들어와 있다는 것은 알려주지만 동작하고 있다는 것은 알려주지 않습니다. 고착된 모터나 타 버린 히터 소자도 여전히 전력을 소비하므로 ON으로 읽힙니다.

선택 사항: PC817 칩 단품으로 만들기

직접 납땜하고 싶으신가요? 4핀 PC817 단품도 직렬 저항만 달면 같은 일을 하며, 입력 전압이 고정되어 있을 때는 그렇게 할 만합니다. 점이나 홈이 1번 핀을 표시하고, 번호는 반시계 방향으로 이어집니다. 필드 측의 LED 애노드가 1번 핀, 캐소드가 2번 핀이고, ESP32 측의 포토트랜지스터 이미터가 3번 핀, 컬렉터가 4번 핀입니다.

pc817 옵토커플러 핀아웃

약 10 mA가 되도록 R = (Vin - 1.2) / 0.01로 저항 값을 정하세요. 3.3볼트에서 220 ohm, 5볼트에서 390 ohm, 12볼트에서 1 kohm, 24볼트에서는 1/2 W 부품으로 2.2 kohm입니다. 24볼트 라인에 1 kohm을 그대로 두면 약 22.8 mA가 흘러 칩의 20 mA 한계를 넘습니다.

그런 다음 저항을 신호와 1번 핀 사이에, 2번 핀을 그 외부 회로의 접지에, 3번 핀을 0볼트인 ESP32 GND 핀에, 4번 핀을 GPIO19에 연결합니다. 아래 코드는 수정 없이 그대로 동작합니다.

ESP32 MicroPython 코드 - PC817 옵토커플러

라이브러리는 필요 없습니다. PC817 모듈을 읽는 것은 일반적인 디지털 입력 작업이므로, Pin.PULL_UP을 설정한 Pin 객체 하나가 드라이버의 전부입니다. 아래 스크립트는 절연된 입력을 감시하다가 상태가 바뀔 때만 한 줄을 출력하므로, 밸브가 한동안 열려 있어도 Thonny Shell이 읽기 쉽게 유지됩니다. 각 줄 끝에는 GPIO19의 원시 레벨이 표시되며, 이 덕분에 위의 극성 테스트가 가능합니다.

/* * 이 ESP32 마이크로파이썬 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 마이크로파이썬 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-micropython/esp32-micropython-pc817-optocoupler-monitor-12v-24v-dc-input-signal */ from machine import Pin import utime PC817_PIN = 19 # The ESP32 pin GPIO19 connected to the PC817 module OUT pin # Most PC817 optocoupler modules pull OUT down to 0 when the input signal is present. # Some modules invert it on-board, so OUT follows the input instead. # If your module works the other way round, change this to False. MODULE_ACTIVE_LOW = True # Pin.PULL_UP turns on the ESP32 internal pull-up resistor. # The pull-up holds the pin HIGH while the PC817 phototransistor is off. # When the external 12V/24V signal is present, the phototransistor conducts # and drags the pin down to 0, so the reading is inverted. opto = Pin(PC817_PIN, Pin.IN, Pin.PULL_UP) last_state = None while True: raw = opto.value() # the level on GPIO19 as it is, before any inversion signal_active = (raw == 0) if MODULE_ACTIVE_LOW else (raw == 1) # Print only when the isolated input changes, so the Shell stays readable if signal_active != last_state: if signal_active: print("24V valve line: ENERGIZED (GPIO19 = {})".format(raw)) else: print("24V valve line: OFF (GPIO19 = {})".format(raw)) last_state = signal_active utime.sleep(0.2)

빠른 단계

Thonny IDE를 사용하여 ESP32에서 MicroPython 코드를 설정하고 실행하는 방법은 다음과 같습니다:

  • 위의 모듈 배선도대로 모듈을 ESP32에 배선하고, 전원을 넣기 전에 12V/24V 접지가 ESP32 GND 근처에도 가지 않았는지 다시 확인하세요.
  • 컴퓨터에 Thonny IDE가 설치되어 있는지 확인하세요.
  • ESP32 보드에 MicroPython 펌웨어가 로드되어 있는지 확인하세요.
  • ESP32를 MicroPython과 함께 처음 사용한다면, 단계별 안내가 있는 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 키를 눌러 스크립트를 실행하세요.
  • 24볼트 밸브 라인을 켜고 몇 초간 유지한 다음 다시 끄세요.
  • Thonny 하단의 Shell에 표시되는 메시지를 확인하세요.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot 24V valve line: OFF (GPIO19 = 1) 24V valve line: ENERGIZED (GPIO19 = 0) 24V valve line: OFF (GPIO19 = 1) 24V valve line: ENERGIZED (GPIO19 = 0) 24V valve line: OFF (GPIO19 = 1)
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Shell이 모듈 상태 LED와 반대로 보고한다면, 앞에서 설명한 액티브 HIGH 경우입니다. MODULE_ACTIVE_LOW를 False로 설정하고 스크립트를 다시 실행하세요.

스크립트를 main.py라는 이름으로 MicroPython 장치에 저장했으므로, 컴퓨터가 연결되지 않아도 ESP32의 전원이 켜질 때마다 스스로 시작됩니다. 이것이 이 프로젝트를 독립형 절연 입력 모니터로 만들어 줍니다. ESP32 마이크로파이썬 - 릴레이 튜토리얼과 함께 사용하면 ESP32가 24볼트 라인을 보고만 하는 것이 아니라 그에 반응할 수도 있습니다.

동영상

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

관련 튜토리얼