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

 

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


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

 

아두이노와의 연결

 

 

 

테스트코드

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

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

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

온습도센서 DHT11
-온도,습도값을 측정할 수 있는 센서는 수없이 많으나 본  프로젝트에서는 다음과  같은 아두이노용 DHT11센서를 사용한다.


-DHT11 센서는 VCC(+) 단자와 - 단자에 3.3~5V전압을 가해주면  좌측 S 단자를 통해 온도와 습도 측정값을  Digital 값으로 전송해 준다.

 

라이브러리 설치
 IDE 스케치 메뉴 -> 라이브러리 포함하기 -> 라이브러리관리하기 화면에서   "DHT11" 를 검색하여 설치한다.

 

아두이노와 연결
 DHT11 센서로 측정된 온도,습도값을 LCD Display장치에 표시하기 위해서  다음과 같이 연결한다.  

 

테스트프로그램


4~7 line: 디지털 3번 핀을 통해 연결된 DHT11센서 장치를 dht라는 이름으로 선언
12 line : dht  장치 초기화하여 시작  
18~19 line :  온도와 습도값을 받아 temp, humid라는 변수에 보관 
21~25 line : lcd 장치에 온도값 Display  
26~31 line : lcd 장치에 습도값 Display  

 

 

1.과제목표

 

- 지금까지 실습한 LCD, 키패드, 부저 기능을 종합하여 다음과 같은 기능을 가진  "남은 여생 날짜수 계산기" 시스템을 구성하시오.

1) 아두이노를 기동시키면 나이를 물어 보고  

2) 사용자는 키패드로 나이를  2자리 숫자로 입력 ( 숫자를 누를때 숫자입력 확인용으로  짧은 비프음을 출력하고, 숫자 아닌 기호를 누를 때는 무시 )

3) 2자리 숫자가 완료되면 입력이 완료되었다는 의미로 멜로디 효과음을 출력하고  100세 까지 남은 날짜수를 계산하여 3초간 표시. 

4) 위작업을 계속 반복

 

 

2. 아두이노 연결

 

 

3.샘플프로그램

 

22 line:  입력되는 나이를 저장할 변수
23 line: 계산되는 100세까지 남은 일수를 저장할 변수, int범위인 32,767을 초과할 수 있으니 long type으로 선언해 주어야 한다.
28~35 line: 프르그램 시작할 때 화면에 설명할 내용을 3초간 표시한다
45~51 line : 키패드로 부터 입력된 문자가 숫자이면 비프음을 출력하고 while반복에서 빠져   나온다. 숫자입력이 아니면 계속 입력을 받아들인다   
44~55 line: 2자리 숫자가 완성될 때까지 입력받아 화면에 표시한다. 
58 line: 100세 까지 남은 일수를 계산하여 long type 변수로 저장한다.
59~72 : 멜로디 음과 LCD화면 표시내용을 출력하고 3초간 대기한다.

 

 

+ Recent posts