// ezButton 라이브러리를 활용해서 디바운싱 절차를 간소화 합니다.
#include <ezButton.h> // ezButton 라이브러리를 포함합니다.
// 핀번호 지정 및 버튼 객체 생성
ezButton button(2); // 버튼 객체 생성
const int relayPin = 3; // 릴레이 신호 핀 번호
void setup()
{
Serial.begin(9600); // 시리얼 통신 시작
button.setDebounceTime(50); // 디바운싱 시간 설정
pinMode(relayPin, OUTPUT); // 릴레이 신호 핀 설정
}
void loop()
{
button.loop(); // 버튼 객체의 loop() 메소드를 호출합니다.
if (button.isPressed()) // 버튼이 눌렸는지 확인합니다.
{
digitalWrite(relayPin,HIGH); // 릴레이에 HIGH신호를 주어서 normal open -> normal close제어합니다.
Serial.print("Button is pressed!"); // 버튼이 눌렸다면 시리얼 모니터에 메시지를 출력합니다.
Serial.println(" Relay: Norma Open => Norma Close");
}
if (button.isReleased()) // 버튼이 떨어졌는지 확인합니다.
{
digitalWrite(relayPin, LOW); // 릴레이에 LOW신호를 주어서 normal close -> normal open제어합니다.
Serial.print("Button is released!"); // 버튼이 떨어졌다면 시리얼 모니터에 메시지를 출력합니다.
Serial.println(" Relay: Normal Close => Normal Open");
}
}