위즈네트 아카데미

TUTORIAL

튜토리얼

Home  > 튜토리얼

아두이노를 활용한 불쾌지수 관리 프로젝트

WIZnet Academy 2016.08.22 15:37 조회 수 : 60

이번 여름은 폭염이 한달간이나 지속되면서 열대야로 잠못 이룬 날들의 연속입니다.

뉴스를 보면 뉴스에서 불쾌지수에 대해서 얘기를 하지만, 실제 지금 내가 있는 공간의 불쾌지수가 얼마나 되는지는 알 수 없습니다.

이번 프로젝트는 아두이노와 몇가지 센서를 활용해서 현재 내가 있는 공간의 온/습도를 스마트폰 어플리케이션을 통해 확인해 볼 수 있는 어플을 제작해 보겠습니다.

1.주요 동작

  • 아두이노는 3개의 센서와 선풍기와 연결

  • 아두이노는 TCP 서버로 동작하면서, 클라이언트가 접속시 1초 간격으로 센싱된 데이터를 특정 포맷으로 전송

  • 스마트폰으로부터 특정 명령을 수신하면 선풍기 ON/OFF

  • 스마트폰은 TCP Client로 아두이노에 생성된 서버에 접속

  • 3개의 센싱 데이터(온도, 습도, 조도)를 수신해 온,습도로 불쾌지수를 표현한다.

  • 수동으로 선풍기를 ON/OFF 할 수있는 버튼과, 자동으로 ON/OFF할 수 있는 버튼을 생성


 

2. 주요 하드웨어

arduino_pro_1

  • 아두이노 (WizArduino M0 ETH) : 위즈네트에서 자체 제작한 Cortex-M0 기반의 아두이노 호환 플랫폼 보드 입니다. 자세한 사항은 링크를 클릭해서 확인해 주세요.

  • Wi-Fi Shield(WizFi250-EVB) : 아두이노 호환 Wi-Fi 쉴드입니다. 위즈네트의 Wi-Fi 모듈이 장착되어 있어서, 어떤 종류의 아두이노 플랫폼 보드라도 쉽고 간편하게 Wi-Fi 기능 추가를 지원합니다.

  • 온습도 센서(DHT-11)

  • 조도센서(CDS)

  • 선풍기(USB 선풍기)

  • 이 외에 조도센서에 연결되는 저항과 선풍기를 동작시키기 위한 TR, CAP, 저항 등도 포함 됩니다.


조금 허접하지만 각각의 하드웨어를 연결하면 아래와 같습니다.

arduino_pro_2

3. 아두이노 소스코드

아래 Github 링크를 클릭하면 이번 프로젝트에 사용된 소스코드를 다운로드 받을 수 있습니다.

메세지 데이터 11 Byte array이며 포맷은 아래와 같습니다. 본 프로젝트에는 sensor1 (조도), sensor2(습도), sensor3(온도)로 사용했습니다.

arduino_pro_3

 

 

 

 

 

 

 

4. 안드로이드 소스코드

위의 코드를 포팅 후 안드로이드 앱과 연동합니다. 앱에서 제어할 수 있도록 데이터 포맷을 맞추었습니다.

안드로이드 소스코드 Github Link

 

arduino_pro_4

 

앱의 화면은 위와 같이 3단계로 구성됩니다. 각 단계는 온,습도로 계산된 불쾌지수를 수치화 한 것입니다.

불쾌지수가 75% 이하일 때에는 ‘보통’, 80%이하인 경우 ‘높음’, 80% 이상인 경우 ‘매우 높음’으로 보고, 각 단계마다 색깔이 변하면서 지수를 시각적으로 표시했습니다.