비콘을 이용해 위치 인식 후 주인을 따라다니는 스마트 캐리어!

by 이승훈 | 2016-06-10 18:39
android atmega128

안녕하세요 저희 조 이름은 팔로팔로미 입니다.


저희 조가 만든 작품은 스마트 캐리어 인데요!



대략적으로 설명하면 스마트 캐리어 틀 내부에 3개의 비콘을 부착했는데요


이 3개의 비콘이 거리값들을 이용해 블루투스로 연결된 핸드폰의 위치를 인식하고


스마트 캐리어가 핸드폰의 위치를 졸졸 따라다니게 만들었습니다.




1. 구성도 및 모듈 설명도


<구성도 및 모듈 간 연결도>




<사용된 모듈 설명도>


-Atmega128-

 

Atmel 사의 MCU 중 한 종류이며, MCU란 소형화된 중앙처리장치를 말한다.

Atmega128은 보통 LED, 스위치, 부저, 모터, 센서 등 다양한 부품을 실장하여 여러 기능을 시험해 볼 수 있는 개발/실습 키트이다


-초음파센서 (HC-SR04)-

 

초음파센서의 Trigger핀에 10us 길이의 펄스를 입력하면 센서에서 전방을 향해 초음파를 발사한다. 물체에 부딪혀 반사되는 초음파가 돌아오는 시간의 길이를 계산한 후 Echo핀에서 시간의 길이에 비례하는 펄스를 출력한다.

이 펄스를 이용해 물체까지의 거리를 측정하면 된다.

HC-SR04 의 경우 보통 2cm ~ 4M 까지 측정가능하다


-부져-

 

가운데 하얀 원에서 Beep 음을 내는 모듈이다.

Beep 음 제어는 MCU와 연결 후 I/O핀 제어를 통해 하면 된다


-블루투스 (HC-06)-

 

디지털 무선신호를 사용하여 근처에 있는 기기간의 통신을 지원해주는 모듈이다.

RXTX핀을 통해 MCUUSART 통신을 한다


-비콘 (HM-10)-

 

블루투스 기반으로 근거리 내에 감지되는 기기에 정보와 서비스를 제공하는 무선 통신이다.

신호 세기를 통해 거리를 판별하기 때문에 위치 파악을 하는데 쓰인다.

 


-DC모터 (IG-32GM 05TYPE 12V)-

 

고정자로 영구자석을 사용하고, 회전자로 코일을 사용하여 구성한 것으로, 전기자에 흐르는 전류의 방향을 전환함으로써 자력의 반발, 흡인력으로 회전력을 생성시키는 모터이다.

직류 전류를 이용해 회전을 하는 모터이기 때문에 직류모터라고도 한다.

 


 

-DC모터 드라이버 (MDD 10A)-

 

MCU와 모터의 전압과 전류를 맞추어 주기 위해 중간에서 제어해주는 모듈이다.

모터는 MCU에 비해 훨씬 높은 전압과 전류를 필요로 하기 때문에 모터 제어를 하기 위해선 전압과 전류를 증폭시켜주는 드라이버가 꼭 필요하다.

 


-안드로이드 어플리케이션-

 

블루투스 기능이 없는 Atmega128가 블루투스 통신을 할 수 있게 하기 위해서 블루투스 모듈과 MCU를 연결한 후 중간에서 제어하도록 안드로이드 어플리케이션을 제작했다.



2. 제작 과정



제작은 전부 부품들을 따로 사 설계를 하고, 제작했는데요!

제작 과정은 7가지로 나누었습니다.



첫 번째, 스마트 캐리어의 전체적인 디자인 입니다.


             바닥을 1, 2번으로 구분지은 이유는 모듈과 캐리어 놓을 곳을 나누기 위해서입니다.

    1번 바닥면에는 Atmega128, 비콘, 초음파 센서 등 모든 모듈들을 배치해 놓았고,

    (비콘은 정면, 왼쪽, 오른쪽 3곳에 배치)

    2번 바닥면은 캐리어나 무거운 짐을 놓는 칸입니다. 그리고

      내부를 들여다 볼 수 있도록 2번 바닥면은 탈부착 가능하도록 설계하였습니다.

 


두 번째, 스마트 캐리어의 

아크릴판을 드릴로 뚫어서 모터와 연결할 구멍을 만들었습니다.



구멍을 만든 후 모터와 바퀴를 연결했습니다.




세 번째, 바닥은 아크릴로 했지만, 벽은 아크릴보다 가벼운 포맥스 라는 소재로 벽을 만들고

경첩으로 연결했습니다.




네 번째, 모듈들간의 연결은 PCB 판에 납땜하여 연결했습니다.




다섯 번째, 3개의 비콘을 달았는데 서로 전파 간섭이 너무 심해서

서로의 전파를 차단시켜줄 무언가가 필요했습니다.

알루미늄 호일이 전파를 차단하는 것을 이용해 호일로 

종이컵 모양, 하드보드지를 이용한 정육면체 모양, 음료수캔, 커피뚜껑을 이용한 반구 모양

까지 4가지 방법으로 실험을 해본 결과 반구 형태가 가장 차단이 잘 되어서

반구 형태로 결정했습니다.



여섯 번째, 3개의 비콘에 알루미늄 호일로 감싼 다음 안드로이드 어플로 사용자 위치에 따른

비콘 신호를 확인하는데 너무 오차가 심하고 가끔 튀는 값이 나와서

바닥에 아래 사진처럼 부채꼴모양으로 선을 구분시켜 비콘 신호가 정확히 나올 때 까지

실험을 하며 오차를 줄였습니다.




일곱 번째, 스마트 캐리어 벽도 전파 차단을 해야하기 때문에 벽 전체도 호일로 감싼 후

마지막으로 스마트 캐리어 벽과 바닥을 경첩으로 연결했습니다.








3. 프로젝트를 만들면서 사용된 지식 및 기술


첫 번째, Atmega128을 사용 -> c언어와 Atmega128에 대한 기본적인 지식 필요

두 번째, 비콘 테스트와 핸드폰과 블루투스 하기 위해 안드로이드 어플 이용 ->

              안드로이드 스튜디오를 이용하기 때문에 JAVA 언어 필요

세 번째, DC모터를 이용했기 때문에 DC 모터 드라이버로 제어하기 위해 PWM 이용






4. 비콘의 신호 세기에 따른 위치 인식 방법










5. 결과물 설명 및 동영상

              


결과물 설명 : 핸드폰 블루투스를 이용해 안드로이드 앱을 가지고 실행시킬 수 있습니다.

자동 모드와 수동모드가 있고,

수동모드일 경우 RC카처럼 상하좌우 방향키로 조종할 수 있으며 앞에 장애물이 있을 경우 경보음 없이 정지하도록 설계했습니다.

자동모드일 경우 핸드폰 위치에 따라 스마트캐리어가 졸졸 따라오게 되고 앞에 장애물이 있을 경우

경보음이 울리며 정지하도록 설계했습니다.

그리고 핸드폰을 가지고 있는 사용자가 빨리 걸으면 캐리어 속도가 빨라지고

천천히 걸으면 캐리어 속도가 느려지도록 소스코드를 작성했습니다.


동영상: https://youtu.be/cYGYAfuGFL0

         https://youtu.be/dWVpYGKzSJs      



동영상처럼 스마트 캐리어에 물건을 싣고 자동 모드를 키면 스마트 캐리어가

핸드폰을 졸졸 따라오게 됩니다.

저희 스마트 캐리어에 대한 기대효과는

무거운 짐을 직접 들거나 끌 필요가 없어서 사용자의 부담을 줄여주고

본인의 스마트 폰을 이용하기 때문에 실용적이고

캐리어 이외에 무거운 물체도 올릴 수 있으므로 유용하게 쓰일 수 있습니다.


지금까지 스마트 캐리어를 만든 팔로팔로미 였습니다

감사합니다!

댓글 5

스마트 캐리어

비콘을 이용해 위치 인식 후 주인을 따라다니는 스마트 캐리어!

by 이승훈

MADE BY

이승훈

Android, atmega128
비콘을 이용해 위치 인식 후 주인을 따라다니는 스마트 캐리어!현재글