"6조"의 두 판 사이의 차이
(→특허출원번호 통지서) |
(→개발사업비 내역서) |
||
559번째 줄: | 559번째 줄: | ||
===개발사업비 내역서=== | ===개발사업비 내역서=== | ||
− | + | [[파일:2020_6_image56.png]] | |
===완료 작품의 평가=== | ===완료 작품의 평가=== |
2020년 12월 17일 (목) 14:45 판
프로젝트 개요
기술개발 과제
국문 : 중앙관리형 스마트 화분 관리기
영문 : (Centralized Smart Pot Manager)
과제 팀명
키워조
지도교수
오명도 교수님
개발기간
2020 년 9 월 ~ 2020 년 12 월 (총 4 개월)
구성원 소개
서울시립대학교 기계정보공학과 20154300** 안**(팀장)
서울시립대학교 기계정보공학과 20154300** 윤**
서울시립대학교 기계정보공학과 20154300** 주**
서울시립대학교 기계정보공학과 20154300** 허**
서울시립대학교 기계정보공학과 20164300** 김**
서론
개발 과제의 개요
개발 과제 요약
환경이나 조건이 맞지 않아 식물을 기르기 힘든 사람들을 위한 몇 가지 제품이 있다. 하지만 시중에 있는 스마트 화분들은 기존의 화분을 이용할 수 없어 옮겨 심어야 하거나, 그 크기가 작아 기존의 식물을 옮겨 심을 수도 없다는 단점이 있다. 또한 자동으로 물을 주더라도 그 용량이 크지 않아 물을 채워줘야 하는 빈도가 잦다. 우리 과제에서는 기존의 화분을 그대로 이용할 수 있고, 자동으로 적정량의 물을 주고 관리할 수 있으며, 물탱크를 내장하지 않고 펌프를 통해 자동으로 물을 공급한다. 또한 사용자는 식물에 물이 공급되거나 외부 물탱크에 물이 다 떨어졌을 때, 배수 트레이에 물이 가득 찼을 때 앱을 통해 알림을 받는다.
개발 과제의 배경 및 효과
(1) 배경 및 동기
전국 만 19~59세 성인남녀 1000명을 대상으로 2017년 설문조사를 한 결과 응답자의 85%가 현재 식물을 키우고 있거나 과거에 키운 경험이 있다고 답했다. 이들은 공기정화(58%), 식물에 대한 호감(38%), 인테리어(36%) 등을 식물 재배의 이유로 제시하였다.1) 그만큼 우리나라에선 가정에서 식물을 키우는 것이 대중화되어 있고 '반려식물'이라는 명칭이 생길 만큼 그 장점을 인지하고 있다.
코로나19가 점점 더 장기화되고 잠식될 기미를 보이지 않으면서 이로 인한 각종 사회 문제가 발생하고 있다. 그 중 코로나로 인한 우울증, 즉 코로나블루라는 새로운 이슈가 대두되며 그 영향이 점점 커지고 있다. 전국 성인남녀 805명을 대상으로 2020년 코로나블루에 대해 조사한 결과 코로나블루를 경험한 사람은 4월 54.7%에서 6월 69.2%로 계속 증가세에 있으며 90%가 사회적 우울감이 심해졌다고 답했다.2) 이에 대한 해결책으로 정서 안정을 제공하는 식물 키우기가 대두되며 이전보다 더 주목을 받게 되었다.
하지만 이러한 장점을 인지하고도 식물을 재배하기 조심스러워 하는 사람들이 있다. 바쁜 일상생활에 의한 시간 부족, 식물 관리 능력의 미숙 등을 이유로 말이다. 예전에는 식물을 키웠지만 지금은 키우지 않는 사람들은 그 이유로 관리하기가 힘들다는(63.3%, 중복응답) 점을 가장 많이 꼽았다. 우리는 이러한 사람들 역시 식물 재배의 이점을 누릴 수 있도록 식물을 자동으로 관리하고 원격으로 상태를 확인할 수 있는 장치를 고안했다.
(2) 작품의 독창성 및 필요성
현재 시중의 반려식물 재배를 위한 가드닝 디바이스는 스마트 화분과 관개 키트가 있다. 스마트 화분은 내부에 설치된 물탱크를 사용한 급수 시스템을 사용하며 화분과 기기가 일체형으로 이루어져 있다. 단순히 물을 주는 과정만을 자동화한 저렴한 화분에서 성장을 위한 LED를 겸한 10만 원 이상의 제품들[그림 3]까지 다양하게 출시되었다. 스마트 화분은 식물을 제외하고는 모두 장치의 일부이기에 식물의 성장을 위한 환경을 조성하기 비교적 쉽다. 다만 기존에 보유하던 화분을 사용할 수 없으며 기를 수 있는 식물의 크기에도 한계도 명확하다. 또한 물탱크의 용량에 따라 이용자가 물을 보충해 줘야 하는 기간이 한정되어 버린다.
관개 키트는 화분과 분리된 상태로 식물의 성장을 돕는다. 현재 시제품들은 외부의 물탱크로부터 펌프를 사용해 급수하거나 수도꼭지를 통해 물을 주는 방식을 택하고 있다. 단순 물을 공급할 시간을 설정하는 저가형 타이머 제품[그림 4]이나 식물의 성장에 필요한 요건들의 분석이 가능한 스마트팜 용 160만원 상당의 고가 제품[그림 5]으로 나뉜다.
본 프로젝트는 저가 제품의 관개 키트가 제공하지 못하는 기능으로 물을 주어야 하는 적절한 시간을 알려주며 필요한 만큼 자동으로 급수를 하는 것이 목표이다. 또한 애플리케이션과의 연동 기능을 제공하면서도 상시 전원 공급형이 아닌 배터리 방식을 채용하여 장소에 구애받지 않을 것이다. 햇빛이 들어오지 않는 환경에서도 전원만 공급 되면 생장등을 이용해 식물의 성장을 촉진시킬 수 있다. 설치는 사용 중인 화분의 아래에 놓아두는 간단한 방식으로 배수되는 물의 처리가 용이할 것이며 기존의 화분이 차지하던 공간에서 크게 확장되지 않을 것이다.
개발 과제의 목표와 내용
(1) 개발 목표
화분 표면의 습도를 확인하여 일정 수준 이하로 떨어지면 펌프가 작동한다. 펌프는 외부의 물통으로부터 물을 끌어올린다. 이때 펌프가 작동했음에도 표면 습도 센서의 값에 변화가 없다면 물이 나오지 않은 것이므로 물이 부족하다는 데이터를 서버로 전송한다. 표면 습도가 변화했고, 화분 거치대 부분에 설치된 배수 감지 센서가 작동을 했다면 화분 아래로 물이 떨어지고 있는 것이므로 펌프 작동을 중단한다. 그 후 물이 공급되었다는 정보를 서버에 업로드한다.
표면의 습도를 확인하는 주기는 외부 전원 유무에 따라 달라진다. 외부 전원이 있다면 실내에 둔 것이므로 생장등을 작동하여 식물의 생장을 돕고, 외부 전원이 없다면 베란다 등 실외에 있는 것이므로 전원 절약을 위해 생장등을 작동하지 않는다.
클라우드 서버로 전송된 데이터는 스마트폰 앱을 통해 알림으로 알려주거나 현재 식물의 상태를 그래프로 분석하여 보여준다.
(2) 개발 내용
(가) 센서 인식후 펌프가 물 공급하는 알고리즘
화분 표면에 박아둔 토양 습도 측정 센서가 표면 습도가 일정 수준 이하로 떨어졌다고 측정하면 펌프가 작동하여 화분에 물을 공급한다. 펌프가 작동했음에도 토양 습도 측정 센서의 값이 변화가 없다면 외부 물통의 물이 다 떨어진 것이므로 서버로 이를 전달한다. 물이 공급됐다면 화분 거치부에 설치된 수분 감지 센서가 화분 밑에서 물이 나오는 것을 감지할 때까지 펌프를 작동한다.
전원이 공급되는 경우는 전력에 구애를 받지않기에 일반적인 센서 확인후 작동하는 알고리즘을 가진다. 그러나 관리자의 상황에 따라서 외부에 배치하고 14일정도 방치하는 상황이 생길 수 있다. 따라서 전력이 공급되지 않는 경우를 파악하여 그러한 경우에는 자체 배터리의 효율을 위해 긴 주기를 가지는 센서탐지 시간과 불필요한 기능을 스스로 줄이는 다른 알고리즘을 필요로한다 . (나) 센서-서버-애플리케이션의 데이터 송수신
외부 전력 공급 여부에 따라 센서의 측정 주기가 달라진다. 아두이노를 통해 전송된 RAW 데이터는 파이어베이스로 전송되고, 사용자는 앱을 통해 RAW 데이터를 해석한 그래프를 확인할 수 있다. 물이 공급됐거나 외부 물통의 물이 다 떨어졌다면 앱으로 알림을 보낸다. 여기서 센서와 서버는 단순 숫자화된 값들만 저장하고 있기에, 많은 용량을 필요로 하지 않아 작은 서버와 아두이노키트로 해결을 하며, 대신에 애플리케이션이 데이터를 해석하는 구조로 제작하는 것을 목표로 한다.
(다) 외부전력의 적절한 배터리충전과 생장등의 작동조절
외부에서 충전기를 이용하여 배터리를 충전할 수 있다. 배터리 전원은 아두이노와 생장등 두 곳에 공급되며 사용자는 생장등을 작동시킬 것인지 스위치로 선택할 수 있다. 생장등은 자바라 형태로 측면에 부착되어 사용자가 원하는 높이와 위치에서 빛을 비출 수 있다. 실내가 아닌 베란다에 꺼내두는 등 외부 전력 공급이 없을 때 사용자는 생장등을 꺼서 전력 소모를 줄일 수 있다. 다만 현재의 기기 목표상태로는 외부 전원 공급 없이 생장등을 작동시키키는 힘들기에, 이러한 작동은 예외로 하여 설계를 한다.
(라) 전체적인 하드웨어 및 배치
기본적으로 원래 있던 화분을 그대로 사용할 수 있다는 것을 목표로 하기 때문에 화분을 지탱할 만큼 튼튼한 구조여야 하며, 화분의 사이즈와 식물의 다양한 크기에 맞춰 유연하게 배치할 수 있는 형태를 목표로 한다. 목표 기간인 2주간 전원 공급 없이 물을 공급하고 데이터를 전송해야 하므로 전원 효율을 신경 써서 알고리즘을 작성한다. 또한 각종 배터리와 센서들이 크게 심미성이 어긋나지 않는 선에서 배치하되, 작동에는 오류가 발생하지 않도록 한다.
관련 기술의 현황
State of art
현재 자동으로 식물을 키우는 것과 관련된 시장은 크게 두가지로 나눌 수 있다. 일반적으로 수경 재배를 통해 큰 규모로 온, 습도, 양분, 심지어 수확까지 자동으로 수행하는 스마트 팜 형태와 가정용으로 화분 형태로 만들어지는 스마트 화분 형태이다.
스마트팜 기술은 크게 3세대로 나눌 수 있다. 센서 데이터를 수집하여 원격에서 감시하고, 농장을 원격으로 제어하는 1세대, 측정된 센서 데이터와 빅데이터를 통해 최적생산을 위해 창문, 팬, 관수, 양분 등을 자동으로 제어, 공급하는 2세대, 여기에 에너지 관리와 로봇의 자동 수확이 더해지는 3세대로 나뉘어진다. 현재 스마트팜 기술은 최적관리 로봇과 지능형 농기계를 사용하는 3세대엔 미치지 못하였고 2세대까지는 발전되었지만 2세대의 특징이라고 할 수 있는 빅데이터를 활용한 최적화 학습 등은 초보적인 상태이다. 최근엔 LG와 같은 기업이 가정용으로 냉장고 크기의 식물공장 등을 출시하고 있다.
한편 스마트 화분 기술은 스마트팜과 다르게 기업 규모의 투자가 이뤄지지 않고 있다. 몇몇 벤쳐 회사에서 펀딩 등을 통해 제품화에 성공한 경우가 대다수이다. 이러한 스마트 화분의 일반적인 특징은 토양의 습도, 화분 근처의 광도, 온도 등을 측정하여 사용자에게 알려주는 정도거나 타이머를 이용해 일정 주기마다 물을 준다. 가정용 크기에서 물과 양분, 빛 모두를 식물의 상태에 맞춰 자동으로 공급하는 제품은 아직 나오지 않았지만 기술이 발전한다면 충분히 등장할 것으로 생각된다.
기술 로드맵
특허조사
◇사물 인터넷 기반 스마트 화분 및 그 관리 시스템(SMART FLOWERPOT BASED ON INTERNET OF THING AND MANAGEMENT SYSTEM FOR THE SAME)
출원번호/일자 1020160024574 (2016.02.29)
공개번호 10-2017-0101692
본 발명의 일 실시예에 따른 사물 인터넷 기반 스마트 화분은 재배토를 수용하여 식물이 식재되는 용기의 일면에 부착되고, 상기 식물에 관한 고유 식별 정보를 저장하는 전자 태그; 온도, 습도, 일사량, 대기 오염도, 및 상기 재배토의 수분량 중 적어도 하나를 포함하는 상태 정보를 측정하는 적어도 하나의 센서를 포함하는 센서부 ; 상기 전자 태그에 저장된 고유 식별 정보를 판독하는 태그 리더; 사용자 단말기와 무선 통신을 수행하여 상기 태그 리더에 의해 판독된 상기 고유 식별 정보를 상기 사용자 단말기에 전송하고, 상기 고유 식별 정보에 대한 응답으로 상기 사용자 단말기로부터 상기 식물에 관한 재배 정보를 수신하는 무선 통신부; 및 상기 재배 정보를 상기 상태 정보와 비교하고, 상기 비교 결과에 기초하여 상기 식물의 생육에 필요한 정보를 알람으로 제공하는 제어부를 포함한다.
◇스마트 디바이스를 이용한 화분관리 시스템 및 화분관리 방법(System for managing plant pot using smart device, and method thereof)
출원번호/일자 1020160010867 (2016.01.28)
등록번호/일자 1017465960000 (2017.06.07)
본 발명은 스마트 디바이스를 이용한 화분관리 시스템 및 화분관리 방법에 관한 것이다. 본 발명은, 각 스마트 화분에 하나 씩 설치되어 상기 스마트 화분의 습도 값을 미리 설정된 주기에 따라 측정하는 적어도 하나 이상의 아두이노 기반 습도센서 모듈; 상기 아두이노 기반 습도센서 모듈로부터 근거리 무선통신을 통해 습도 값을 수신하여 수신된 습도 값과 매칭되는 색상을 출력하는 스마트 전구; 및 상기 아두이노 기반 습도센서 모듈로부터 근거리 무선통신을 통해 습도 값을 수신하여, 습도 값을 터치스크린으로 출력하며, 각 스마트 화분별로 미리 설정된 주기에 따라 수신된 각 습도 값을 일별 시간의 흐름을 메타 정보로 한 습도 변화 정보로 저장한 뒤, 습도 변화 정보, 그리고 습도 변화 정보의 일별 평균 값을 이용해 다이어리 UI 화면으로 출력하는 스마트 디바이스; 를 포함한다. 이에 의해, 아두이노 보드에 착탈식으로 부착된 습도센서를 이용해서 측정한 화분의 습도 값을 근거리 무선통신을 통하여 사용자의 스마트 디바이스와 스마트 전구로 전송함으로써, 전송된 습도의 값에 따라 관리 계획을 수립할 수 있는 효과를 제공한다.
특허전략
◇현재 출원되어 있는 특허들은 온도, 습도, 재배토의 수분량 등을 센서로 인식하고 전자 태그를 통해 식물을 식별하여 재배 정보와 현재 상태를 비교하고 식물의 생육에 필요한 정보를 알람으로 전달하는 것과 센서로 습도를 인식하고 해당하는 색상을 출력하는 전구를 지니고 이를 터치스크린으로 출력하는 것 등이 있다. 하지만 우리의 과제와 같이 여러 개의 화분을 동시에 관리하고, 적정량의 물을 전원 공급 없이 일정 기간동안 공급하는 형태의 제품은 발견하지 못했다. 또한 우리 과제는 화분 하단에 물 감지 센서를 설치해 화분 하단까지 충분히 물이 젖었을 때 상단의 물 공급을 중단하도록 하는 시스템이 있다는 특징이 있다. 이에 따라 특정기간 동안 전원공급 없이 작동할 수 있으며, 물 공급량 또한 자동으로 조절된다는 점을 중점적으로 특허로 청구할 계획이다.
관련 시장에 대한 분석
경쟁제품 조사 비교
특징 | 가격 | |
---|---|---|
Planty | 일체형 스마트 화분. 조도, 온도, 습도, 물 수위 센서로 식물의 상태 파악. 앱을 통해 이를 원격으로 알려줌. 식물로부터 배수된 물은 구멍을 통해 배출. 3개의 분사구로 물을 골고루 공급. 작동을 위해선 USB 전원이 연결되어 있어야 함.
화분의 크기에 기를 수 있는 식물의 크기가 한정되고 전원이 항시 연결되어 있어야 함. 하나의 식물만 재배 가능 |
119,000원 |
샤오미 Ropot | 수분영양측정/재배정보(어플)/LED상태표시
일체형 스마트 화분. 화분의 수분과 영양상태 센서로 감지해 알려줌. 어플리캐이션에선 5000여 품종에 대한 데이터베이스와 연동되어 식물 찾기 및 재배 노하우 알려줌. 배터리 내장으로 1시간 충전 60~90일 사용 가능. LED의 색상으로 식물 및 장치의 상태 알려줌. 주로 식물의 상태를 알려주는 기능에 치중되어 있고 물을 공급하는 기능은 없음. 역시 화분의 크기에 식물이 한정됨. 하나의 식물만 재배 가능. |
55,000원 |
클릭앤그로우 스마트 가든 3 | 화분과 기기가 하나인 일체형 스마트 화분. 내장되어 있는 물통에 급수 시 타이머를 사용해 시간에 맞춰 약 3주간 자동 급수 가능. 상시 전원을 공급받아 가동. LED 라이트를 통해 태양광이 닿지 않는 실내에서도 식물 성장 촉진. 물통에 내장된 물을 수위 센서로 감지. 3칸으로 나뉘어 있어 각기 다른 식물 재배 가능.
일체형 화분 특성상 기를 수 있는 식물에 제한이 있음. 상시 전원이 필요하며 어플리케이션 연동이 안되어 식물의 상태 파악을 즉각적으로 파악하기 어려움. 회사에서 제공하는 특정 식물에 최적화 되어있어 식물 품종에서 자유롭지 못함. |
189,900원 |
워터 타이머 | 수도꼭지로부터 물을 공급받아 급수하는 키트. 1.5V 배터리 2개로 작동. 버튼을 통해 요일, 시간을 설정하여 일정 시간동안 관수. 가격이 저렴함.
센서가 없이 타이머로 작동해 급수가 필요한 정확한 시간 파악이 힘듦. 수도꼭지와 직접 연결되어 공급되는 수압 조절을 할 수 없어 큰 압력에는 물이 새거나 타이머가 빠짐. 여러 화분에 물을 주기 위해선 별도의 관이 필요. |
35,000원 |
플리워 | 스마트팜 시스템. 태양광, 대기와 토양의 습도, 온도, 전도도 측정을 통해 전반적인 식물의 상태 및 환경 파악. 어플리캐이션 연동을 통해 즉각적인 상태 확인 가능. 관수 연결을 통해 자동으로 물 공급. 내장된 배터리로 1년 지속 가능. 원하는 사용처에 꽂아 넣으면 사용 가능.
일반 가정집에서 사용하기엔 부담되는 가격. 여러 개의 화분에 대한 상태 파악 불가. |
2,100,000원 |
마케팅 전략
Strenghts | Weaknesses |
---|---|
하나의 기기로 여러 개의 화분을 제어 가능
환경 변화에 따라 물 주는 주기가 자동으로 달라지기 때문에 사용자가 신경 쓸 것이 없다 Wi-Fi와 어플리케이션을 통한 원격 제어가 가능 |
화분 각각에 대한 정밀한 검사 힘듦
하나의 화분만을 관리하는 제품보다 비싼 가격 |
Opportunities | Threats |
식품안정성에 대한 우려 증가
식물공장 및 스마트팜에 대한 관심도 증가 코로나 사태로 식물에 대한 관심 높아짐 키우고 싶지만 관리를 못하는 소비자가 많음 |
대기업의 시장 진입으로 완성된 스마트팜 형태의 제품 출시 |
Strenghts | Weaknesses | |
---|---|---|
Opportunities | 기회를 붙잡기 위해 강점을 활용
식물 키우기를 어려워하는 사용자도 제품에 전원과 물을 연결해주기만 하면 편하게 어플로 정보를 받아보기만 하면서 식물의 성장을 관찰할 수 있다. |
기회를 붙잡아 약점을 극복
식물에 대한 관심이 증대된 시기이기 때문에 한번에 복수의 화분을 관리할 수 있다는 점을 어필하여 가격적 약점을 극복한다. |
Threats | 위협을 피하기 위해 강점을 활용
대기업의 제품은 기존 화분을 활용하기보단 정해진 규격의 화분에 상추나 허브 등 식재료를 기르는 식물공장에 가깝다. 우리의 과제는 기존 화분을 그대로 사용할 수 있다. |
약점과 위협을 최소화
여러 개의 화분을 동시에 관리하면서, 기존 화분을 사용할 수 있음을 어필함과 동시에 대기업의 제품보다 작은 규모이기 때문에 가격 경쟁력이 있다는 점을 중점적으로 홍보한다. |
◇소비자 분석
식물을 다수 기르고 있거나 식물을 키우고 싶지만 관리를 힘들어하는 소비자들을 타겟으로 한 상품이다. 시중에는 단일 반려 식물을 대상으로 관리하는 제품들 위주로 출시가 되어있고 일체형인 제품들은 기존의 화분을 사용할 수 없다. 기존에 여러 개의 반려 식물을 기르고 있는 이들에게 홍보하는 것이 바람직한 전략으로 보인다. 더 나아가 반려 식물 상품 소비자의 연령대가 다소 높은 점(30대 22% 40대 40% 50대 26%)3)을 활용해 해당 연령층이 자주 사용하는 정보매체를 통해 광고를 실시한다. 해당 소비자들을 통해 제품의 첫 시장진입을 한 후 그들의 사용 후기들을 바탕으로 홍보계획을 수립해 소비자의 범위를 확대한다.
개발과제의 기대효과
기술적 기대효과
◇Wi-Fi를 통해 서버로 화분에 대한 데이터를 전송하며 이를 어플리케이션에서 확인이 가능하다. 또한 화분의 수분량이 특정 값 이하로 내려가는 경우에는 화분의 하단에서 물이 나올 때까지 물을 공급하는 알고리즘을 갖는다. 이를 통해 사용자가 주기적으로 식물에게 물을 주는 불편함을 최소화시킨다.
◇하나의 기기로 여러개의 화분을 제어 가능하다. 기존 스마트 화분의 경우에는 개당 5만원에서 10만원 정도의 비용으로 1개의 식물을 재배하는데 이는 부담하기 힘든 비용이라고 할 수 있다. 이러한 단점을 보완하기위해 하나의 기기로 한 번에 여러 개의 화분을 제어함으로서 사용자가 느낄 수 있는 비용적 부담을 줄인다.
◇ 저전력 설계로 배터리를 이용하여 전원 공급 없이 최대 2주간 작동하게 하여 전원이 닿지 않는 곳이나 외출시에도 활용할 수 있다. 이를 통해 사용자가 식물에 관심을 주지 않아도 안정적으로 식물을 키울 수 있도록 한다. 이것을 발전시켜 향후 소형 태양광 패널 등을 부착하여 창가에서 자가발전을 하며 작동하는 형태로의 발전도 기대해볼 수 있다.
경제적 및 사회적 파급효과
◇ 성인 남녀 2000명을 대상으로 조사한 결과 응답자의 28.7%가 즉각 심리지원 등의 도움이 필요한 상태이며, 건강보험심사평가원의 우울증 관련 진료 현황에서 2020년 상반기 우울증 진료 인원은 59만 5724명으로 전년 같은 기간 대비 5.8% 증가했다.4) 반려식물을 키우는 것을 통해 우울감과 외로움을 해소할 수 있으므로 코로나 사태 속에서 개개인의 식물 재배 능력과는 상관없이 집 안에서 푸른 식물을 볼 수 있다는 것은 코로나 블루 해결과 코로나 블루로 의한 사회적 비용의 감소에 도움이 된다.
◇ 예전엔 식물을 키웠지만 지금은 키우지 않는 사람들이 식물을 키우지 않는 이유로 가장 많이 꼽은 것은 관리하기가 힘들다는 것이었다. 농림수산식품기술기획평가원에 따르면 식물 재배기를 통해 생산되는 새싹 채소나 양액 재배 채소 시장의 규모는 2016년 700억원이었던 것이 2020년에는 1082억원까지 늘어날 것으로 보인다. 이 기기가 보급되어 사람들이 식물을 키우기 쉬워진다면 그만큼 가정용 식물 시장의 수요도 증가할 것이다.
구성원 및 추진체계
(1) 구성원 및 역할 분담
(2) 전체 추진 계통도
설계
설계사양
가. 제품 요구사항
○ 목적계통도
프로젝트의 결과물의 화분 관리장치의 목적은 크게 3개로 나뉜다.
기기의 성능을 나타내는 정확성은 여러 개의 화분에 대해 원하는 만큼의 물을 급수하는 기능이 가장 중요하다. 센서로부터 특정치 이상의 값이 검출되면 펌프의 작동/정지 여부가 결정되며 여기서 가장 정밀한 기기의 성능이 요구된다. 나아가 유체를 관리하는 장치인 만큼 그로 인해 기기의 성능에 영향을 받지 않는 구조로 설계할 필요가 있다.
경제성은 우선 제작하는데 소요되는 비용을 최소화하여 각 가정에서 화분에 추가로 투자하는 비용을 최소화할 수 있게끔 구성요소를 선택하고 설계한다. 또한 장치의 장기간 이용이 가능하도록 부품의 유지보수를 용이하게끔 기기를 설계한다.
편의성은 애플리케이션과의 연동을 요구한다. 화분의 상태를 직접 보지 않아도, 전문적인 지식이 없더라도 파악할 수 있게끔 도와준다. 나아가 배터리를 통한 휴대 전원과 화분과 기기간의 거리를 길게 설정해 설치하는 장소의 제약을 최소화한다.
○ QFD(Quality Function Deployment)
요구특성에는 제품의 요구사항을 바탕으로 사용자가 제품에 있기를 원하는 특성을 작성하였으며 기술특성에는 제품에 들어갈 특성들을 작성하였다.
기술특성의 각 항목에 대해 설명은 다음과 같다. 자동 급수 시스템은 화분에 물을 자동으로 공급하고 공급을 중지하는 시스템에 대한 구현을 나타낸 것이며 센서를 통한 감지는 우적 센서 및 토양 습도 센서를 통해 화분의 정보를 수집하는 것을 의미한다. 제품 유지 관리는 제작하려는 제품의 유지 관리에 해당하는 항목이며, 동작 시간은 한정된 배터리에 대해서 얼마나 오랜 시간 작동가능한지에 대한 항목이다. 원격 제어는 어플리케이션을 통해 사용자가 화분에 가까이 가지 않고 제어하는 것을 나타낸다.
기술 특성의 항목에서의 다른 항목과의 상관관계는 5가지가 있었다. 자동 급수 시스템은 센서를 통한 감지와 양의 상관 관계에 있으며 이는 센서가 감지한 데이터를 바탕으로 자동 급수 시스템이 제어되기 때문이다. 자동 급수 시스템은 동작 시간과 음의 상관 관계가 있으며 이는 급수 시스템의 작동에 배터리가 소모되기 때문이다. 자동 급수 시스템은 원격제어와 양의 상관관계가 있으며 이는 자동 급수 시스템이 원격 제어에 의해 실행되기 때문이다. 센서를 통한 감지는 동작 시간과 음의 상관 관계를 지니며 이는 센서의 작동에 배터리가 소모되어 동작 시간에 영향을 미치기 때문이다. 동작 시간은 원격 제어와 음의 상관관계가 있으며 이는 원격 제어가 발생하면 배터리를 소모하여 동작을 하기 때문이다.
중요도와 요구특성과 기술특성의 연관도를 곱한 값을 모두 더해 중요도를 평가하였으며 이 결과에 따라 자동 급수 시스템, 센서를 통한 감지, 원격제어, 동작 시간, 제품 유지 관리 순으로 우선순위가 정해졌다.
나. 평가 내용
1. 물 공급 정확도: 유적센서 감지로부터 급수 정지까지 걸리는 시간 10회 측정 / 시간 / <1s
2. 오작동: 100회 급수 이후 기능의 변화 / 백분율 / <5%
3. 배터리작동동작시간 : 30000mA 배터리 하루 소모량 / 소모량 / 10%
4. 어플리케이션 동작 속도: 어플리케이션 10회 동작 서버 반응속도 / 시간 / <100ms
5. 기기로부터 화분의 거리 / 거리 / 2m +-10%
6. 기기로부터 물공급원의 거리 / 거리 / 1m +-10%
개념설계안
◇올인원형
구조는 위 그림과 같다. 전체적으로 전원부 , 펌프, 급수 부 , 센서, 배수부 , 생장 등으로 이루어져 있으며 기기 위에 화분을 거치하는 형태의 디자인이다. 기판을 포함한 모든 요소는 본체 내부에 내장되어 있으며 충전 포트, 고무 호스, 배수통 , 센서 선 만 외부로 노출 되어있다.
화분을 본체의 윗부분에 파여진 홈 위에 올리고, 센서와 급수 호스를 화분에 설치한다. 그리고 펌프를 외부 물통에 담 가 두고 앱을 통해 제어를 시작한다. 만약 창가나 실외 등 햇빛이 비치지 않는 장소에서 기를 경우 본체에 내장되어 있는 생장등을 꺼내어 화분 위에서 아래로 비추도록 고정한다.
화분에 장착된 토양 습도 센서의 값이 일정 수치 아래로 떨어지면 급수를 한다. 급수 펌프의 작동이 멈추는 것은 본체 배수부에 설치된 물 감지 센서 에 물이 감지되었을 때 다. 화분 밑으로 물이 나오기 시작하면 화분 전체가 충분히 젖은 것이므로 급수를 중단한다. 나온 물은 배수부 슬롯에 저장되고 사용자가 원할 때 버릴 수 있다.
생장등은 앱 세팅에 따라 24시간 킬 수도, 주간에만 킬 수도 있다. 다만 생장등의 전력 소비량이 다른 부품들에 비할 수 없을 정도로 크기 때문에 생장등 사용은 전원이 연결되었을 때만 하는 것이 좋다. 전원이 연결되어 있지 않고 보조배터리의 전력만으로 구동하는 경우 생장등을 키지 않고 자연채광을 이용해야 한다.
◇자가발전형 (반영구지속형 )
자가발전형 의 구조는 위 그림과 같다 . 동력생성부 , 동력제어부 , 센서부 , 물통으로 크게 나누어져 있는 디자인이다 . 태양열판은 식물을 약간 가리더라도 에너지를 생성해야 하기에 위에 배치되어 있다 . 전체적인 화분의 형태는 원통형이되, 소형화 모델이므로 , 크지 않은 식물로 고려하여 제작한다. 적절한 물통이 하단부에 필요로 하므로, 식물대비 화분의 크기가 비대해질 수 있다.
동력센서부와 제어부는 태양열에서 발생되는 전력에 의존하며, 따라서 전력을 최소화하기위해 긴 주기마다 체크하는 형식이 될 것이다. 또한, 물통에서 펌프의 힘이 적절하게 작동해야하므로 , 그 펌프또한 동력을 최소로 필요로 하되, 작동주기가 길어질 것이다. 따라서, 실시간으로 데이터를 확인하는 것은 힘들 수 있다.
토양센서는 적절한 상태를 인식하여 보드로 값을 전달해주고 , 서버에서 값을 받아들여 소비자에게 적절한 데이터로 변환하여 제공하는 형태이다 . 물의 공급의 경우 하단부 센서에서 인식하여 적절한 양을 넘은 경우 급수를 차단하는 형태이다.
추가 장치나 관리없이 자율시스템이라 관리가 용이한 측면이 있으나 , 전력제한이 있고 , 태양열의 효율이 한국지리상 높지 않으며 , 소형화 모델이라 높은 곳에 설치하지 않으므로 추가적인 전원이 필요할 수 있다 . 외부 배치이다 보니 이물질이나 오염에 노출되어 있으므로 이에따라 물통에 거름망 등을 필요에 따라 추가로 배치해야 한다 . 따라서 초기 설치환경에 대한 고려가 필요 하다.
◇중앙관리형
본 프로젝트의 설계안 중 중앙관리형 방식은 화분에 장치를 자유자재로 장착, 탈착하는 것을 주된 특징으로 한다. 기존의 화분 관리기는 많은 기능을 수행하지만 그만큼 전력을 많이 필요로 하므로 상시 전원을 공급받아야 한다. 그래서 전원 연결이 되지 않으면 화분의 기능이 모두 정지되므로 전원 공급이 가능한 곳에서 전원 연결선의 길이 내의 범위에만 화분을 위치시켜야 한다. 따라서 화분을 두어야 하는 위치에 제약이 생기고 이동성의 단점을 가지게 된다. 또한, 장치가 물과 접촉할 확률이 높으므로 상시 전원 방식에선 감전의 위험성도 있다.
이러한 단점을 개선하기 위해 중앙관리형 타입의 화분 관리기에선 상시 전원 공급 방식 대신 배터리 전원 공급 방식을 채택한다. 사용자는 화분을 사용하기 위해 배터리를 충전하고, 배터리는 장치의 각 파트에 전원을 공급한다. 배터리는 최대 14일 동안 지속하며, 배터리 수명을 최적화하기 위해 센서 측정 주기를 길게 설정하고 서버와의 정보 송수신은 최소화한다. 장치는 동시에 최대 4개의 화분을 관리할 수 있으며 화분마다 급수관과 센서 선을 장치와 연결한다. 화분에 장착하는 센서는 토양 표면의 토양 습도 센서와 화분 밑면의 누수 감지 센서로 이루어진다. 급수관은 먼저 장치에 하나의 메인 급수관이 들어가고 장치 내부의 4 way 솔레노이드 밸브를 통해 네 방향의 급수관으로 분리된다. 급수가 필요하다고 판단되는 화분은 솔레노이드 밸브에서 선택적으로 포트를 오픈해서 물을 흘려보내도록 한다. 만약 급수가 필요한 화분이 동시에 두 개 이상이 있으면 우선순위를 두어 하나씩 급수를 완료한다. 장치의 외형은 화분이 위치한 배경과 심미적으로 조화롭도록 모서리가 둥근 직육면체로 설계한다.
중앙관리형 방식의 화분 관리기는 항상 전원선이 연결되어 있을 필요가 없으므로 사용자가 자유자재로 화분과 장치를 옮길 수 있다. 그래서 화분을 낮엔 창가에 두어 광합성 시키고 밤엔 탁자 위에 두는 등 이동성의 장점을 누릴 수 있다. 또한, 전력 소비를 최소화해서 에너지 사용 효율을 극대화하는 장점이 있다.
중앙관리형 방식의 화분 관리기가 가지는 일반적인 제품과 다른 특징은 원거리에 있는 다수의 화분을 동시에 관리하기 때문에 메인 물 공급 호스가 최대 네 군데의 호스로 분리된다는 것이다. 이것은 4 way 솔레노이드 밸브의 제어를 통해 달성할 수 있어서 구현이 수월하여 실현 가능성이 높다. 또한, 장치 외형이 단순하고 내부 부품 구성이 간단하므로 다른 방식에 비해 유지 보수하기가 편리하다는 장점이 있다. 마찬가지로, 같은 이유로 인해 장치의 크기와 무게가 작고 가벼우며, 장치 내부에 물탱크를 두고 물을 보관할 필요도 없다. 무엇보다도 중앙관리형 방식의 가장 큰 장점은 하나의 장치로 다수의 화분을 동시에 관리하므로 화분당 소모되는 비용이 저렴하다는 점이다. 위와 같은 이점을 높게 평가하여, 본 프로젝트의 개념설계안 중 중앙관리형 방식의 안을 채택했다.
이론적 계산 및 시뮬레이션
1) 이론적 계산
본격적인 설계에 돌입하기 전에, 제품의 사이즈를 결정해보았다. 최대한 작은 크기로 만들겠다는 목표가 있었기 때문에 종이 위에 실제로 부품들을 배치해서 어느 정도 공간을 차지하는지 확실하게 보고자 했다. 부품을 배치한 뒤엔 최소한의 여유 공간이나 전선 등이 빠져나갈 곳을 제외하고는 부품간의 간격을 최대한 좁혔다.
초기 디자인에는 2층에 배터리와 아두이노를 포함한 모든 전자부품이 위치하고, 1층에 호스와 솔레노이드만 위치하는 구조였다. 하지만 공간 활용을 위해 배터리를 내리기로 결정했고, 배터리가 호스를 방해하지 않게 하기 위해 1층에 받침대를 두고 배터리를 받침대 위에 두었다. 그리고 브레드보드 , 릴레이 등 2층의 부품들도 2층 벽면에 세우는 디자인으로 공간을 최대한 활용하고자 했다.
학교의 3D 프린터의 베드 최대 크기는 가로세로 15cm, 권장 크기는 14cm였기 때문에 우리가 최대한 줄인 결과물인 19cm를 제작할 수 없었다. 따라서 이 부분은 외주로 진행하기로 결정하였다.
2) 전체적인 사용자 시뮬레이션
중앙관리형 스마트 화분 관리기는 크게 3가지 부분으로 구성되어 있으며 이는 각각 어플리케이션과 아두이노 , 그리고 데이터베이스인 Firebase에 해당한다. 사용자는 어플리케이션을 통해 중앙관리형 스마트 화분 관리기를 조작한다. 이 과정에서 사용자의 데이터는 Firebase에 저장되며, 어플리케이션을 통해 사용자는 Firebase 내 존재하는 값을 변경하고 이 값을 스마트 화분 관리기에서 해당 데이터를 받아 화분 관리를 진행한다. 스마트 화분 관리기에서는 화분에 장착된 센서 값을 Firebase로 전송하여 저장하고 사용자의 어플리케이션에서는 Firebase에서 해당 값들을 받아와 사용자에게 화분에서 받아온 데이터를 보여주는 방식으로 작동한다. 자세한 설명은 어플리케이션과 아두이노의 작동은 소프트웨어 설계 부분에서 진행할 것이다.
조립도
본 제품은 다음과 같은 과정을 통해 조립된다. 기기의 내부는 두 층으로 나누어지며 1층에 부품들을 설치한 후 1층과 2층을 연결한 뒤 2층의 부품들을 설치 후 덮개를 씌우며 마무리가 된다.
1) 1층 조립도
(1) 4-way 솔레노이드[2]를 1층 하우징의 호스 출입구 쪽에 설치한다.
(2) 4-way 솔레노이드[2]의 4개의 배출부와 1개의 공급부에 호스를 연결한다.
(3) 공급부 호스와 받침대 위에 배터리[1]를 거치한다.
2) 2층 결합 및 고정
(1) 1층과 2층의 4개의 경첩 구멍에 핀을 관통해 고정한다.
1) 2층 조립도
(1) 2층 중앙에 아두이노 보드[1]을 설치한다.
(2) 2층 벽면에 브레드보드 [2][5], 4채널 릴레이[3], 1채널 릴레이[4]를 부착한다.
(3) 양옆의 얇은 홈에 4-way솔레노이드 밸브, 센서, 펌프 제어를 위한 점퍼케이블을 통과시킨다.
(4) 상단의 홈에 1층의 배터리와 연결된 아두이노 보드[1]의 충전선을 통과시킨다.
2) 덮개 결합
(1) 덮개를 2층의 결합부에 맞춰 결합한다.
부품도
◇1층 하우징
◇2층 하우징
양쪽에는 전선들이 오갈 수 있는 구멍이 존재하며, 1층과의 접합을 위한 핀 홀이 존재한다. 1층과 마찬가지로 200mm 이내의 길이로 제작하였다.
◇상단 뚜껑부 및 핀
상단 뚜껑부는 적절한 접합이 되도록 공차를 주어 만들었고, 외관상 깔끔하고, 높이를 최소화하기 위해, 두께를 얇게 했다. 핀의 경우, 구멍과의 제작상의 생길 공차를 생각하여 1mm의 차이를 주었고, 길이는 두께가 잘 이어질 수 있도록 설계하였다.
제어부 및 회로설계
◇전체 회로도
전체 회로도는 소조립도와 같은 위치에 같은 부품이 위치하도록 그렸다.
회로는 12v, 5v, 3.3v 총 3가지의 전원으로 구동된다. 12v 전원은 외장배터리의 5v 출력을 12v 승압 케이블을 이용하여 공급하고, 5v와 3.3v는 아두이노를 통해 공급받는다. 그 외에 전선의 색으로 신호, 전원을 구분하였는데 정리하면 다음과 같다.
◇와이파이 모듈
와이파이 모듈은 3.3v 전원으로 작동한다. 와이파이 모듈 내부에 코드를 집어넣으려면 3번 핀을 GND에 연결한 채로 소스를 넣고, 그 뒤엔 3번 핀을 분리해야 한다. 그 외엔 TX와 RX가 각각 아두이노의 디지털 TX, RX 포트와 연결된다.
◇워터펌프 제어
워터펌프는 12v 전원을 사용하므로 아두이노 자체 출력이 아닌 외부 12v 전원을 이용한다. 이를 위해 5v 1채널 릴레이를 사용한다. 전원은 릴레이의 NO 단자에 연결을 해 두어 제어 신호가 들어오면 그때 펌프에 전원이 연결되도록 설계했다.
◇솔레노이드 제어
솔레노이드 또한 12v 전원을 사용한다. 4way 솔레노이드를 사용하기 때문에 릴레이도 5v 4채널 릴레이를 사용했다. 전원은 모두 릴레이의 NO단자에 연결을 해 두어 제어 신호가 들어오면 그때 해당 솔레노이드가 열린다.
◇센서부
센서부는 우측의 토양 습도 센서와 하단의 물 감지 센서가 각각 4개씩 연결되어 있다. 센서에서 발생한 전위차는 모듈을 통해 0~1023 사이의 아날로그 신호로 전환되어 아두이노 아날로그 포트로 입력된다. 5v 전원은 브레드보드를 통해서 공급받는다.
소프트웨어 설계
◇어플리케이션
안드로이드 어플리케이션에서는 스마트 화분 관리기를 제어하는 작업을 진행한다. 사용자는 두 가지 모드를 선택할 수 있다. 자동 모드에서는 사용자가 원하는 기간을 설정하여 물을 공급할 수 있도록 하는 모드이며, 수동 모드에서는 사용자가 공급 버튼을 눌렀을 시에 화분에서 자동으로 해당 화분에 물을 공급하는 기능을 구현한다. 또한 사용자가 화분의 상태를 객관적으로 판단할 수 있도록 화분 관리기에서부터 받아온 토양 습도 센서의 값을 사용자에게 보여주며 한 달동안 물을 준 내역을 어플리케이션 내의 캘린더를 통해 사용자에게 알려주는 기능을 구현한다.
각각의 사용자를 구분하기 위하여 Firebase를 활용하여 로그인을 진행하며 로그인을 진행하기 위한 로그인 페이지와, 회원 가입을 위한 회원 가입 페이지, 그리고 아이디를 잃어버린 사용자를 위한 아이디 및 비밀번호 찾기 페이지를 통해 해당 기능을 구현한다.
사용자가 어플리케이션을 시작하면 로그인 페이지로 이동하며 로그인 페이지에서는 로그인 기능과 회원 정보 찾기 기능, 회원 가입 기능을 사용 가능하다. 사용자 자신의 ID가 없는 경우에는 회원 가입 페이지로 이동하여 ID, 비밀번호, 이메일을 통한 회원가입을 진행하며 해당 정보는 firebase에 저장한다. 회원 정보 찾기 페이지에서는 가입시 사용한 이메일을 firebase 데이터베이스에서 검색하여 가입한 ID와 비밀번호를 사용자에게 알려준다.
제어 페이지를 로딩하는 경우에는 firebase로부터 로그인 시에 입력한 id 하위에 존재하는 데이터들을 가져오며 데이터들은 수동으로 물을 준 날짜와 현재 기기의 상태 등이 해당된다. 제어 페이지에서는 해당 페이지의 스위치를 통해 자동/수동 모드를 변경할 수 있으며, 해당 모드가 변경된 경우에는 데이터 베이스 내 저장된 모드 변수를 변경한다. 또한 사용자가 어플리케이션을 통해 수동으로 물을 공급한 경우에는 현재 날짜를 firebase 서버에 전송하고 제어 페이지 내 캘린더에 현재 날짜를 강조하여 사용자에게 보여준다.
◇아두이노 제어
본 프로젝트에서 아두이노 메가는 토양습도센서 , 우적감지센서의 값을 읽어들이고 , 4채널, 1채널 릴레이 스위치와 연결되어 4 way 솔레노이드 밸브와 수중 모터를 제어한다. 그리고 와이파이 모듈 ESP8266과 연결되어 구축되어있는 파이어베이스에 원격으로 데이터를 전송한다.
1) 와이파이 모듈로 파이어베이스에 데이터 전송
와이파이 모듈 ESP 8266을 이용하기 위해 include 할 라이브러리는 ArduinoJson version 5.13.5이다. 또한 보드 매니저에서 esp8266 보드를 추가 설치해주어 보드 설정을 가능하게 한다. 파이어베이스에 접근하기 위한 라이브러리는 구글에서 제공하며 zip 압축 파일을 다운로드 받아서 아두이노 IDE에서 zip 라이브러리 추가를 수행한다. 그리고 아두이노에서 주변 와이파이를 감지하고 접속하기 위해 와이파이의 SSID와 패스워드를 IDE에 초기에 define한다. 또한 파이어베이스의 고유 데이터베이스에 접근하기 위해 할당된 파이어베이스 호스트 이름과 AUTH를 define한다.
초기 세팅이 완료되면 미리 define한 와이파이의 SSID와 패스워드로 접속을 실행한다. 접속 상태를 확인하기 위해 연결이 될 때까지 시리얼에 0.5초마다 "."을 출력하여 사용자에게 연결 중임을 알 수 있게 한다. 만약 연결이 되었다면 while 문을 빠져나와 "." 출력을 멈추고 연결되었다는 메시지를 표시하고 와이파이의 로컬 IP를 출력한다. 와이파이가 연결된 후엔 파이어베이스에 미리 define한 호스트 이름와 AUTH로 접속을 실행한다. 여기서 접속을 실패하면 실패 메시지를 출력하고 앞으로 돌아간다. 파이어베이스에 접속이 되면 정해진 주기마다 센서에서 가져온 값을 파이어베이스에 전송한다. 여기서 데이터는 float 타입으로 전송하며 파이어베이스의 데이터 저장 방식에 따라 키 값과 밸류 값으로 구분하여 알맞은 값을 배정하도록 한다. 전송되는 데이터의 개수는 최소화하고 데이터 전송 주기를 길게 설정하여 아두이노의 전력 소모량을 최소화한다.
2) 센서 값 수신
중앙 장치에서 각 화분으로 뻗어나가는 센서들은 모두 아두이노로 직접 센싱한 값을 전송한다. 아두이노는 센서를 제어하지 않고 값을 입력만 받기 때문에 모두 pinmode 를 INPUT으로 설정한다. 그 후 설정한 시간 간격마다 각 화분에 연결된 센서의 아날로그 값을 읽어들여온다 . 이 값은 관리자가 센서의 고장유무나 상태를 체크할 수 있게 시리얼에 출력한다. 센서 값을 읽어들여오는 주기와 데이터베이스에 센서 값을 전송하는 주기는 항상 같을 필요는 없으며 전력 상태에 따라 조정할 수 있다.
3) 수중 모터와 4 way 솔레노이드 밸브, 릴레이 스위치
릴레이 스위치는 아두이노 메가에서 직접 제어하므로 pinmode 를 OUTPUT으로 설정한다. 아두이노 메가는 4채널 릴레이 스위치에 연결되고 릴레이 스위치는 전류를 제어하여 4 way 솔레노이드 밸브를 제어한다. 이때 4 way 솔레노이드 밸브는 모터에서 발생시킨 수압을 충분히 유지하여 화분까지 물을 전송하기 위해 최대 한 개의 출구만을 열도록 한다. 그래서 4 way 솔레노이드 밸브는 토양습도센서의 습도가 일정 수준 이하면 해당하는 화분의 밸브 출구를 열고 그 화분의 우적감지센서가 수분을 감지하면 해당하는 화분의 밸브 출구를 닫는다. 만일 동시에 두 개 이상의 화분의 습도가 일정 수준 이하면 앞서서 습도 부족을 감지한 센서의 화분부터 먼저 하나씩 급수를 한다. 수중 모터 또한 솔레노이드 밸브와 함께 급수할 때마다 작동시키고 급수를 중단할 때 작동을 중단시킨다. 이때 만약 수중 모터를 미리 설정한 충분히 긴 시간 동안 작동시켰음에도 우적감지센서에서 물을 감지하지 못하면 공급할 물이 부족한 것으로 판단하고 수중 모터의 작동을 중지시킨다. 각 부품에서 요구하는 전압의 크기가 다르기 때문에, 브레드보드는 두개를 배치하여 각각에 서로 다른 전압을 공급한다. 그에 따라 아두이노에서 내보내는 전압의 핀 번호와 각 부품의 핀번호를 유의하여 알맞게 제어한다.
자재소요서
결과 및 평가
완료작품 소개
프로토타입 사진
1층 내부
2층 내부
외관
호스 및 센서부
포스터
특허출원번호 통지서
개발사업비 내역서
완료 작품의 평가
내용
향후평가
◇ 개발비용의 대부분은 플라스틱 하우징의 3d프린터 출력비용이 상당한 많은 비율을 차지하였다. 따라서, 모형 틀을 만들어, 플라스틱주조를 통해 대량생산을 진행할 수 있으면, 이러한 부분에서 비용 감량을 많이 할 수 있을 것이다.
◇ 식물 쪽에 대한 시장은 점점 규모가 확대되어갈 것이라고 예측된다. 뿐만 아니라, 일반 가정에서 화분을 한 개 씩 키우기도 하지만, 작은 화단을 만들어서 키우는 경우가 많다고 생각되는데, 이러한 부분에서 수요를 취할 수 있다고 생각된다.
◇ 현재 사용하는 센서의 수에 비해 아두이노 자체의 전력공급의 한계가 존재하여, 모든 기능을 구현하진 못 하였다. 따라서, 이러한 부분에 있어서 더 철저하게 설계하면 전력적인 부분에서 효율적이어서 사용기한이 늘어날 것이다.
◇ 센서나 어플리케이션의 추가기능구현에 있어서 확장이 용이하므로, 더 나은 버전의 소프트웨어제공이 가능할 것으로 예상된다.
부록
참고문헌 및 참고사이트
1) 시장조사전문기업 엠브레인 트렌드 모니터 [1]
2) 동아닷컴 [2]
3) G마켓 연령대별 반려식물 상품 구입 비율 [3]
4) '코로나 우울증' 국민 전반 '심각' 상황…강도높은 '심리 방역' 필요 [4]
5 ) 스마트팜 기술 및 시장동향 보고서 - 과학기술일자리진흥원
6 ) [기술 &시장 분석] 식물 재배기(plant grower) [5]
7 ) 이제는 집에서 키운다…웰빙 바람 타고 커지는 ‘식물 재배기’ 시장 [6]
8 ) 2018 중소기업 전략기술로드맵 2019-2021 스마트팜 [7]
관련특허
◇사물 인터넷 기반 스마트 화분 및 그 관리 시스템(SMART FLOWERPOT BASED ON INTERNET OF THING AND MANAGEMENT SYSTEM FOR THE SAME)
출원번호/일자 1020160024574 (2016.02.29)
공개번호 10-2017-0101692
◇스마트 디바이스를 이용한 화분관리 시스템 및 화분관리 방법(System for managing plant pot using smart device, and method thereof)
출원번호/일자 1020160010867 (2016.01.28)
등록번호/일자 1017465960000 (2017.06.07)
소프트웨어 프로그램 소스
NODE_MCU
void loop() {
boolean isEmpty ;
int moisture1=0;
int moisture2=0;
int moisture3=0;
int moisture4=0;
int getNum =0;
int waterT ;
int num=0;
String path= "/device_info ";
//아두이노에서 받은 값을 특정 범위구간마다 분할
getNum =s.read ();
num=getNum /50;
switch(num){
case(0):
moisture1=getNum%50;
moisture1=moisture1*2;
Firebase.setInt(firebaseData,path+"/TriggerField/plant_1",moisture1);
break;
case(1):
moisture2=getNum%50;
moisture2=moisture2*2;
Firebase.setInt(firebaseData,path+"/TriggerField/plant_2",moisture2);
break;
case(2):
moisture3=getNum%50;
moisture3=moisture3*2;
Firebase.setInt(firebaseData,path+"/TriggerField/plant_3",moisture3);
break;
case(3):
moisture4=getNum%50;
moisture4=moisture4*2;
Firebase.setInt(firebaseData,path+"/TriggerField/plant_4",moisture4);
break;
case(4):
//특정상황에대한 값, 물이부족하거나 물을 줬다는 기록을 서버에 남김
if(getNum ==250){
Firebase.setString(firebaseData,"/id_list/a/water_level","Empty");
}
else if(getNum ==210){
Firebase.setString(firebaseData,path+"/TriggerField/plant_1_w","watering");
delay(1000);
Firebase.setString(firebaseData,path+"/TriggerField/plant_1_w","normal");
}
else if(getNum ==220){
Firebase.setString(firebaseData,path+"/TriggerField/plant_2_w","watering");
delay(1000);
Firebase.setString(firebaseData,path+"/TriggerField/plant_2_w","normal");
}
else if(getNum ==230){
Firebase.setString(firebaseData,path+"/TriggerField/plant_3_w","watering");
delay(1000);
Firebase.setString(firebaseData,path+"/TriggerField/plant_3_w","normal");
}
else if(getNum ==240){
Firebase.setString(firebaseData,path+"/TriggerField/plant_4_w","watering");
delay(1000);
Firebase.setString(firebaseData,path+"/TriggerField/plant_4_w","normal");
}
else if(getNum ==245){
Firebase.setString (firebaseData ,"/id_list /a/water_level","Not Empty");
}
break;
//서버에서 받은 값으로 물주는 시간을 다시한번 재정립.
Firebase.getInt (firebaseData ,"/id_list /a/wateringtime ");
waterT =firebaseData.intData ();
if(wateringT !=waterT ){
s.write (waterT );
wateringT =waterT ;
}
break;
}
delay(1000);
}
아두이노
void loop()
{
Stime = 0;
/////////////// Sensor VCC Control ////////////
//digitalWrite (10, HIGH);
//////////////// Moisture Sense ///////////////
moisture0 = analogRead (A0);
moisture1 = analogRead (A1);
moisture2 = analogRead (A2);
moisture3 = analogRead (A3);
///////////// Water Flow Sense ////////////////
water0 = analogRead (A8);
water1 = analogRead (A9);
water2 = analogRead (A10);
water3 = analogRead (A11);
////////////// HIGH = water out ///////////////
digitalWrite (2, LOW); // blue
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, LOW); // yellow
// close solenoid valve at beginning
Stime =millis (); // water supply start time record
while ( moisture0 >=mcrit && water0 >wcrit ) {
digitalWrite (2, HIGH); // Valve open
delay(2000);
digitalWrite (7, LOW); // Motor on
water0 =analogRead (A8); // water sense
Etime =millis (); // water supply mid time record
interval =Etime -Stime ; // water supply time interval
if ( water0 <=wcrit ) { // water sensed
digitalWrite (7, HIGH); // Motor off
delay(2000);
digitalWrite (2, LOW); // Valve close
waterEmpty = 0; // water not empty
s.write (210); //////752
delay(1000);
s.write (245);
break;
} // finish watering after sensing water
else if ( interval >= waitingTime ) { // water not sensed
digitalWrite (7, HIGH); // Motor off
delay(2000);
digitalWrite (2, LOW); // Valve close
waterEmpty = 1; // water empty
s.write (250); //////752
break;
} // stop the pump if sonsor doesn't change(no water left)
}
delay(1000);
Stime =millis ();
while ( moisture1 >= mcrit && water1 > wcrit ) {
Serial.println ("@#");
digitalWrite (3, HIGH);
delay(2000);
digitalWrite (7, LOW);
water1 = analogRead (A9);
Etime = millis ();
interval = Etime - Stime ;
if ( water1 <= wcrit ) {
digitalWrite (7, HIGH);
delay(2000);
digitalWrite (3, LOW);
waterEmpty = 0;
s.write (220); //////752
delay(1000);
s.write (245);
break;
}
else if ( interval >= waitingTime ) {
digitalWrite (7, HIGH);
delay(2000);
digitalWrite (3, LOW);
waterEmpty = 1;
s.write (250); //////752
break;
}
}
delay(1000);
Stime = millis ();
while ( moisture2 >= mcrit && water2 > wcrit ) {
digitalWrite (4, HIGH);
delay(2000);
digitalWrite (7, LOW);
water2 = analogRead (A10);
Etime = millis ();
interval = Etime - Stime ;
if ( water2 <= wcrit ) {
digitalWrite (7, HIGH);
delay(2000);
digitalWrite (4, LOW);
waterEmpty = 0;
s.write (230); //////752
break;
}
else if ( interval >= waitingTime ) {
digitalWrite (7, HIGH);
delay(2000);
digitalWrite (4, LOW);
waterEmpty = 1;
s.write (250); //////752
break;
}
delay(1000);
}
Stime =millis ();
while ( moisture3 >=mcrit && water3 > wcrit ) {
digitalWrite (5, HIGH);
digitalWrite (7, LOW);
water3 =analogRead (A11);
Etime =millis ();
interval =Etime -Stime ;
if ( water3 <=wcrit ) {
digitalWrite (7, HIGH);
digitalWrite (5, LOW);
waterEmpty = 0;
s.write (240); //////752
break;
}
else if ( interval >=waitingTime ) {
digitalWrite (7, HIGH);
digitalWrite (5, LOW);
waterEmpty = 1;
s.write (250); //////752
break;
}
delay(1000);
}
delay(500);
Serial.print ("isEmpty : ");
Serial.print (waterEmpty );
Serial.print (moisture0);
Serial.print (moisture1);
Serial.print (moisture2);
Serial.print (moisture3);
Serial.print (water0);
Serial.print (water1);
Serial.print (water2);
Serial.print (water3);
moisture0 =analogRead (A0);
moisture1 =analogRead (A1);
moisture2 =analogRead (A2);
moisture3 =analogRead (A3);
Serial.println (moisture0);
Serial.println (moisture1);
Serial.println (moisture2);
Serial.println (moisture3);
Serial.println (water0);
Serial.println (water1);
message1 = (1023 - moisture0)/2; // change the result of sensor into percentage of moisture
message1 = message1 / 10;
s.write (message1); // send the percentage to NodeMCU
delay(1000);
Serial.println (message1);
message2 = (1023 - moisture1)/2; //////124397852
message2 = message2 / 10 + 50;
s.write (message2); ///8773
delay(1000);
Serial.println (message2);
message3 = (1023 - moisture2)/2; //////124397852
message3 = message3 / 10 + 100;
s.write (message3); ///8773
delay(1000);
Serial.println (message3);
message4 = (1023 - moisture3)/2; //////124397852
message4 = message4 / 10 + 150;
s.write (message4); ///8773
delay(1000);
Serial.println (message4);
digitalWrite (7, HIGH);
delay(1000);
}
위키페이지 작성을 위한 문법 가이드
- 표
표는 위키 문법에 맞추어 작성할 수 있습니다. Mediawiki table generator를 이용하면 손쉽게 표를 작성하여 위키 문법으로 export할 수 있습니다. 아래는 Mediawiki table generator를 이용하여 작성한 표의 예시입니다. 위 웹페이지에서는 직접 CSV파일을 가져와서 바로 표를 만들 수도 있습니다. 직접 표를 문법에 맞추어 편집하고자 하시는 분들은 wiki 표 문법을 참조하면 도움이 됩니다.
구분 | 실험 1 | 실험 2 | 실험 3 | 실험 4 |
---|---|---|---|---|
결과 1 | 1.1 | 2.1 | 3.1 | 4.1 |
결과 2 | 1.2 | 2.3 | 4.5 | 6.4 |
결과 3 | 5.1 | 5.4 | 2.7 | 8.5 |
- 수식
원래 위키백과에서는 math 태그를 이용하여 바로 수식을 작성할 수 있지만 capstone wiki에서 그 기능은 지원되지 않는것으로 확인됩니다. 따라서 수식을 올리기 위해서는 수식을 사진으로 변환한 후 올려야 합니다. LATEX 수식 생성기 를 이용하면 tex 문법을 이용하여 수식을 작성하여 파일로 저장할 수 있습니다.
위 수식은 support vector machine의 비용 함수를 표현한 예시입니다. tex 문법은 tex 수식 문법 에서 확인할 수 있습니다.
- 사진
사진은 "도구-파일 올리기" 탭에서 파일을 올린 후 아래와 같이 올릴 수 있습니다. 파일명은 파일 올리기에서 정한 "파일의 새 이름"을 사용하면 됩니다.
- 코드
코드는 syntaxhighlight 기능을 이용하여 아래와 같이 표현할 수 있습니다.
#include <iostream>
int main ( int argc, char **argv ) {
std::cout << "Hello World!";
return 0;
}
이에 대한 자세한 내용은 Mediawiki syntaxhighlight를 참고하면 도움이 됩니다.