dldmsql / DataVase_Project

Python의 데이터 분석과 arduino를 이용한 식물 이름, 특성 추출 앱

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DataVase_Project

집에서 여러 식물을 키우는데 어플 하나 만으로 많은 도움이 될 수 있다. 물을 주는 기능을 하는 아두이노와 설치 및 페어링만 하면 상황에 따라 물을 주게 만들 수도 있으며, 인터넷과 연결만 하면 처음 보는 식물이라도 사진을 찍어 어떤 식물인지 알아낼 수 있다. 물을 주는 것이 귀찮고 번거로운 일이지만 아두이노 하나만 설치해둔다면 어플을 통해 쉽고 간단하게 물을 주며, 어떤 사진이라도 주어진 규칙에 맞게 사진만 찍는다면 어떤 식물이던지 알아낼 수 있다.

아두이노 Arduino

전원 라인

  1. 아두이노 우노 위에 세븐 세그먼트 쉴드 장착
  2. 미니 브레드 보드 기준 길이가 긴 부분에 일렬로 센서와 모듈을 꽂는다.
  • 간섭이 생기지 않게 꽂아준다.
  1. 미니 브레드 보드 임의의 공간에 GND와 VCC 라인을 지정한다. 그리고 릴레이 모듈, 온습도 센서, 토양 센서의 GND(-)와 VCC(+)를 각각 연결한다.
  2. 커패시터를 GND와 VCC 라인에 연결한다.
  3. 릴레이 모듈의 com 단자와 no 단자를 사용해야 하기에, 나사를 풀어주고 com 단자에 연결한 선을 (+) 라인에 연결한다. 그리고 no 단자에 연결한 선을 미니 브레드 보드 아무 곳에 꽂는다.
  4. 모터의 빨간선(+)과 릴레이 no 단자에 연결한 선을 같은 칸에 같이 꽂는다. 그리고 모터의 검정선(-)을 GND 라인의 선과 연결한다.
  5. 블루투스 모듈의 VCC와 GND를 각각 미니 브레드 보드의 VCC와 GND 라인에 연결한다.

신호 라인

  1. 릴레이 모듈의 시그널 라인에 초록선을 꽂고, 미니 브레드 보드 비어 있는 곳에 꽂는다.
  2. 토양센서의 AO에 노란선을 꽂고, 초록선 옆에 꽃는다.
  3. DHT11의 S에 주황선을 꽂고, 노란선 옆에 꽂는다.
  4. 초록,노랑,주황선을 나란히 꽂은 곳 바로 앞에 또다른 같은 색, 같은 순서로 선을 꽂는다.
  • 아두이노와 연결할 선들
  1. 아두이노 쉴드의 5V와 미니 브레드 보드의 VCC(+)라인과 연결하고, 아두이노 쉴드의 GND와 미니 브레드 보드의 GND(-)라인과 연결한다.
  2. 릴레이 모듈(초록선)을 D10와 연결하고, 토양센서(노란선) A3에 연결하고, DHT11(주황선) D12에 연결한다.
  3. 블루투스 모듈(HC-10)의 TX를 아두이노 쉴드의 D8와 연결하고, 블루투스 모듈의 RX를 아두이노 쉴드의 D7와 연결한다.

안드로이드 Android

블루투스 연결 < App build.gradle >

compile 'com.akexorcist:bluetoothspp:1.0.0'

<AndroidManifest.xml >

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

카메라 연결 < AndroidManifest.xml >

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" android:required="true" />

서버 ( python )

opencv 모듈을 이용해 서버로 업로드된 사진과 준비되어 있는 set 비교하여 유사도 측정

수치를 백분율로 나타내 서버에 있는 사진들 중 유사도가 높은 상위 10개의 파일 찾기

10개의 식물의 이름을 알아내 안드로이드로 식물의 이름 반환

About

Python의 데이터 분석과 arduino를 이용한 식물 이름, 특성 추출 앱


Languages

Language:PHP 55.5%Language:Java 20.8%Language:Python 11.3%Language:HTML 6.1%Language:C++ 5.6%Language:Hack 0.7%