온라인에서 릴레이를 구입하다보면 대부분 그냥 아두이노용 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(){
}
여기서 끝!
'녹칸다 > 녹칸다의잡학사전' 카테고리의 다른 글
[C#윈폼] 녹칸다의 예제에서 MQTT로 publish할때 수정해야할 사항! (0) | 2022.01.13 |
---|---|
[아두이노] wifimulti를 이용해서 코드 수정없이 여러개 무선공유기에 연결하는 방법! (0) | 2022.01.13 |
[아두이노] 아두이노 우노와 ESP8266보드의 아날로그 입력과 전압계산하는 방법의 차이! (0) | 2022.01.11 |
[아두이노] ESP8266에서 고정IP를 설정하고 사용하는 방법! (2) | 2022.01.10 |
[아두이노] 아두이노에서 디지털핀의 표현과 조건식에 대한 지식 (0) | 2022.01.10 |