릴레이

- 아두이노 포트를 통해서 출력하는 신호전력은 작은 용량이기 때문에 LED전구정도는  직접 ON/OFF구동시킬수 있으나, 모터나 가전제품처럼 대용량 전력을 필요로 하는 기기를 직접 구동시킬 수 없다.
- 따라서 전기기기를 직접 구동하는 대신 아두이노 소용량 출력신호로 전기기기의  스위치만을 ON/OFF제어함으로써 전기기기를 제어하기 위한 부품이 릴레이이다.  

 

 

 


릴레이의 원리

- COIL측에 전류를 ON<->OFF시켜 전자석 자성을 활성화 <-> 비활성화함으로써 금속판으로된 스위치를 ON<->OFF시킴

 

아두이노와의 연결

 

 

주의사항 
1) 프로그램을 업로드하고 체크할 때에는 USB를 통해 PC와 연결된 상태에서 하고,  실제 작동테스트할 때에는 USB를 빼고 12V DC어댑터를 연결해야 만이 워터펌프가 작동된다. (워터펌프 사양이 12V 작동용임)  
2)본 키트의 워터펌프는 수중용이므로 공기중에서 계속 가동시키면 가열되어 손상될  수 있으므로 잠깐 테스트해 본 후 종료해야 한다. 

 

테스트프로그램

 

1 line: 디지털 4번 핀을 pinPump라는 이름으로 선언
9 ~10 line:  4번 핀에 HIGH (5V) 신호를 출력하고 3초간 대기   
11 ~12 line:  4번 핀에 LOW (0V) 신호를 출력하고 5초간 대기   

즉 릴레이에 연결된 워터펌프는 3초간 가동되고 5초간 꺼진 상태 대기를 반복한다.

아두이노 IDE로 프로그램 컴파일까지는 정상적으로 진행되다가 업로드 단계에서 다음과 같은 에러가 발생되는 경우가 종종 발생하는데 주된 원인들과 해결방법은 다음과 같다.

 

 

 

1. 포트지정문제

아두이노 모듈이 USB 통신 포트에 연결되어 있지 않았거나 IDE에서 다른 포트를 지정해 놓은 경우 IDE와 모듈간 통신이 되지 않기 때문에 당연히 에러가 발생된다. 이때에 가장 쉽게 확인해 보는 방법은 모듈과 PC의 USB단자와의 연결을 에서 해제 시켰다가 다시 연결하면서 IDE의 포트메뉴에 새로운 시리얼포트 번호가 추가되는지 확인하여 이 포트번호를 지정해 주면 된다.

 

2.USB드라이버의 문제 또는 모듈의 손상

PC USB단지에 아두이노 나노 모듈을 새로 연결했는데도 IDE의 포트 메뉴에 새로운 포트번호가 표시되지 않는 경우는 USB드라이버 문제이거나 모듈의 손상일 경우 많다. 즉, CH340 등 아두이노모듈에 장착된 USB칩에 해당되는 USB드라이버가 설치되어 있지 않거나 아두이노 모듈이 손상되었을 경우이다. 아두이노 나노 모듈은 과전압이나 전류가 통해진 상태에서 만지작거리다가 회로가 쇼트되어 의외로 쉽게 손상된다.     

 

3.아두이노 모듈과 IDE버전 문제  

그런데 위와 같은 문제가 아닌데도 잘되다가 어느날 갑자기 이 에러가 발생되면서 업로드가 안되는 현상이 발생되어 당혹스러운 경우가 있다. 이는 기존 버전(1.6.X)의 아두이노 IDE를 별 생각없이 1.8.X대의 신버전으로 업그레이드 했을 때도 발생된다. 즉,아두이노 IDE가 1.8 버전으로 업그레이드되면서 아두이노 나노 부트로더방식이 변경되었는데 예전에 사용하던 아두이노 나노 모듈과는 호환이 되지 않아 발생되는 현상이다.  

 

이때에는 다음과 같이 IDE 프로세서 메뉴에서 ATmega328(Old Bootloader)를 지정해서 이전 버전 모듈용 부트로더를 지정하기만 하면 정상적으로 업로드작업이 진행된다.  

 

수위센서의 원리
- 두 전극 사이의 저항값은 두전극 사이에 있는 물질의 종류에 따라 달라진다.
- 즉 센서의 전극이 전기가 잘 통하는 물속에 있을 때와 전기가 잘 통하지 않는 공기중에  있을 때 전극 사이의 저항값이 다를 것이므로 이 저항값을 Check하면 전극사이에 물이 있는지 여부(물통속에 물이 있는지 없는지 여부)를 구분할 수 있게 된다.

 

또한 이 측정값을 세밀하게 구분하면 수분이 어느 정도 포함되어 있는지 비율도 추정할 수 있게 되므로 흙속에 센서 전극을  꽂아 흙이 건조한지 습한지를 구분하는  토양수분 센서라는 용도로도 사용할 수도 있다.


본 프로젝트에서 사용하는 수위센서는 다음과 같이 아날로그값 이외에도 일정값을 초과하는지 여부에 따라 HIGH 또는 LOW값을 츨력해주는 디지털 출력단자가 있는 모델을 사용하는데, 전극은 전기가 통하는 임의의 금속판 등을 사용해도 된다.  

 

아두이노와의 연결

 

 

 

테스트코드

   - 다음 소스 코드를 아두이노로 업로드한후,   툴-> 시리얼모니터 화면에서 확인.
   - 센서 전극이 물속에 잠겨 있을 때와 아닐 떄 Sensor 값을 비교해 본다. 

1 line: 단순히 저항값을 측정하는 센서이므로 별도 라이브러리는 필요없으나, 측정된 값을  HIGH/LOW 디지털 값이 아닌 세분화된 수치를 읽어야 하므로 아나로그핀(A1)을  사용한다.  

10 line:  센서로부터의 데이터를 아날로그방식( 0~1023사이 값)으로 읽어들여 저장한다.

+ Recent posts