반응형

온라인에서 릴레이를 구입하다보면 대부분 그냥 아두이노용 5V릴레이라는 것만 보고 구입을 하게 된다!

이때 릴레이는 모양은 서로다르더라도 크게 3종류로 구분할 수 있다!

 

1.하이레벨 트리거

2.로우레벨 트리거

3.하이레벨과 로우레벨을 선택할 수 있는 것

 

대부분 특별한 언급이 없다면 하이레벨트리거이다!(그러나 반드시 그렇지는 않은것 같다)

 

하이레벨 트리거는 아두이노에서 HIGH신호를 줄때 릴레이의 COM과 NO의 접점이 붙고, LOW신호를 줄때 COM과 NC접점이 붙는 방식이다!

흔히 릴레이를 활용할때 릴레이가 작동될때가 HIGH이고 작동이 안될때가 LOW가 되는 것이다!

 

그러나 로우레벨 트리거는 이게 반대이다!

아두이노에서 LOW신호를 줄때 릴레이가 작동되고 HIGH신호를 줄때 릴레이의 접점이 떨어지게 되는 것이다!

 

아두이노에서 코드적으로 보자면 아래와 같다!

//하이레벨 트리거
int relay_pin = 5;
digitalWrtie(replay_pin, HIGH); //릴레이 작동
digitalWrtie(replay_pin, LOW); //릴레이 멈춤

//로우레벨 트리거
int relay_pin = 5;
digitalWrtie(replay_pin, HIGH); //릴레이 멈춤
digitalWrtie(replay_pin, LOW); //릴레이 작동

릴레이가 작동된다는 결론은 동일하지만 아두이노에서 집어넣는 신호가 서로 다름에 유의하자!

특히 로우레벨 트리거는 주의해야할 것이있다!

아래와 같은 코드를 살펴보자!

int relay_pin = 5;
setup(){
   pinMode(relay_pin,OUTPUT);
   //여기서 릴레이의 시작 값이 무엇인가?
}

loop(){
}

아두이노에서 릴레이를 제어하기 위해서 핀을 지정하고 디지털핀을 출력으로 설정하는것 까지 완료했다!

그리고 셋업부분을 종료했다면 릴레이가 연결된핀에 딱히 언급이 없으면 LOW의 값이 출력되게 된다!

그럼 하이레벨 트리거인 릴레이는 LOW일때 멈추는거니깐 그대로 있지만,

로우레벨 트리거는 갑자기 작동을 하게 될 것이다!(예를 들어 거기에 큰 제품이 연결되어 있다면 돌아가게된다)

 

그래서 로우레벨 트리거는 아래와 같이 초기값을 반드시 넣어줘야 초기상태를 만들수 있다!

int relay_pin = 5;
setup(){
   pinMode(relay_pin,OUTPUT);
   digitalWrtie(replay_pin, HIGH); //릴레이 멈춤
   //여기서 릴레이의 시작 값이 무엇인가?
}

loop(){
}

여기서 끝!

반응형
Posted by 덕력킹
,