실내 수경 재배
1. 개요
1) 아두이노, ,xillinx, orcad를 활용하여 설계 및 제작
- 원하는 EC, PH, 온도 값을 입력
- 매시간 마다 EC, PH, 온도 값을 측정
- 설정된 값으로 수조 환경을 유지
- 스마트폰을 통해 실시간 보기 기능
2) 설명
이 펌프는 크게 상층부와 하층부로 나누어져 있다. 우선 상층부에서는 수중식물을 재배할 수 있다. 사용자가 설정한 interval(시간 간격)에 맞춰 펌프가 하층부에 있는 물을 상층부로 끌어 올린다. 이렇게 식물 재배를 자동화 할 수 있다. 하층부에는 총 3개의 동작 센서가 있다. PH센서, EC센서, 온도센서가 바로 그것이다. 각 센서는 실시간으로 센싱을 한다. 만약 사용자가 설정한 범위(LOW에서 HIGH 사이)에서 벗어날 경우 모터 혹은 히터가 작동하여 정상 범위 내로 유지시킨다. 마지막으로 펌프속도조절을 제외한 모든 기능은 스마트폰 및 인터넷으로도 제어가 가능하다.
2. 제어를 위한 버튼
버튼 |
기능 |
Breath Interval (short) 버튼 |
설정된 interval에 몇 배수를 할지 정한다. 1 = 1배수 2 = 2배수 3 = 3배수 4 = 4배수 |
Breath Interval (long) 버튼 |
interval 시간을 사용자가 설정할 수 있다. |
C/F 버튼 |
LCD 상의 출력되는 온도를 섭씨 혹은 화씨로 바꿀 수 있는 버튼 |
Heating 버튼 |
히터를 강제로 on/off 할 수 있는 버튼 |
EC/ppm 버튼 |
EC의 수치를 미국/호주/유럽 단위로 바꿀 수 있는 버튼 |
EC motor 버튼 |
EC 모터를 on/off 할 수 있는 버튼 |
Mode 버튼 |
Temp, PH, EC 의 범위를 설정할 수 있다. |
↑(plus) 버튼 | 사용자의 설정값을 증가시킨다. |
↓(minus) 버튼 |
사용자의 설정값을 감소시킨다. |
Set 버튼 |
사용자의 설정값을 저장한다. |
|
interval 설정값의 몇 배수 간격으로 수중펌프가 작동하고 있는지를 알려주는 LED 1 = 1배수 2 = 2배수 3 = 3배수, 4 = 4배수 |
|
물이 하층부에서 상층부로 올라가고 있음을 알려주는 LED |
물이 상층부에서 하층부로 내려가고 있음을 알려주는 LED |
|
하층부 물이 없을 때를 알려주는 LED |
|
interval 설정값의 몇 배수 간격으로 수중펌프가 작동하고 있는지를 알려주는 LED 1 = 1배수 2 = 2배수 3 = 3배수 4 = 4배수 |
|
|
Motor 가 동작 중임을 알려주는 LED |
3. 프로그래밍을 위한 플로우 차트
1) 메인 플로우 차트
2) 전원을 켠 후 현재 DATA 상태를 받는다.
3) FLAG 와 모드에 따라 순환하며 동작한다.
4) 데이터를 받아 현재 상태를 FLAG로 각각 표시한다.
5) EC/PH 데이터 값과 설정 값을 비교하여 PH/EC 모터 동작을 제어한다.
6) 온도 DATA 값과 설정 값을 비교하여 PH/EC 모터 동작을 제어한다.
4. 메인 하드웨어
5. 전체 모습
소스코드는 다음과 같다. (아두이노 소스코드)
포트폴리오 파일이다.
보고서이다.