2016년 9월 29일 목요일

똑똑한 지진 안전 알리미

발명 동기
얼마전 경주에서 발생한 지진으로 인해 많은 사람들이 놀랐을 겁니다. 지진은 갑작스럽게 발생하기 때문에, 사람들이 허둥지둥하다가, 사고를 당할 가능성이 많은 것 같습니다.


지진이 발생하면, 사람들에게 대피 요령 등을 알려주는 앱을 만들면 어떨까라는 생각에서 지진 안전 알리미를 발명하게 되었습니다.

디자인
지진 안전 알리미는 진동이 발생할 때, 진동값을 알려주는 진동센서와 진동값을 휴대폰에 전달해 주는 아두이노 및 블루투스로 구성되어 있습니다. 알리미 앱은 앱 인벤터를 이용해 구현하기로 하였습니다.



지진알리미는 다음그림과 같이 진도에 따른 대피요령을 알려줍니다.


작업 과정
작업 과정은 다음과 같습니다.

작업 과정 기록 영상(2016.8월 말부터 10월 초까지)

1. 재료준비
진동센서(SW-420), 블루투스(HC-06), 아두이노 우노, 가스센서(MQ-2), MDF 3T (3mm)

SW-420 진동센서는 지진의 진동을 감지합니다.
MQ-2 가스센서는 LPG가스, 부탄가스(i-butane), 프로판가스(propane), 메탄(methane) , 알콜(alcohol), 수소(hydrogen), 연기(smoke)를 감지합니다.
HC-06 블루투스 송수신기는 무선통신을 지원합니다.

2. 지진 및 가스 센서 장치 조립
보통 아두이노 코딩 방법은 센서별로 인터넷에 공개가 되어 있습니다. 이 소스코드를 이용해, 센서에서 값을 얻었습니다. 이 값은 블루투스 장치를 통해 스마트폰으로 전달해 줍니다.


3. 앱 개발
블루투스를 이용해, 센서 데이터를 스마트폰에 전달해 주기 위해, 앱 인벤터를 사용하였습니다. 다음은 앱인벤터로 코딩한 프로그램의 일부입니다.





블루투스 작업 방법은 한국과학창의재단의 앱인벤터 동영상을 참고하였어요. 여기에는 앱인벤터로 따라할 수 있는 좋은 예제들이 많이 있어요.


대피요령은 진동값에 따라 다음과 같이 조건문으로 처리하였습니다. 대피요령을 만들 때는 지진이 발생했을 때 상황을 인터넷에서 검색해 참고하였습니다.



대피위치는 메이커랜드가 진행되는 장소에서 지진이 발생했을 때 대피할 수 있는 위치를 네이버 지도에서 찾아, 알리미 앱에 코딩하였습니다.

원래 대피위치는 현재 내가 있는 위치에서 가장 가까운 대피소를 찾아서 보여주어야 합니다. 지금은 지진 발생 시 모든 대피 장소를 앱에 입력하는 것이 어려워, 아이디어 차원에서만 구현하였습니다. 지진이 발생할 때 대피할 수 있는 장소 정보를 나라에서 제공해 주면 좋겠습니다.

4완성된 모습
지진 안전 알리미는 다음과 같이 진동이 발생하면, 진도를 알려주고, 진도값에 따라 대피 요령을 알려줍니다. 지도와 연결해, 근처에 대피할 장소도 알려줍니다.






지진이 발생하면, 가스 누출이 되어, 화재가 나거나 사람이 다칠수도 있습니다. 그래서, 가스탐지기를 달아서, 가스 누출이 되었는 지를 알 수 있도록 하였습니다.


댓글 5개:

  1. 멋진 데요~^^ 내용정리가 잘 되어있어서 따라하기 좋아요 ~ 잘보고 갑니다^^

    답글삭제
  2. 요즘 아두이노와 안드로이드 스튜디오로 지진경로어플을 공부중인 학생입니다! 글이 잘 정리되어있어서 많은 도움이 됬습니다~
    제가 안드로이드 스튜디오로 대피경로를 추가하고싶은데 많이 어렵네요ㅠㅠ
    혹시 대피위치에 대한 코딩이라도 알 수 있을까요?부탁드립니다ㅠㅠ
    감사합니다!

    답글삭제
    답글
    1. 위에 내용중" 코딩한 프로그램의 일부입니다. " 라고 씌여진 것 아래에 그림이 5개 있습니다. 5개 중에서 5번째 그림이 대피경로 추가 소스코드입니다. 사진에서 제가 URL써 둔 곳에 대피경로를 추가할 수 있습니다. 네이버 지도에서 대피경로를 태그 한 후, URL을 복사합니다. 그리고 그대로 제가 URL써 둔 곳에 붙여넣습니다. (블록같은건 따라해야하고요) / 도움이 되셨길바랍니다~

      삭제
  3. 안녕하세요 블루투스와 sw420을 연동해서 테스트 해보려는 학생입니다.
    혹시 이에 관한 코드를 조금 알 수 있을까요~??
    가능하시다면 dhsdb1541@naver.com 으로 부탁드립니다~!

    답글삭제
  4. 안녕하세요~ 센서를 2개 사용하려면 프로그램을 어떻게 짜야할까요?

    답글삭제