#include <ezButton.h> // ezButton 라이브러리를 포함합니다.

// 핀번호 지정 및 버튼 객체 생성
ezButton button(2);     // 버튼 객체 생성
const int relayPin = 3; // 릴레이 신호 핀 번호

bool relayState = false; // 릴레이 상태 변수

void setup() {
  Serial.begin(9600); // 시리얼 통신 시작
  button.setDebounceTime(50); // 디바운싱 시간 설정
  pinMode(relayPin, OUTPUT);  // 릴레이 신호 핀 설정
}

void loop() {
  button.loop(); // 버튼 객체의 loop() 메소드를 호출합니다.

  if (button.isPressed()) { // 버튼이 눌렸는지 확인합니다.
    Serial.println("Button is pressed!"); // 버튼이 눌렸다면 시리얼 모니터에 메시지를 출력합니다.
    relayState = !relayState; // 릴레이 상태를 토글합니다.

    if (relayState) {
      Serial.println("Relay State: Normal Close"); // 릴레이 상태를 시리얼 모니터에 출력합니다.
    } else {
      Serial.println("Relay State: Normal Open"); // 릴레이 상태를 시리얼 모니터에 출력합니다.
    }

    digitalWrite(relayPin, relayState); // 릴레이 상태를 업데이트합니다.
  }
}
$abcdeabcde151015202530fghijfghij
NOCOMNCVCCGNDINLED1PWRRelay Module