2014년 창원대학교 정보통신공학과 졸업논문집 gateway

59
2014 GATEWAY 제15회 정보통신기술대전 학부 졸업논문집

Upload: donggyu-park

Post on 13-Feb-2017

1.112 views

Category:

Engineering


12 download

TRANSCRIPT

Page 1: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

2014 GATEWAY

제15회 정보통신기술대전학부 졸업논문집

Page 2: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

목 차

1. 스마트폰을 이용한 자동화 홈가드닝 시스템 ·········································· 3P

2. iOS & Android 용 모바일게임 ······························································· 6P

3. 사물지능통신(M2M)을 이용한 공중시설 관리시스템 ·························· 10P

4. 스마트 디렉션 ···························································································· 15P

5. 스마트 홈 매니져 ······················································································ 18P

6. 트라이톡 - 스포츠 ···················································································· 23P

7. 디지털 오디오 필터 설계 ········································································· 28P

8. 리듬 게임 애플리케이션 ··········································································· 32P

9. 울산 여행 어플리케이션 ··········································································· 35P

10. 웹 캠을 이용한 시력 보호 및 자세교정 시스템 ································· 39P

11. 음향위치인식을 이용한 야구게임 ··························································· 42P

12. 정보통신공학과 모바일 웹앱 ································································· 46P

13. 주변환경에 따라 변화하는 광고판 ························································· 50P

14. 탁구 점수 자동 표시 시스템 ··································································· 54P

Page 3: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 3 -

스마트폰을 이용한 자동화 홈가드닝 시스템Automatic Home Gardening System using Smart Phone

------------------------------------------------------------------------------------------------------------

이재현, 김민지, 황인규

무선기술연구실

E-mail : [email protected]

[그림 1] 도시농업의 현황과 새로운 시도

[그림 2] 자동화 홈가드닝 시스템 개념도

■ 요 약 ■

홈 가드닝의 수요에 부응하고 자동화 영농

시장의 가능성을 고려하여 MCU (Micro-Co

ntroller Unit)을 이용한 자동화 가드닝 시스

템(Automatic Home Gardening System)을

구현하였다.

작물 최적의 생육조건을 제공하기 위해 C

dS(황화카드뮴) Photo Transistor(광센서)와

LED를 이용한 조도제어를, Moisture Sensor

(토양습도센서)와 5V 물 펌프를 이용한 토

양 수분제어, 그리고 Humidity Sensor(공중

습도센서)를 이용한 과습도 환경 제어 및

알람기능을 설치하였다.

또한 이 시스템을 사용자가 원거리에서도

제어할 수 있도록 모바일 환경에서 시스템

을 조작하는 기능을 추가하였다.

I. 서론

도시농업에 대한 관심도 급증과 가정 내

베란다 및 옥상을 이용한 홈 가드닝은

[그림 1]에서 보는 것과 같이 먹을거리에

대한 불신과 유기농 작물 트렌드와 맞물려

큰 이슈가 되고 있다.

이렇게 막대한 성장 가능성을 기대할 수

있는 홈 가드닝 시장에 간결한 Auto Syste

m을 제공한다면 각 가정의 작물 재배에 대

한 부담감이 감소하고 편리한 작물 수확이

가능할 것이라 예상하였다.

그래서 MCU를 사용해 시스템 비용을 줄

이고 일상적으로 보급된 스마트폰으로 MC

U를 제어하는 시스템을 구축하였다.

II. 시스템의 개요

시스템은 [그림 2]와 같이 토양습도센서,

Page 4: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 4 -

[그림 3] 시스템 스케메틱 회로도

[그림 5] 토양과 공중습도 값의 예

[그림 4] 하드웨어 시스템 알고리즘

공중습도센서, 조도센서를 이용해 실시간

재배환경 조사 시스템으로 구축된다. 이 센

서 정보는 중앙제어장치(MCU)로 향하고 임

베디드 시스템을 통해 펌프, LED등의 작동

기를 동작하게 한다.

우리가 사용한 MCU는 Arduino Uno R3 보

드이고 이 제품은 간단한 Web Server를 구

축할 수 있는 기능이 있어 외부 인터넷에 접

속된 스마트폰, 노트북으로 제어할 수 있다.

III. 시스템 구현

III-1 각 센서를 이용한 환경 조사 시스템

[그림 3]은 시스템의 스케메틱 회로도 이

며 [그림 4]는 MCU의 중요 알고리즘이다.

첫 번째, CdS(황화카드뮴) 광센서는 흡수되

는 빛과 저항이 반비례한다. 결론적으로 빛

이 많을수록 많은 전류를 흐르게 한다. MC

U에 입력되는 전류에 따라 작물재배에 부

족하다 예상되는 조도를 LED를 통해 제공

한다. 이 시스템에서 특이한 점은 조도의

문턱 값을 정해 LED를 On, Off하는 것이

아니라 조도 전류와 X Value를 이용해 부족

한 만큼의 조도를 제공할 수 있게 LED를

제어한다. 이는 작물의 생육시간을 단축할

뿐만 아니라 소요되는 전력도 절약토록 한

다. LED는 RGB값으로 LED의 색을 제어할

수 있는 기능을 가진 Adafruit 社의 16 Ne

oPixel Ring을 사용하였다. 그리고 NeoPixel

Ring은 타 LED에 비해 충분한 휘도를 제공

한다. 고휘도의 특성상 전력사용이 다소 높

은데 MCU에서 제공할 수 있는 전력이 기

대에 못 미쳐 건전지를 이용해 전력을 공급

하였다.

[그림 5]에서 보는 바와 같이 토양습도센

서(그림 5에서 SM Value)는 공기 중에서 0

의 값을, 물에 충분히 적신 휴지(흙)에서 10

00의 값을 나타낸다. 항상 촉촉한 토양 조

건을 유지하기 위해 센서 값이 중간 값 50

0 이하로 떨어지게 되면 MCU에 연결되어

있는 물 펌프에서 1초간 물을 펌핑한다. 알

고리즘 한 회전의 시간이 10초이므로 토양

면적이 넓어 1초간의 펌핑으로 수분 수급이

부족한 경우에도 충분히 수분을 공급할 수

있다. 펌프의 경우 MCU에 공급되는 5V 정

전압 어댑터로 충분히 동작이 가능하였다.

공중습도센서(그림 5에서 DHT22)는 최소

0, 최대 100의 값을 나타낸다. 공기 중에

습도가 너무 높을 경우 작물 생육에 방해가

Page 5: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 5 -

[그림 6] MCU과 센서, 작동기의 연결

[그림 7] 자체 웹서버 페이지

되므로 음향적 알람을 통해 사용자에게 습

도 조절을 유도한다. 알람은 작물생육에 도

움이 될 수 있는 클래식 교향악을 담았다.

[그림 6]에서 보는 바와 같이 모든 작동기

와 센서는 MCU와 연결되어있다. 여기서 M

CU 내의 작동기 Enable 변수는 웹이나 하

드웨어를 통해 MCU의 기능을 일부 제한하

거나 전원을 모두 끌 수 있게 한다. 매 알

고리즘의 회전 시 각 작동기의 Enable 여부

를 확인하고 알고리즘의 Skip기능을 구현한

다.

III-2 모바일 단말기를 통한 MCU의 제어

Arduino Uno r3는 간단한 웹 서버 포맷을

제공한다. 이를 이용해 Client(스마트폰)의

접속 요청이 있을 때 [그림 7]과 같은 웹

페이지를 제공하는 코드를 작성하였다. 스

마트폰뿐만 아니라 Browser를 이용할 수 있

는 모든 단말기에서 사용이 가능하다. 이

웹 페이지를 통해 현재 모든 센서 값을 열

람할 수 있고 작동기의 Enable 여부를 설정

할 수 있다.

센서 값 확인 전 Boolean enableSensor

변수가 True인지 체크하고 동작을 실행한

다. enableSensor는 MCU의 첫 실행 시 Tru

e로 초기화 되어있는데 웹 페이지를 통해서

False로, True로 설정할 수 있다.

Ⅳ. 결론

임베디드 소프트웨어를 구성할 수 있는 Ar

duino 社의 제품을 통해 우리는 홈 가드닝

환경에서 작물의 최적 생육조건에 입각한 재

배환경을 위해 급수, 가습, 조명 제어 시스템

을 구현하였다. 이는 가정 내 작물재배에 대

한 시간적 부담감을 감소시키고 막대한 시장

가능성이 있는 홈 가드닝 시장에 자동화 시

스템 초석을 마련했다고 할 수 있다.

이와 더불어 원격으로 관리가 가능한 웹

페이지 기능을 구현하여 네트워크를 통한

MCU 제어와 작물 생육 조건을 열람을 가

능하게 하였다.

나아가 Windows 환경의 Processing을 통

해 작물별 최적 생육조건을 도출하기 위한

빅데이터 수집 및 분석 프로그램 작성의 하

드웨어적 도태가 마련되었다. 이런 주기적

데이터 수집으로 대규모 시설영농으로 확대

가 가능한 시스템을 구축할 수 있을 것이

다.

■ 참 고 문 헌 ■

[1] 마시모 밴지, 손에 잡히는 아두이노, 인

사이트

[2] 톰 아이고, 재잘재잘 피지컬 컴퓨팅 DIY,

인사이트

[3] 김응석, 쉽게 배우는 웹앱&하드브리드

앱, 이지스 퍼블리싱

[4] 아두이노, www.arduino.cc, Arduino 제

작사 공식 웹

[5] Home Garden Community, http://ww

w.instructables.com, DIY Community

Page 6: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 6 -

iOS & Android 용 모바일게임iOS & Android Mobile Game Application

------------------------------------------------------------------------------------------------------------

윤현덕, 백권철

창원대학교 정보통신공학과 정보시각화 연구실(지도교수 박동규)

E-mail : [email protected] , [email protected]

■ 요 약 ■

저희가 개발한 어플리케이션은 하나의 게

임은 3방향에서 나오는 지상, 공중 몬스터

를 주인공캐릭터를 Swipe 제스쳐로 조작하

여 이동하고 주인공을 직접 터치하거나 몬

스터를 터치하여 몬스터를 처치하는 방식의

슈팅게임입니다.

[같은 라인에 있는 장애물을 피해야하는 게

임인 알투비트 - 여기서는 같은 라인에 있

는 장애물은 피하고 아이템을 먹는 방식의

게임이지만 이를 응용하여 같은 라인에 있

는 몬스터만 공격이 가능하게 구현]

[Swipe제스쳐 : 터치한 상태로 상하좌우로

드래그하여 해당 방향에 해당하는 기능을

수행하는 기능]

shop기능을 이용하여 캐릭터나 무기를

구입여 업그레이드를 할 수 있고, 게임결과

를 GameCenter에 등록하여 사람들과 경쟁

할 수 있습니다.

게임은 각각 cocos2D를 이용한 iOS버전과

cocos2D-X를 이용한 Android버전을 개발

하였습니다.

I. 서론

‘D.O.(Defence Ork)’를 처음 기획하게 된

동기는 요즘 모바일 게임이 하루가 멀다 하

고 계속 출시되고 있고 유행을 타는 게임이

생기면 이미지만 바꾸고 플레이 방식이 비

슷한 게임이 줄줄이 나오고 다른 유사게임

들도 따라 나오는 경우도 있습니다.

Page 7: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 7 -

그래서 저희 팀은 게임이용자들에게 새로

운 플레이 방식으로 기존에 있던 게임과는

다른 재미를 느끼게 해주기 위해서 기존에

있던 모바일게임 플레이 방식이 아닌 여러

가지를 섞거나 새로운 방식의 게임 조작 방

법을 가진 게임을 만들어 보고자해서 만들

게 되었습니다.

그래서 저희가 생각한 게임 조작 방법은

이동은 swipe gesture를 하용하고 공격은

터치를 사용하는 게임방식입니다.

개발은 iOS버전은 cocos2D, Android버전

은 cocos2D-X를 사용하여 제작하였고 이미

지 작업은 Adobe Illustrator CC를 사용 하

였고 완성된 이미지들은 Sprite툴을 사용하

여 애니메이션효과를 위한 연속 이미지 작

업을 하였습니다.

난이도는 몇번의 조정을 조금씩 하면서 누

구나 즐길 수 있는 정도로 만들었습니다.

II. 시스템의 개요

D.O.를 구현하기 위해서 cocos2D와

cocos2d-x를 이용하였습니다.

우선 전체적인 프로그램 흐름도입니다.

“[그림 1]시스템 흐름도”참조,

그림과 같이 프로그램이 흘러가며 프로그램

에 사용된 이미지들은 캐릭터와 몬스터의

각 부분을 Adobe Illustrator CC를 사용하

여 만들고 Sprite툴을 사용하여 자연스러운

애니메이션 효과를 만들었습니다.

게임 진행은 주인공이 3가지 위치 중 서있

는 위치에 있는 몬스터만을 공격 할 수 있

는 방식의 게임입니다.

[그림 1]시스템 흐름도

[그림 2] 게임 실행 방식

주인공위 좌우 이동은 swipe를 이용하여 각

각 1칸 씩 이동하게 되고 지상몬스터는 근

접 했을 때 근접무기로 공격, 원거리 몬스

터는 거리 상관없이 원거리 무기로 공격을

할 수 있습니다.

주인공의 좌표를 확인하고 몬스터의 x좌표

와 주인공이 있는 x좌표가 맞으면 공격이

가능하도록 하였고 근접몬스터는 주인공 쪽

으로 접근 하다가 공격 가능한 좌표가 되면

공격할 수 있도록 프로그램을 작성하였습니

다.

Page 8: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 8 -

그리고 더 디테일한 애니메이션을 만들기

위하여 sprite툴을 사용 하였습니다.

[그림 3]에서 보는 것과 같은 방식으로 일

러스트로 부분부분 제작한 이미지를 이용하

여 좀더 디테일한 움직임을 만들었습니다.

[그림 3]Sprite를 이용하여 애니메이션을 만

드는 화면

그리고 shop을 구현하기 위해서 로컬디비

인 MySQL을 사용하여 획득코인, 업그레이

드한 무기와 캐릭터를 저장 할 수 있는 데

이터베이스를 제작 하였습니다.

[그림 4]DB구현 화면

III. 시스템 구현

다음 그림에서 보는 것처럼 게임을 시작하

면 애니메이션으로 간략한 게임 스토리를

보여준 뒤 메인 메뉴가 나옵니다. 메인메뉴

에서는 양족 화살표 모양을 눌러 원하는 메

뉴를 선택 할 수 있습니다.

메뉴로는 게임 시작, 게임 설명, 랭크, 상점

의 메뉴로 구성되며 각각 메뉴를 선택하면

해당하는 레이어로 이동하여 해당 기능을

수행하게 됩니다.

게임 시작을 하면 정해진 3가지 위치에서

몬스터들이 나오며 주인공을 swipe로 좌,우

로 이동하여 몬스터와 같은 칸에 있을 때

공격을 할 수 있습니다.

근거리몬스터는 지정 위치까지 도달했을

때 캐릭터를 직접 터치하여 공격하고, 원거

리몬스터는 몬스터를 직접 터치하여 공격을

합니다.

일정점수가 넘어가면 몬스터들의 외형이

바뀌면서 공격력과 체력이 상승하여 점점

강해져 난이도가 올라가게 됩니다.

[그림 5] 시작 애니메이션, 메인 메뉴,

SHOP, 인 게임

Page 9: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 9 -

[그림 6]케릭터 별로 서로 다른 무기

그리고 SHOP에서는 위 그림과 같이 케릭

터 구매, 케릭터 업그레이드, 각 케릭터 별

무기 업그레이드를 할 수 있습니다.

[그림 7]게임 진행 스크린샷 & Coin획득

그리고 라이프가 ‘0’이 되면 게임이 종료되

고 획득한 점수에 비례하는 Coin을 얻게 됩

니다.

그리고 게임센터로 자신의 점수가 등록됩

니다.

Ⅳ. 결론

X-code프로그램에서 cocos2D와

cocos2D-x를 사용하여 각각 iOS와 Android

버전의 게임을 개발 하였습니다.

게임의 컨셉은 기존에 인기 있었던 게임

방식인 swipe형식의 게임 조작과 디펜스게

임을 합쳐서 만든 새로운 조합의 디펜스 게

임입니다.

적정 난이도와 자연스러운 애니메이션, 다

양한 캐릭터 종류로 인해 많은 연령층이 쉽

게 즐길 수 있고 상점 시스템을 통해 목표

의식을 가지고 게임에 빠져들 수 있도록 만

들었습니다.

그리고 GameCenter의 랭킹 시스템을 통해

승부욕을 자극하여 게임에 더 잘 빠져들 수

도 있습니다.

■ 참 고 문 헌 ■

∎ ivis.cwnu.ac.kr/tc/dongupak/

∎ HeadFirst C# , 한빛미디어 , 2011

∎ HeadFirst Design Patterns , 한빛미디어

, 2005

∎ iOS 7 프로그래밍 , 제이펍 , 2014

∎ iOS 컴포넌트와 프레임워크 , 에이콘 ,

2014

Page 10: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 10 -

사물지능통신(M2M)을 이용한 공중시설 관리시스템

A Machine-to-Machine(M2M) based Public Restroom

Management System------------------------------------------------------------------------------------------------------------

안대건, 배병욱, 최용구

이동통신연구실

E-mail : [email protected], [email protected], [email protected]

■ 요 약 ■

공중화장실은 가정의 화장실과는 다르게

설치 개소의 특성상 불특정 다수의 사람이

함께 이용하기 때문에, 그 내부가 혼잡하고

불결하여 그 이용을 기피하는 경향이 있다.

물론 근래에는 공중 화장실의 청결도가 많

이 개선되고 있는 추세지만 여전히 가정의

화장실에 비해서는 위생상 문제점이 많이

있다. 즉 많은 사람들이 이용하기 때문에

체계적인 관리가 이루어지지 않을 경우 쉽

게 더러워져서 미관상으로 좋지 않기 때문

에 사용자에게 불쾌감을 주고 있다.

따라서 본 시스템은 공중화장실 관리 장

치에 관한 것으로서, 더욱 상세하게는 변기

의 막힘 상태나 고장상태를 정확하게 감지

하여 실시간으로 공중 화장실 이용자 및 관

리자에게 통보함으로써, 쾌적한 공중 화장

실 환경 및 문화를 제공하는 사물지능통신

을 이용한 공중화장실 관리 장치에 관한 것

이다.

I. 서론

글로벌 시대에 발맞춰 우리나라를 방문하

는 외국인 관광객이 해마다 증가함에 따라

공중시설 관리에 필요성이 그 어느 때보다

강조되고 있다. 이러한 공중시설은 사용자

의 의식이 가장 중요시되지만 많은 사람들

이 이러한 시설을 이용하면 자연스럽게 훼

손, 오염이 될 수밖에 없다. 따라서 시설관

리자가 실시간으로 공중시설의 상태를 감지

하여 유지·보수 하는데 도움을 줄 수 있는

장치가 필요하다. 그래서 외국인뿐만 아니

라 내국인들에게도 쾌적하고 청결한 서비스

를 제공하여 선진화된 공중시설관리 문화를

정착시키기 위한 공중시설관리 시스템을 개

발하고자 한다.

공중화장실을 청결하게 운영하기 위해서

는 변기가 정상적으로 동작하는지 등을 수

시로 방문하여 체크하고 또 필요한 조치를

직접 취하여야 한다. 그러나 현재의 시스템

에서는 변기의 이상상태를 알 수 없고, 또

한 변기가 막히거나 고장 나더라도 이를 고

치기 전까지는 사용자는 변기 상태를 모르

고 출입할 수밖에 없어 불쾌감을 느껴야만

한다. 이는 관리자가 변기의 이상 상태를

실시간으로 체크하면서 변기 사용을 통제할

수 없기 때문이다.

이와 같은 변기 막힘이나 고장은 화장실

내에 휴지통을 제거하는 추세에 따라서 더

욱 빈번하게 발생할 것으로 예상된다. 즉

공중 화장실을 더 쾌적하게 유지관리하기

위한 일환으로 외국 화장실의 내부 환경과

유사하게 화장실 내에 비치하는 휴지통을

제거하는 것으로 알려지고 있는 상황이다.

한편 공중 화장실은 상술한 바와 같이 불

특정 다수가 이용하고 있다. 그만큼 변기

Page 11: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 11 -

내부의 청결 상태가 나쁠 수밖에 없다. 즉

변기를 사용하지 않는 경우에 변기 덮개가

열려있으면 그 변기 내부로 이물질 등이 투

입되는 등 청결 상태가 나빠지고, 경우에

따라서는 이물질로 인하여 변기가 막히는

경우도 발생할 수 있다. 뿐만 아니라 변기

덮개가 열려있는 경우 변기 커버가 지저분

해질 수 있어 다음 이용자는 휴지 등으로

변기 커버를 청소하는 번거로움이 있고, 불

필요하게 휴지를 소모하는 문제가 있다. 따

라서 변기를 사용하지 않는 경우에는 변기

덮개가 닫힌 상태를 유지하도록 하여 사용

자의 편의를 도모하도록 하는 것이 필요하

다. 필요에 따라서는 변기 덮개가 닫힌 상

태에서 변기 커버를 살균 소독하는 장치도

제안될 수 있다.

따라서 본 시스템의 목적은 상기한 문제

점을 해결하기 위한 것으로, 화장실 이용자

의 변기 이용 여부를 감지하여 변기 덮개를

자동으로 개폐시키는 사물지능통신(M2M)을

이용한 공중화장실 관리 장치를 제공하는

것이다.

II. 시스템의 개요

2-1. 시스템 개요

제안하는 공중화장실 관리를 위한 M2M

기반의 시스템은 표1과 같은 기능과 각 기

능별 요구사항을 수용할 수 있도록 설계한

다. 이를 위하여 변기의 비정상 상태가 감

지되었을 때, 화장실 관리자에게 효과적인

정보 전달을 위하여 안정적인 통신환경이

요구된다.

기능 요구사항변기 막힘 또는 고장

여부 감지

변기 내부 수위를

기준으로 각각 감지

신속한 후속조치변기가 비정상으로 동작

시, 즉시 관리자에게 통보

변기 덮개 자동개폐사용자의 출입여부에 따른

변기덮개의 자동개폐

표1. 관리시스템의 기능별 요구사항

먼저 변기의 비정상 여부를 판단하는 근

거로는 변기 내부의 수위를 기준으로 한다.

변기 내부수위는 설계 원리에 의하여 항상

일정한 수위를 유지하게 된다. 그러나 정상

적인 배수가 이루어지지 못하게 되면 수위

가 증가 또는 감소하게 된다. 이 때, 측정수

위가 기준이 되는 수위를 초과한다면 막힘

현상이라 판단하고, 기준수위보다 낮을 때

는 고장 현상이라 판단한다. 이렇듯 정상적

인 배수가 이루어지지 못한 상태를 정확하

게 감지하여 관리자에게 실시간으로 통보하

여 신속한 후속조치가 이루어질 수 있도록

하며, 동시에 화장실 출입문에 알림판을 설

치하여 사용 가능여부를 표시함으로써 사용

자가 불쾌한 기분이 들지 않게 사전에 차단

하는 것이 제안하는 시스템의 목적이다.

또한 사용자의 출입여부에 따라 변기덮개

의 자동개폐 기능이 가능하게 함으로써, 변

기 내부로 이물질이 유입되는 것을 막고,

배수 시 화장실 공간으로 튀는 미생물을 차

단하는 효과를 기대할 수 있다.

그림1은 이와 같은 기능별 요구사항을 고

려한 공중화장실 관리시스템의 전체 구성도

이다.

그림 1. 공중화장실 관리시스템의 전체 시스템 구성도

각각의 센서들은 센싱된 정보를 제어부로

전송하고, 제어부는 유/무선 통신부를 통해

통신단말과 정보표시부로 데이터를 전송하

게 한다.

그림2는 초기에 화장실에 출입하는 사용

자를 감지하여 단계별 기능을 수행하고, 마

지막 후속조치까지 이루어지는 제안하는 시

스템의 흐름도이다.

Page 12: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 12 -

그림 2. 공중화장실 관리시스템의 흐름도

2-2. 시스템 설계

제안하는 M2M 기반의 공중화장실 관리시

스템은 화장실 사용자들이 보다 쾌적하고

편리하게 이용할 수 있도록 표 1과 같은 시

스템 요구사항을 위한 기능들을 표 2와 같

이 사용자 측면과 시스템 측면에서 나누어

설계한다.

공중화장실

관리시스템주요 기능

사용자 측면변기 막힘 또는 고장 표시

변기덮개 자동개폐

시스템 측면

변기 내부 수위측정

센서 요청/응답신호를 통한

변기의 동작여부 판단비정상 상태 시, 지정된

통신단말로 정보전송

표 2. 공중화장실 관리시스템의 주요기능

제안하는 시스템의 주요기능을 구현하기

위한 시스템 구성은 다음 그림3과 같다. 변

기와 함께 세 개의 MCU(Micro Control

Unit )로 구성되며 상호간에 통신을 통해

Wi-Fi망을 이용하여 통신단말로 데이터를

전송한다. MCU는 각종 센서 간 호환성이

뛰어나고 이식성이 강점인 아두이노

(Arduino)를 이용한다.

그림 3. 관리시스템의 전체 시스템 개념도

각각의 아두이노에는 결과값을 출력할 수

있는 하나의 정보 표시부(LCD)가 부착되어

있다. 초음파센서가 부착된 2번 아두이노는

Master 역할을 Wi-Fi Shield가 부착된 1번

아두이노는 Slave 역할을 하며 상호 양방향

통신이 가능하도록 설계한다.

초음파센서를 통해 측정된 수위측정값은

변기가 비정상 상태(막힘 또는 고장)인지를

감지하는데 필요로 한다. 이때 측정값이 일

시적으로 증감될 때는 타이머를 계속 0으로

초기화시킨다. 측정값이 유지되었을 때 타

이머를 작동시키며, 측정값이 계속 유지된

채로 설정시간을 경과한다면 그 때의 값을

토대로 상태를 결정짓는다.

변기에 있는 물이 배수되거나 혹은 공급

될 때, 일시적으로 수위가 상승 또는 하강

할 수 있다. 이로 인하여 비정상 상태로 판

단될 수 있다. 이 경우에 일정시간이 지나

면 (고장이 나지 않는다면) 다시 기준수위로

되돌아오므로, 시간을 미리 지정하여 측정

수위가 설정된 시간을 지났을 경우에만 상

태를 판단하도록 한다.

수위측정을 통해 변기 상태를 판단하여

상태가 정상일 경우 LCD에 정상 상태임을

나타나며 타이머가 초기화된다. 이때 관리

자에게 정보는 전송되지 않는다.

Page 13: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 13 -

이외의 경우, 즉 비정상 상태일 경우에는

막힘이나 고장에 따른 상태를 인지하여 관

리자에게 정보를 전송하고, 또한 정보표시

부에 변기 상태를 표시한다.

관리자에게 변기 상태 정보를 전송함에 있

어, 수위측정을 통해 일정 기준으로 판단된

값을 Wi-Fi Shield가 부착된 1번 아두이노를

통해 대표적인 SNS(Social Networking

Service)인 Twitter로 정보를 전송하여 다수의

관리자가 정보를 전달받을 수 있도록 한다.

Twitter 서비스는 실시간으로 다수의 계정

을 향해 동시에 알림메시지를 전송할 수 있

는 장점을 가진다.

그리고 인체감지센서가 부착된 3번 아두

이노는 센싱 결과를 정보 표시부를 통해 사

용자들에게 변기사용 가능여부를 제공한다.

III. 시스템 구현

제안하는 M2M기반의 공중화장실 관리시

스템은 다음과 같은 개발환경을 이용하여

기능 및 성능시험을 위한 시험 시제품(그림

6)을 개발하였다.

실제 구현에 있어 표2의 사용자 요구사항

에 명시된 변기덮개가 자동개폐 되는 기능

은 이미 시제품으로도 출시되어 있으므로

구현대상에서 제외하였다.

먼저 변기 내부 수위를 측정하는 초음파

센서는 최소 2cm에서 최대 3m까지 거리

측정이 가능한 모델을, 통신 기능을 수행하

는 Wi-Fi Shield는 802.11b/g Networks를

지원하는 모델을 사용하였다. 실제 공중화

장실 환경과 유사하게 구현하기 위해 Wi-Fi

망을 구축할 수 있는 장치로는 2.4GHz,

5GHz 주파수 대역을 모두 이용 가능한 모

델의 유무선공유기를 이용하였다.

그리고 초음파 센서, Wi-Fi Shield, 인체감

지센서를 제어하는 MCU는 Arduino를 사용

하였으며, 구현된 기능의 결과 표시는 LCD

를 이용한다.

그림4에는 제안하는 시스템의 하드웨어

구성을 나타낸다. MCU 1과 2는 상호 양방

향 통신이 가능하다. 초음파 센서가 부착된

MCU 2는 센싱값(수위측정값)을 MCU 1로

전송하고, MCU 1은 입력받은 값을 이용하

여 변기상태를 판단한다. 1-1 LCD에는 수위

측정값과 타이머 및 현재시간을 보여준다.

이 때, 변기 상태정보를 설정된 계정의

Twitter로 게시되게 하여, 그 계정을 팔로잉

(following)하는 여러 계정이 실시간으로 푸

쉬알림을 받는 형태로 진행된다. 이후 2-1

LCD를 통해 변기상태정보를 표시한다.

MCU 3은 인체감지센서(PIR : Passive

infrared sensor)를 통해 3-1 LCD에 변기사

용여부를 표시한다.

그림 4. 제안하는 시스템의 하드웨어 구성

그림5는 변기의 비정상 상태가 감지되어

휴대전화로 수신되는 메시지를 보여준다.

문자메시지 내용은 현재시간과 관리자 계정

이 표시되며, 푸쉬알림 형태의 메시지로써

휴대전화마다 설정을 달리 적용하면 알림횟

수도 설정이 가능하다.

[막힘] [고장]

그림5. 제안하는 시스템의 휴대전화의 수신메시지

Page 14: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 14 -

그림6은 제안하는 M2M을 이용한 공중화

장실 관리시스템의 개발 시제품이다. 상단

에 전원부 및 MCU가 위치하며, 좌측과 우

측 측면, 전면 상단에 LCD가 각각 하나씩

위치한다.

그림 6. 제안하는 시스템의 개발 시제품

Ⅳ. 결론

우리나라를 방문하는 외국인 관광객들뿐

만 아니라 내국인들에게도 보다 청결한 공

중화장실을 제공하기 위해 제안된 본 시스

템은 변기상태를 신속하고 정확하게 감지하

여 관리자에게 전송하는 기능이 요구된다.

이를 위하여 본 논문에서는 초음파센서,

인체감지센서, Wi-Fi Shield 등을 이용하여

M2M 기반의 공중화장실 관리시스템을 제

안하고 시험 시제품을 개발하였다.

변기의 상태를 실시간으로 감지하여 비정

상 상태(막힘 또는 고장) 발생 시, 화장실

관리자에게 문자를 전송하고 동시에 화장실

출입문에 설치된 알림판에 상태정보를 표시

함으로써, 화장실 관리자는 기존 공중화장

실보다 효과적인 관리가 가능할 수 있도록

하고, 또한 화장실 사용자들에게는 쾌적한

환경을 제공할 수 있도록 설계 및 구현 하

였다.

제안하는 공중화장실 관리시스템을 실용

화하기 위해서는 안정적인 통신환경 확보와

함께 집적화 기술 등을 통해 하드웨어 경량

화 등을 위한 추가적인 연구가 요구된다.

또한 비면허대역 주파수를 이용하는

Wi-Fi가 아닌 면허대역 주파수(예: 셀룰러

이동통신)를 이용한다면 설치장소에 따라

발생할 수 있는 통신장애를 극복하는데 효

과적으로 대응하여, 보다 안정적이고 신뢰

도 있는 정보전송이 가능할 것으로 기대된

다.

■ 참 고 문 헌 ■

[1] 조화섭, 김병희, 강창순, “시각장애인을

위한 M2M 기반의 지능형 보행보조시스템”,

한국통신학회논문지, 11-03 Vol.36 No.3.

[2] Arduino Forum, “Modified Twitter Library

for the Arduino WiFi Shield”,

http://forum.arduino.cc/index.php?topic=1214

83.0. (Retrieved on June 19, 2014).

[3] Bill, “EasyTransfer Arduino Library”,

http://www.billporter.info/2011/05/30/easytra

nsfer-arduino-library/. (Retrieved on June 19,

2014).

[4] Adafruit Industries, “PIR Motion Sensor”,

http://learn.adafruit.com/pir-passive-infrared-

proximity-motion-sensor. (Retrieved on June

19, 2014).

Page 15: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 15 -

스마트 디렉션Smart Direction

------------------------------------------------------------------------------------------------------------

20083469 박희출

20083470 배광한

창원대학교 정보통신공학과 콤마동아리

E-mail : [email protected]

■ 요 약 ■

본 작품은 많은 차량 운전자들의 운행 시

편의사항을 제공하고 사고의 위험을 방지해

주기 위하여 제작하게 되었다. 안드로이드

운영체제를 사용하는 스마트폰과 아두이노

의 초음파 센서를 이용하여 차선 변경시 사

이드 미러를 통해 확인 할 수 없는 사각지

대에 존재하는 차량의 유무를 확인하여 사

용자에게 알려준다. 개발환경은 Eclipse

Juno 와 Arduino sketch를 이용 하였다.

I. 서론

차량 운행중 차선을 변경 시 사이드 미러

를 이용하는 것이 보통이나 일반적인 차량

의 경우 사이드 미러를 통한 시야에 잡히지

않는 사각지대가 있어 초보 운전자나 운전

이 능숙한 운전자 역시 사고의 위험이 크

다. [그림 1]

이러한 경우 때문에 차선변경에 도움이 되

는 다양한 기술들이 쏟아져 나오고 있는데

대부분 신차들이 제작될 때 차량 내,외부에

적용되어 나오는 점에 착안하여 현대인들의

일상생활에 가장 많이 사용되는 스마트폰

어플리케이션에 활용해 보고자 제작하게 되

었다.

[그림 1] 차량 사이드미러의 사각지대

II. 시스템의 개요

[그림 2] 시스템 구성도

Page 16: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 16 -

본 작품에서 스마트폰과 센서의 역할은

[그림 2]와 같다. 먼저 스마트폰에서

Bluetooth 기능을 통해 아두이노 센서와 접

속하고, 아두이노 센서는 접속되는 즉시 초

음파 센서를 가동하여 사각지대내의 차량

유무를 파악하는 것이다. 여기에 후진, 혹은

골목길 같은 좁은 길목에서의 서행등의 상

황에서 오류 없이 작동이 가능하게 하기 위

해 스마트폰 내의 GPS를 이용하였다. 사각

지대 내에 차량이 근접 하였을 경우에는

TTS를 이용한 보이스 메시지를 통해 이를

빠르게 사용자에게 알려주게 제작되었다.

III. 시스템 구현

1. 시스템 구성

Ⅰ. 초음파 센서 와 아두이노

[그림 3] RC카에 부착된 아두이노

Ⅱ. 스마트폰/ GPS / 지도 / Bluetooth

[그림 4] 속도측정과 현재위치표시

2. 작동원리

초음파센서는 운전자가 사이드미러를 통해

서 감시할 수 없는 영역 즉, 사각지대를 감

시한다. 센서들이 이 사각지대에서 근접하

는 자동차를 발견하면 차량 간 거리를 측정

하고 측정값을 블루투스 모듈을 통해 스마

트폰에 전달하여 경고음이 울린다. [그림 2]

[그림 5] 센서와 스마트폰 간의 측정값 통신

시스템은 3가지 주행상황을 구분한다.

① 자동차의 좌측 혹은 우측에 차량이 근접

할 경우, 스마트폰에서 경고음이 작동한다.

② 근접하는 차량의 거리가 1M 이내일 경

우 주의, 60cm 이내일 경우 경고음이 울린

다. [그림 6] 참조

③ 자동차가 저속(예 : 50km/h 이하)으로

동작하고 있을 경우에는 작동하지 않는다.

[그림 6 경고음 발생 거리]

Page 17: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 17 -

부가기능으로 [그림 4] 와같이 지도를 통해

현재 위치를 제공하고, 지속적으로 현재 위

치를 갱신해 운전자가 이동한 경로를 부가

적으로 보여주게 된다. 이는 낯선 지역을

방문하는 운전자에게 대략적인 위치정보를

제공하여 원하는 목적지를 원활하게 찾아

갈수있게 도움을 줄 수 있다. 또한 총 이동

거리 역시 알 수 있기에 자주 운행하는 구

간의 대략적인 이동거리를 파악 할 수 있

다.

Ⅳ. 결론

[그림 7] 최종 작품

차량 운전자들을 위한 부가기능은 지금 이

시간에도 꾸준히 개발 되어 오고 있다. 획

기적인 아이디어와 걸출한 기술력에 의해

탄생되는 기술이 없더라도 개발이 가능함을

알 수 있다. 우리가 만든 작품은 실제로 현

재 신형차량에는 탑재가 되는 사각지대 경

보 시스템으로써 많은 각광을 받고 있다.

이와 같은 첨단기술을 직접 개발해 보며

좋은 경험을 쌓을 수 있었고, 작품을 기획

하고 개발할 때의 시야가 보다 넓어졌다.

이번 작품을 단순히 여기에서 끝내지 않고,

또 다른 기능의 추가 또는 이를 응용한 다

른 작품의 개발을 계획 이다.

■ 참 고 문 헌 ■

[1] “아두이노 쿡북” - 제이펍(Jpub)

[2] “안드로이드 프로그래밍 정복” - 한빛미

디어

[3] “안드로이드의 모든 것 분석과 포팅” -

한빛미디어

Page 18: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 18 -

스마트 홈 매니져Smart Home Manager

------------------------------------------------------------------------------------------------------------

20083506 임현수

20083507 전민성

창원대학교 정보통신공학과 콤마동아리

E-mail : [email protected], jms

그림 1) 시스템의 전체적인 구조

■ 요 약 ■

본 작품에서는 최근 이슈가 되고 있는 사

물인터넷에서 착안하여 라즈베리파이와 아

두이노 및 스마트폰 간의 소켓통신을 활용

해 어플리케이션을 통해 가정 보안 및 환경

모니터링을 할 수 있도록 제작하였다.

I. 서론

미래를 배경으로 한 영화나 게임 등을 보

면 대부분을 집 내부 환경이나 기기 등을

리모컨 하나로 제어 하는 것을 볼 수 있다.

이렇듯 다가오는 미래에는 주위 사물들을

원격으로 제어 할 수 있게 될 것이다. 또한

최근 생활 속 사물들을 유무선 네트워크로

연결해 정보를 공유하는 환경을 뜻하는 사

물인터넷이 뜨거운 이슈로 떠오른 가운데

수없이 많은 관련기술들이 쏟아져 나오고

있다. 이러한 것들에서 착안하여 원래 집

구조에서 크게 바꾸지 않고도 누구나 손쉽

게 설치 가능한 사물인터넷을 제작하였다.

II. 시스템의 개요

본 작품은 센서를 처리 할 수 있는 아두이

노 부분과 아두이노 센서를 제어 하기위한

안드로이드, 그리고 두 부분의 연결을 위한

서버 역활을 하는 라즈베리 파이로 구성되

어 공유기를 이용한 무선 네트워크를 사용

하여 각각의 단말간에 소켓통신을 통해 정

보를 주고받을 수 있는 방식으로 설계되었

으며 각각 부분별로 다른 프로그램을 사용

하여 구현하였다.

사용자가 집 외부에서 스마트폰을 이용하

여 집 내부의 상황을 손쉽게 알 수 있는 것

이 목적이다. 아두이노의 센서 정보를 이용

하여 집 안 또는 집 외부의 온습도를 파악

할 수 있으며 이전의 온습도 데이터를 이용

하여 그래프로 온도의 변화를 한눈에 알 수

있다. 그리고 집 내부의 창문이나 문이 열

렸는지 닫혔는지에 대하여 정보를 알 수 있

으며 문의 상태가 변할 때 마다 알림을 울

려 사용자가 변화를 쉽게 알아차릴 수 있

다. 또한 현재 집 내부의 전등의 켜짐 유무

Page 19: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 19 -

그림 3) 온도센서

그림 2) 아두이노와 와이파이쉴드

그림 4) 릴레이

그림 6) 라즈베리파이

를 알 수 있으며 외부에서 버튼을 누르는

것으로 켜고 꺼짐을 제어 할 수 있다. 마지

막으로 집 내부에 웹캠을 설치하여 스마트

폰을 이용하여 실시간으로 집 내부의 상황

을 모니터 할 수 있도록 구현하였다.

III. 시스템 구현

(1) 아두이노

아두이노의 전원이 들어오게 된다면 아두

이노와 연결되어 있는 각각의 센서들을 연

결하고 초기화 시킨다. 이후 통신을 위해

아두이노에 연결된 와이파이 쉴드를 통해

공유기로 구성된 내부 네트워크에 연결하며

서버로 구성된 라즈베리파이의 소켓에 연결

하게 된다. 연결이 성공적으로 완료가 되면

현재 동작 중인 센서의 정보(온/습도 센서

(그림 3), 자기센서를 이용한 문 여닫힘(그

림 4), 전력제어를 위한 릴레이의 온/오프

(그림 5))를 서버 측으로 전송한다.

온/습도 정보의 경우 지속적으로 바뀌는

값이기 때문에 주기적인 시간마다 전송 할

수 있도록 구성되있으며 문 여닫힘 정보의

경우 센서에서 여닫힘이 감지될 때마다 서

버측으로 정보를 전송하는 방법으로 구성되

었다. 또한 스마트폰을 이용한 전력제어를

위해 서버 측에서 오는 데이터를 수집하여

릴레이의 정보를 변경하게 된다.

데이터 처리조건과 관련하여 아두이노의

경우 1Byte 이상의 정보를 보내는데 많은

어려움이 있으므로 데이터를 숫자로 전송하

였다. 전송방법은 음의 정수를 전송하여 다

음에 오는 데이터의 정보 여부를 결정하며

이후 데이터를 실제 데이터를 전송하게 된

다. 예를 들어 ‘-1’ 이라는 정보를 전송하게

된다면 다음에 보내는 데이터는 1번 온습도

계의 습도데이터를 보내는 식으로 데이터를

구분하였다.

(2) 라즈베리파이(서버)

그림 5)

자기센서

Page 20: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 20 -

그림 7) XML로 구성한 데이터

그림 8) 실제 모니터링 화면

라즈베리파이용 리눅스인 라즈베리파이를

OS 로 사용하였으며 와이파이 동글을 이용

하여 무선 네트워크에 연결하였다. 자바 프

로그램을 이용한 소켓통신, 웹페이지 처리

를 위한 웹 서버, 웹캠을 이용한 스트리밍

서비스를 위한 스트리밍 서버로 구현하였

다.

가) 소켓통신

자바 프로그래밍으로 구현하였다. 소켓

서버를 구성하여 소켓 연결시 마다 스레드

를 생성하여 연결된 단말의 정보에 따라 처

리를 할 수 있도록 구현하였다. 아두이노에

서 정보를 수집하게 되면 데이터 처리조건

에 따라 각각의 정보를 변수에 저장하며 초

기에 저장되어 있는 정보와 비교, 저장하며

정보변화 시 바뀐 정보를 스마트폰으로 전

송하는 역할을 한다. 스마트폰으로부터 전

력제어를 위한 정보를 받게 되면 현재 저장

되어 있는 정보와 비교하여 차이 발생 시

이러한 정보를 아두이노로 정보를 전송한

다. 뿐만 아니라 아두이노에서 수집한 온/

습도 정보를 주기적으로 데이터베이스에 저

장하게 된다.

나) 웹 서버

웹 서버 구축을 위해 웹페이지 처리를 위

한 APACHE, 데이터베이스 저장을 위한

MYSQL, 데이터베이스와 웹페이지 연결을

위한 PHP 패키지를 설치 하였다. 데이터베

이스에 저장된 온/습도 데이터를 스마트폰

에서 파싱 하기 쉽도록 XML 로 구성된 웹

페이지를 구성하였다.(그림 7)

다) 동영상 스트리밍 서버

라즈베리파이의 USB포트를 이용하여 웹

캠을 연결하여 웹페이지나 스마트폰을 통하

여 실시간으로 모니터링을 할 수 있도록 구

현하였다. 구현을 위하여 GStreamer 이라

는 패키지를 사용하였으며 C 쉘을 이용하

여 스크립트 파일을 이용하여 실행 하도록

구현하였다.

소켓통신을 위한 자바파일과 동영상 스트

리밍을 위해 작성한 스크립트파일은

<rc.local> 파일 하단에 실행문을 작성하여

라즈베리파이의 부팅과 동시에 실행이 되도

록 하였다.

Page 21: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 21 -

그림 9) IP 주소 입력 팝업

메인화면으로 넘어가게 되면 현재 실내/

실외 온도가 한눈에 들어올 수 있도록 구

현하였으며 4개의 버튼을 구성하였으며

버튼에 따라 온/습도 정보, 웹캠 모니터,

문 상태, 조명 상태로 구성하였다.

그림 10) 메인화면의 버튼구성

그림 12)

시간에 따른 온/습도 정보 그래프

그림 13) 전등의 상태 리스트뷰

그림 11) 알람을 이용한 문 열림 감지

(3) 안드로이드

어플리케이션을 실행하게 되면 소켓 연결

을 위한 IP주소를 입력 하도록 구현하였으

며 입력 시에 해당 아이피의 소켓연결 유무

에 아래 부분의 연결 정보가 변하게 되며

연결이 실패하게 되면 IP를 다시 입력 하도

록 팝업이 재생성 되며 성공적으로 연결 시

메인 화면으로 연결 되도록 구현하였다.

온/습도 부분은 XML 홈페이지의 정보를

파싱, 시간에 따른 정보를 그래프로 한 눈

에 파악 할 수 있도록 구현하였다.

웹캠 부분은 스마트폰을 이용하여 손쉽게

모니터하도록 구현하였으며 소켓과 다른 포

트번호를 사용하였다. 데이터를 받는 부분

은 구현되어 있는 소스를 이용하였다.

문단속과 조명 관리부분은 리스트뷰를 이

용하여 확인 하거나 제어 할 수 있도록 구

현하였으며 문단속의 경우 문의 상태가 변

하게 되면 알림을 이용하여 사용자가 손쉽

게 확인 할 수 있도록 구현하였으며 조명관

리의 경우 사용자가 현재 조명의 온/오프

상태를 한눈에 파악하며 버튼을 이용하여

상태를 제어 할 수 있도록 구현하였다.

Page 22: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 22 -

Ⅳ. 결론

사물인터넷 기술은 과거 꿈꿔왔던 공상과

학을 실현 할 수 있는 기술이다. 또한 앞으

로 무한한 가능성이 있는 기술이며 계속 발

전하고 있다.

우리 과제가 이러한 흐름에 미약하게나마

보탬이 될 수 있길 바라며, 누구나 손쉽게

접근 가능하다는 것을 보여 줄 수 있었으면

하는 바람이다.

■ 참 고 문 헌 ■

Page 23: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 23 -

트라이톡 - 스포츠Trytalk Sports

(iOS Mobile Application)

------------------------------------------------------------------------------------------------------------

손진한 박주경

창원대학교 정보통신공학과 정보시각화연구실(지도교수 박동규)

E-mail : [email protected], [email protected]

그림 1-1 미국 AppStore “AAC” 검색결과

그림 1-2 한국 Appstore “AAC” 검색결과

■ 요 약 ■

본 작품은 Objective-C 언어를 기반으로

한 한국어 보완대체의사소통(AAC:

Augmentative and Alternative

Communication) 어플리케이션이다. 보완대

체의사소통(AAC)란 언어장애를 가진 사람들

이 상징이나 문자로 의사소통을 할 수 있게

도와주는 도구 및 기법을 지칭한다.

사용자의 편의를 위해 가변 레이아웃과 사

용자가 직접 문자, 사진, 녹음을 이용하여

데이터를 등록할 수 있게 제작했다.

I. 서론

보완대체 의사소통도구를 의미하는 AAC는

비장애인과 장애인 또는 장애인 사이의 의

사소통을 보조하는 수단으로 활용되고 있

다. 해외에서는 AAC가 많이 보급되고 있지

만 국내에서는 AAC의 보급이 그리 많지 않

다. 그래서 휴대하기 편하고 바로바로 꺼내

쓸 수 있는 스마트폰의 장점을 이용한 AAC

어플리케이션을 개발하게 되었다.

장애로 인하여 언어표현에 한계가 있는

장애인들은 의사소통을 할 때 글로 적거나

그림을 그려서 보여주어야 하는 불편함이

있다. AAC가 있다고 하여도 들고 다니기에

불편하고 사용법을 제대로 익히는데 시간이

소요되는 데에 반해, 본 작품은 휴대하기

편한 스마트폰에 어플리케이션을 설치하여

간단한 터치 몇 번으로 원하는 어휘, 문장

을 대신하여 소리, 글자, 그림 혹은 사진으

로 표현하여 주기 때문에 사용법을 익히기

도 편하고 언제 어디서나 편하게 대화할 수

있다.

현재 Apple 앱스토어에 등록되어 있는

AAC 어플리케이션을 검색해보면 [그림 1-1]

과 같이 해외 AAC 어플리케이션은 많이 등

록이 되어 있지만, [그림 1-2]와 같이 한국

어 AAC 어플리케이션은 2개 밖에 등록되어

있지 않다.

Page 24: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 24 -

그림 2-2 프로그램 동작흐름도

그림 2-1 AVSpeechSynthesizer Class에

관한 설명

한국 어플리케이션 시장에서의 AAC 비중

이 작기 때문에 본 작품이 큰 영향을 끼칠

수 있을 것이라 생각한다.

II. 시스템의 개요

‘트라이톡 – 스포츠’(이하 트라이톡)는

Objective-C 언어를 이용해 구현하였다.

트라이톡은 ios 6.1 이상의 기기에서 작동

할 수 있도록 개발하였으며, 개발용 데이터

베이스는 SQLite를 사용하였다.

문자를 읽어 소리를 내는 기능은 ios에 내

장되어 있는 AVSpeechSynthesizer Class를

이용하였다. 어플리케이션에서 쉽게 활용이

가능하며, 현재 꾸준한 업데이트로 인해 영

어, 한국어 등 다양한 언어의 읽는 소리가

자연스러워 내장 기능을 사용하였다.

트라이톡은 실행시 미리 데이터베이스에서

정보를 일고, AAC 시작시 읽은 정보를 보

이도록 레이아웃에 배치한다. 이 레이아웃

은 사용자가 보기 편한 대로 설정할 수 있

도록 환경 설정에 레이아웃 설정 기능을 추

가하였다.

카테고리를 클릭시 그 다음 하위 카테고리

로 이동하며, 최하위 카테고리를 클릭시 팝

업창을 띄우며 그림을 보여줌과 동시에 카

테고리의 어휘를 소리내어 읽어준다. 이 소

리도 속도와 톤을 조정할 수 있는 기능이

추가된다.

핵심 어휘 설정은 자기가 원하는 대로 어

휘를 추가하여 DB에 저장할 수 있도록 도

와준다. 저장하면 어휘를 선택하면 내가 만

든 어휘 카테소리를 팝업창에 띄워주며 소

리를 낸다.

본 작품 트라이톡은 맥의 Xcode 프로그램

을 사용하여 제작하였다.

III. 시스템 구현

3.1 메인화면의 구성

그림 3-1 트라이톡-스포츠

메인 화면

Page 25: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 25 -

[그림 3-1]은 본 작품의 메인화면으로, 축구

를 하는 아이들의 이미지를 넣어 스포츠 내

용을 담고있음 간접적으로 알리며, 버튼의

색을 이미지와 연관된 색을 바탕으로 하여,

글씨가 또렷하게 보일 수 있도록 검은색으

로 배합하였다. 버튼의 글씨를 선명하게 만

듬으로서 쉽게 읽을 수 있도록 하였다.

3.2 AAC 시작 화면과 카테고리 구성

본 작품에서 스포츠를 표현하기에는 수십

개의 종목이 있어, 이를 다 담아내기에는

한계가 있어 설문조사로 10개의 종목만 뽑

아내어 각 어휘를 담아내었다.

트라이톡에서 가장 최상위 카테고리는 1)

실내스포츠와 2)야외스포츠이다. 각각의 대

(大 )카테고리는 소(小)카테고리 항목을 가

지는데 예를 들어 실내스포츠는 1-1) 배드

민턴, 1-2)농구 등의 카테고리를 가진다. 이

러한 소(小)카테고리를 또 하나의 하위 카테

고리를 가질 수 있는데 예를 들어 1-2-1)선

수가 자유투를 얻었어요 1-1-2)선수가 더블

드리블을 하였어요 등의 하위 카테고리가

있다.

그림 3-2 최상위

카테고리의 AAC 어휘

그림 3-3 농구 카테고리 하위의

“선수가 더블 드리블을 하였어요”

항목의 선택결과

다음 [그림3-2]는 본 시스템에서 사용한 최

상위 카테고리와 AAC심볼 그리고 텍스트의

예이다. [그림3-3]는 사용자가 최하위 레벨

의 버튼을 터치했을 시 볼 수 있는 화면으

로, 터치시 팝업창으로 텍스트와 이미지가

나타나며 음성합성기능을 이용한 텍스트읽

기 기능을 지원한다.

3.3 가변적인 레이아웃

트라이톡은 가변적인 레이아웃과 사용자가

필요한 용어를 추가할 수 있는 핵심어휘 설

정, 그리고 읽는 소리를 조정하는 소리 설

정 기능 등이 있다.

사용자를 위해 설정창에서 레이아웃의 열

의 개수를 2에서 5까지 선택할 수 있으며,

열의 개수에 의해 [그림 3-4]과 같이 레이아

웃은 변하게 된다.

Page 26: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 26 -

그림 3-4 가변적인 레이아웃 기능

3.4 핵심어휘 설정

그림 3-5 사용자가

원하는 단어를 추가

가능

사용자가 원한다면 자기가 필요한 어휘를

추가할 수 있다. 추가시 [그림 3-5]가 나오

며, 이미지를 추가하거나, 단어를 입력하거

나, 따로 소리를 녹음할 수 있다. 혹 이미지

나 소리 녹음 없이 저장한다면, [그림 3-5]

에 보이는 이미지가 기본적으로 지정되며,

입력한 단어를 소리내어 대신 읽어준다. 추

가 및 삭제가 자유로워 사용자가 원하는 대

로 편집이 가능하다.

3.5 소리 설정

그림 3-6 소리의 빠르기,

음높이 조절 가능한 설정뷰

설정에서 소리 설정을 터치시 [그림 3-6]가

같은 화면이 나온다. 읽어주는 소리의 빠르

기와 음높이를 조절해준다. 상대방한테 하

는 말을 들을 때 너무 빠르거나 혹은 상대

방이 들을 시 너무 높은 음이나 낮은 음으

면 알아 듣지 못하는 경우가 발생한다. 상

대방에게 사용자의 표현을 좀 더 잘 전달될

수 있도록 조절해주는 기능을 담고 있다.

미리듣기로 현재 조절한 소리를 들을 수 있

다.

Page 27: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 27 -

Ⅳ. 결론

Objective-C를 이용한 장애인을 위한 대

체 의사소통(AAC) 어플리케이션을 구현했

다. 대상은 포괄적이지만 아이나 장애인을

기준으로 삼아 누구나 쉽고 간단하게 쓸 수

있도록 구현했다. 이미지를 넣어 시선을 유

도하고, 상대방에게 좀 더 의미 전달이 잘

되도록 하였고, 소리의 빠르기나 톤을 조절

해 상대방이 쉽게 알아들을 수 있도록 설정

할 수도 있다. 이외에 자신에게 필요한 단

어를 추가할 수도 있다. 디자인을 간단한

색의 배합만을 이용해 제작하여, 깔끔한 느

낌을 준다.

장애인을 위한 컨텐츠로서 장애인도 일상

생활에서 스포츠에 관하여 비장애인과 소통

할 수 있도록 제작되어, 장애인의 의사소통

을 원활하게 하는 효과를 기대할 수 있다.

■ 참 고 문 헌 ■

1. 박지성·최경화, 인터페이스 빌더 없이 하

는 아이폰 리얼 프로그래밍, 에이콘, 2011

2. Neil Smyth, 핵심만 골리 배우는 ios7

프로그래밍, 제이펍, 2014

3. David R. Beukelman·Pat Mirenda, 보완

대체 의사소통, 학지사, 2008

Page 28: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 28 -

디지털 오디오 필터 설계

Digital audio filter design

------------------------------------------------------------------------------------------------------------

김건용, 오다솜, 강혜림

창원대학교 정보통신공학과 신호처리연구실 ( 지도교수 석종원 )

E-mail : [email protected], [email protected], [email protected]

■ 요 약 ■

본 작품에서는 공업수학용 소프트웨어인

MATLAB을 이용하여 오디오 변조 프로그램

을 개발하였습니다. 이 작품을 통하여 디지

털 신호 처리에 대해 깊이 이해할 수 있습

니다.

이 프로그램은 일반적인 편집 기능(복사, 붙

이기, 더하기, 잘라내기), 마이크를 사용한

녹음기능, 그 녹음된 파일을 불러와서 필터

에 적용 할 수 있는 기능, 분석기능(스펙트

럼분석 그래프 구현), 파일 불러오기, 저장

하기 기능 등을 사용할 수 있습니다.

I. 서론

스마트폰 이용자는 대부분 카카오톡을 사용

합니다. 이 어플리케이션의 기능 중에 보이

스톡이 있습니다. 보이스톡은 전화처럼 상

대방과 양방향 통신이 가능하고 전화와 다

른 점은 음성 효과를 줄 수 있다는 점입니

다. 카카오톡에 있는 음성 변조 효과는 ‘ 말

하는 고양이, 톰’과 ‘말하는 개, 벤’ 두 종류

가 있습니다. 이처럼 음성 변조 효과는 흔

히 볼 수 있습니다.

이러한 보이스톡의 음성 변조 효과를 보고

평소에 우리가 듣는 음악 정보들과 음성신

호들 또한 이러한 툴을 이용하여 다양하게

변화 시켜 보면 사람들이 듣고 싶어 하는

음성 또는 듣기 편하다고 느끼는 음성 신호

를 만들 수 있을 것이라고 생각하였습니다.

대부분 기존에 있는 프로그램은 초보자가

사용하기에는 너무 어려워서 그 프로그램이

활용이 잘 되지 않거나 고급 사용자들만이

사용하고 있다는 것을 알게 되었습니다. 이

러한 이유로 MATLAB을 이용하여 초보자도

쉽게 음성 파일을 편집하게 만들 수 있게

도와주는 프로그램을 만들고 싶다고 생각한

것이 이 프로그램을 개발한 동기가 되었습

니다.

II. 시스템의 개요

본 작품은 MATLAB을 이용해서 개발한 것

으로 오디오 파일을 통해 디지털 신호처리

의 기본을 알고, equalization 과 delay /

reverb 라는 두 가지의 효과를 MATLAB을

통해 실제로 적용해 보았습니다. 그리고 원

본 사운드 파일과 필터에 의해 변형된 버전

을 비교한 후, 각각의 그래프들을 이용하여

필터의 효과에 대해 알 뿐만 아니라 사운드

파일을 분석하고 편집하여 쉽게 다룰 수 있

도록 했습니다.

Page 29: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 29 -

[그림 2] Read From File 버튼의 기능

[그림 1] 메인화면

본 졸업 작품은 오디오 파일 읽기 및 쓰기,

녹음 등의 기능이 가능합니다. 먼저 프로그

램을 실행 시키면 [그림 1] 과 같은 메인화

면이 나타나게 됩니다. 메뉴창을 보게 되면

Data 메뉴에는 파일 불러오기, 녹음 기능,

최근 파일 목록 기능이 있습니다. Edit 메

뉴에는 오디오 파일의 파형을 잘라내기, 붙

여넣기, 전체 선택, 실행 취소의 기능이 있

습니다. Filter 메뉴는 오디오 파형을 필터

에 적용하여 다양한 음향 효과를 넣는 기

능이 있습니다. Analyze 메뉴에는 오디오

파일 분석 기능이 있습니다. Help 메뉴에는

초보자들이 알기 쉽게 필터에 대한 간략한

설명을 입력했습니다.

[그림 3] 불러온 파일

[그림 3]과 같이 불러온 파일의 파형이 나타나

게 됩니다.

III. 시스템 구현

오디오 파일 편집을 하기 위해서는 나타난

메인화면에 [그림 2]와 같이 오디오 파일을

불러온다.

[그림 4] 음성 녹음

또한 이 작품에는 음성을 녹음할 수 있습

니다. 이때는 [그림 4]와 같은 창이 뜨게

됩니다. 녹음된 음성을 불러와 바로 편집

및 저장 할 수 있습니다.

Page 30: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 30 -

[그림 6] Reverbration Filter를 이용한

변조

[그림 5] Flanging Filter를 이용한 변조

[그림 7] Reverse Filter를 이용한 변조

[그림 8] Downsampling Filter를 이용한

변조

Page 31: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 31 -

[그림 5, 6, 7, 8]은 위쪽 파형은 오디오 파

일을 처음 불러온 오디오 파일이고 밑의 파

형이 필터를 이용하여 변조시켜 음향 효과

를 넣은 모습입니다. 이와 같이 다양한 필

터를 이용하여 오디오 파일 전체에 음향 효

과를 추가시킬 수 있고 일부분을 선택하여

추가 시킬 수 있도록 하였습니다. 이 밖에

Audio Sound 조절, Echo 효과, Multiple

Echo 효과, Natural Reverbration 효과,

Band pass, High pass, Low Pass 필터 효과

를 적용 시킬 수 있습니다.

Ⅳ. 결론

현재 우리는 컴퓨터가 주도하는 본격적인

디지털 시대에 살고 있습니다. 최근에는 더

더욱 디지털 신호 처리 기술의 중요성이 대

두되고 있습니다. 예를 들어, 방공 시스템을

구성하는 레이더의 신뢰성을 증가시키기 위

한 목적으로 오디오 데이터 스트림을 추출

하는 데 사용될 수 있으며, 특정 주파수 대

역만을 ‘잘라내고 증폭하여’ 사람이 듣기 편

하게 하는데 사용 될 수도 있습니다. 따라

서 디지털 기술의 고도화로 디지털 오디오

를 다루는 다양하고 강력한 툴이 많이 개발

되었습니다. 이러한 디지털신호처리기술은

우리 주변에서 흔히 볼 수 있는 개인용 컴

퓨터, 휴대폰, 시계, MP3 등 많은 분야에서

응용되고 있습니다. 이러한 디지털 신호처

리 기술을 응용하여 오디오신호들을 다양하

게 변화시켜서 얻을 수 있는 효과를 예를

들어보면 현대 대중가요 등에서 볼 수 있는

기계음 에코 등이 있습니다. 평소 우리가

듣는 음악 정보들과 오디오 신호들을 다양

하게 변화시켜 보면서 우리가 원하는 오디

오 신호를 만들어서 다양하게 사용 할 수

있을 것입니다.

■ 참 고 문 헌 ■

1. ITC, 멀티미디어 신호처리, 2007

2. 아진, MATLAB 고급 GUI 개발, 2011

3. 창원대학교 정보통신공학과, Gateway,

2009

4. http://www.mat-lab.com

Page 32: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 32 -

리듬 게임 애플리케이션Rythme Play Application

------------------------------------------------------------------------------------------------------------

20093458 김재성

20093491 심우용

20093520 정동진

창원대학교 정보통신공학과 콤마동아리

E-mail : [email protected], [email protected], [email protected]

■ 요 약 ■

본 작품은 스마트폰 게임 애플리케이션인

리듬게임을 단순한 소프트웨어 게임이 아닌

아두이노 센서와의 연동을 통한 하드웨어구

성의 소프트웨어 게임을 구현 하였다. 현재

일반적인 리듬게임은 스마트폰 화면을 터치

하며 진행 하는 방식 이지만, 리듬 플레이

는 실제 기판을 터치함으로써, 조금 더 생

동감 넘치는 게임을 진행할 수 있다.

I. 서론

21세기를 살아가고 있는 요즘 우리세대는

물론이거니와 어린 아이들부터 우리의 부모

님 세대에 이르기까지 거의 모든 사람들이

스마트폰을 이용한다. 그러다 보니 굉장히

많은 애플리케이션이 존재 하고, 게임 애플

리케이션 또한 많이 개발 되었다. 그 중 하

나인 리듬게임은 노래를 들으며 박자에 맞

춰 생성되는 노트를 타이밍에 맞게 터치하

여 없애는 게임이다. 이 리듬게임은 스마트

폰을 이용하는 사람이라면 누구나 한번쯤은

접해 봤을 것이다. 하지만, 단순히 스마트폰

만을 이용하여 게임을 즐기다 보면 실증이

나고, 좀 더 생동감 있는 게임을 즐기길 원

할 것이다. 그런 생각이 바탕이 되어 개발

하게 된 것이 이 리듬 플레이 애플리케이션

이다.

II. 시스템의 개요

본 작품은 스마트폰 화면 터치만으로 진행

되는 리듬게임을 보완하기 위하여 개발 되

었다. 하드웨어적 터치 구성을 위한 아두이

노 부분과 게임 진행을 위한 안드로이드,

아두이노-안드로이드 연동을 위한 블루투

스로 구성 하였다

[

[그림 1] 아두이노 구성

터치를 구현하기 위한 아두이노 센서를 [그

림 1]과 같이 구현 하였다. 아두이노 기판

에 정전식 터치센서를 연결하여 다섯 개의

터치버튼을 구현 하였고, 스마트폰 애플리

Page 33: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 33 -

케이션과의 연동을 위한 블루투스 센서를

사용 하였다. 또한 아두이노 프로그래밍에

[그림 2]와 같은 아두이노 스케치를 사용하

였다.

[그림 2] 아두이노 스케치

다음은 안드로이드 애플리케이션 구성이다.

[그림 3] 메인와몇 및 블루투스 연결 창

리듬플레이 메인화면은 게임시작, 게임방

법, 설정 세 개의 애니메이션 버튼으로 구

성된다. 설정부분에선 게임의 음량을 조절

이 가능하고, 게임방법에선 간단한 게임설

명을 이미지로서 보여준다. 게임시작 버튼

을 누르게 되면 먼저 블루투스 연결창이 뜨

게 되고 아두이노와 블루투스 통신을 이용

하여 연결한 다음 게임이 진행되도록 구성

하였다. 블루투스 통신이 성공적으로 연결

되면 음원선택화면이 나오게 되고, 노래를

선택하면 게임이 시작되게 된다. [그림 4]

는 음원 선택화면 및 게임 진행 화면이다.

[그림 4] 음원선택 및 게임시작

현재 음원은 하나만 추가해둔 상태지만

추후 신곡업데이트 기능을 추가할 계획

이다. 음원의 박자에 맞춰 떨어지는 노트는

5줄이다. 아두이노 하드웨어의 센서터치

버튼 또한 5개로 구성되어 각각줄에

해당하는 버튼을 누르며 게임을 진행하게

된다. 또한, 그냥 버튼을 누르는 것이 아니

라 박자에 정확히 맞칠 경우 Perfect, 조금

빗나갈 경우 Great, 실패할 경우 Bad라는

단어가 뜨게된다. 점수 또한 어떤 타이밍에

누르냐에 따라 다르게 올라가게 된다.

[그림 5] 타이밍에 따른 차등 점수

이렇게 방식으로 게임은 진행되고, 우측

상단에 스코에가 표시된다. 게임이 끝났을

경우엔 각 스코어에 해당하는 랭크가 나타

나게 된다. 랭크는 S랭크, A랭크, B랭크,

Page 34: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 34 -

C랭크, D랭크, E랭크, F랭크 까지 있다.

이렇게 게임이 끝나게 되면 다시 메인 화면

으로 돌아가게 되고 같은 방식으로 다시

게임은 진행되게 된다.

[그림 5] 게임 완료 후 랭크 표시

III. 시스템 구현

먼저 스마트폰에서는 게임이 시작되면 음악

은 고르게 된다.

음악을 선택함과 동시에 스마트폰의 블루투

스기능이 활성화가 되고 만들어둔 아두이노

의 블루투스와 연결을 시킨다. 게임이 시작

이 되면 노래가 나오고 시간과 박자에 맞춰

서 노트가 생성이 되고 노트들은 일정한 속

도로 아래로 떨어지는 애니메이션효과를 준

다.

아두이노와 연결된 5개의 터치센서가 터치

가 되면 연결이 되어있는 블루투스 모듈을

통하여 스마트폰으로 값이 전송되게 된다.

값은 1부터 5까지가 전송이 되고 스마트폰

에서는 이 값을 받아 왔을 때의 시간을 체

크한 뒤 그 시간이 노트가 일정한 위치에

왔을 때와 같은지 비교하게 된다.

그리고 그 시간으로부터 오차 값을 사용하

여 Perfect, Good, Bad 로 나누게 되고 세

가지 등급의 개수를 점수로 환산하게 된다.

그렇게 환산한 총합에 따라서 결과적인 랭

크 S, A, B, C, D, E, F 로 다시 나누어서

랭크가 표시가 된다.

Ⅳ. 결론

최근 스마트폰은 이미 한계치에 도달했다

할 만큼 큰 발전을 이루었다. 그에 따라 스

마트폰 애플리케이션 또한 어마어마한 발전

을 이루고 있다. 하지만 소프트웨어만의 발

전은 한계가 있다고 생각한다. 아두이노와

같은 하드웨어와의 연동을 통해 새롭고 더

욱 발전된 소프트웨어를 개발 한다면 더욱

재밌는 애플리케이션들이 많이 탄생할 것이

다.

■ 참 고 문 헌 ■

○ 아두이노! 로봇 스케치북

동일 출판사 이재창 지음

○ 안드로이드 앱 개발

인피니티 북스

○ 안드로이드 게임프로그래밍

위키북스

Page 35: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 35 -

울산 여행 어플리케이션Ulsan trip application

------------------------------------------------------------------------------------------------------------

이수호

창원대학교 정보통신공학과 아이비스 연구실

E-mail : [email protected]

■ 요 약 ■

본 논문에서는 울산을 처음 방문하는 사람

들이나 울산으로 여행을 하기 위한 사람들

에게 도움이 될 만한 어플리케이션에 대한

것으로서, IOS기반의 울산 소개 및 관광 어

플리케이션에 대한 내용이다.

본 어플리케이션은 울산 소개, 여행지 정

보, 여행지 위치정보 표시, 여행지로 전화걸

기, 관련 홈페이지 연결 등의 기능들을 포

함하고 있다.

I. 서론

현재 인터넷상에는 그렇다할 만한 울산 여

행 어플리케이션이 없는 상태이다.

본 어플리케이션, ‘울산 뚜벅이’는 울산에

대해 소개하고 타 지역 사람들은 잘 모를법

한 울산의 숨어있는 좋은 여행 장소를 추천

하며, 이곳에 대한 자세한 안내와 교통편

등을 제공하여 울산이 ‘공업단지’라는 이미

지를 탈피하고 울산으로의 여행을 추천하기

위함이다.

본 논문의 구성은 2장에서는 시스템 개요

를 간단히 설명하고, 3장에서는 시스템의

구현 모습을 보이며, 마지막으로 4장에서는

결론을 맺는다.

II. 시스템의 개요

[그림 1] 시스템 구성

본 어플리케이션은 IOS기반의 Xcode로 프

로그래밍 되었다.

[그림 1]은 전체적인 스토리보드 구성으로

써, 처음에 Tab Bar Controller를 두어 4개

의 Tab을 구현하였다. 첫 번째 Tab에는 울

산을 소개하는 정보를 담았고, 두 번째 Tab

에는 관광지를 안내하는 정보를, 세 번째

Tab에는 관광지에 소개되었던 장소를 전체

Page 36: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 36 -

적인 Map View를 통하여 위치를 알 수 있

도록 하였으며, 네 번째 Tab에는 본 어플리

케이션의 개발자 정보를 알 수 있도록 구성

하였다.

III. 시스템 구현

[그림 2] Default화면

[그림 2]는 어플리케이션이 시작하면서 제

일 처음 뜨는 화면으로서, 어플리케이션의

제목과 전체적인 느낌을 담고 있다. 울산으

로 여행한다는 뜻을 담고 있는 ‘울산 뚜벅

이’를 제목으로 선정하였으며, 본 어플리케

이션이 여행에 대한 정보를 담고 있음을 알

수 있도록 디자인하였다.

[그림 3] 첫 번째 Tab화면

[그림 3]은 본 어플리케이션이 실행되고

제일 처음 보여 지는 첫 번째 Tab화면으로,

울산 소개에 대한 정보를 담고 있다.

울산의 면적, 인구, 기후, 지형여건 등 울

산이 어떤 곳인지 전체적인 정보가 담겨 있

다.

[그림 4] 두 번째 Tab화면

Page 37: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 37 -

[그림 4]는 두 번째 Tab화면으로, 관광안내

에 대한 정보를 담고 있다. 이는

Navigation Controller를 Table View

Controller로 연결하여 울산 관광지들을

Table목록 형식으로 보기 좋게 나타내었다.

[그림 5] 여행지 상세 정보 화면

Table목록 중 하나의 여행지를 누르면 그

여행지에 관한 상세 정보들이 [그림 5]처럼

나온다. 여기에는 여행지의 주소, 전화번호,

인기도, 만족도, 교통편, 세부 설명의 정보

가 포함되어 있으며 해당하는 여행지의 관

련 홈페이지로 바로 연결하는 기능과 여행

지 전화번호로 바로 전화를 걸 수 있는 기

능, 여행지의 지도 정보 등을 알 수 있는

기능들이 포함되어 있다.

[그림 5] Plist

본 어플리케이션의 장점은 여행지를 추가

하고 싶으면 Plist에 [그림 5]와 같은 관련된

데이터베이스만 추가하면 자동적으로 Table

View 목록에 추가되고 그 상세정보들이 추

가된다.

[그림 6] 세 번째 Tab 화면

[그림 6]은 세 번째 Tab화면으로, 관광지도

를 나타내는 화면이다. Map View

Controller를 이용하여 구글맵과 연동하였으

며, 각 여행지의 위치들을 전체 Map에 표

시함으로써 여행지들의 대략적인 위치를 알

수 있게끔 하였다.

Page 38: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 38 -

[그림 7] 네 번째 Tab화면

[그림 7]은 네 번째 Tab화면으로, 본 어플

리케이션의 개발자 정보를 담아서 디자인하

였다.

Ⅳ. 결론

타 지역으로 여행을 하려면 그 지역의 상

세한 정보들을 알아야 수월한데, 그곳들에

대한 정보를 일일이 검색하고 위치를 검색

하기란 여간 번거로운 것이 아니다.

본 어플리케이션은 울산에 대해 잘 모르는

타 지역 사람들이 울산으로 여행을 왔을 때

가 볼 만한 곳들을 추천하고 그 곳으로 가

기 위한 상세한 정보들을 한눈에 알 수 있

도록 제공함으로써 편의를 제공하였다. 또

한 Plist를 통해 정보를 추가하기 쉬워 업데

이트 또한 수월하다.

본 어플리케이션은 추후에 맛집 정보, 숙

박 정보, 편의시설 정보 등을 Tab에 추가하

고 간단한 Plist추가만을 통하여 울산에 대

한 정보를 더욱 풍족하게 할 수 있을 것으

로 보인다.

■ 참 고 문 헌 ■

[1] 박동윤, 신용 저, “도전 아이폰 프로그래

밍 Xcode”, 두드림, 2012

[2] 김정 저, “Xcode4”, 인사이트, 2011

[3] 이안 파이퍼 저, “맥과 아이폰 개발자를

위한 XCODE”, 제이펍, 2010

Page 39: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 39 -

웹 캠을 이용한 시력 보호 및 자세교정 시스템

Eye protection and posture correction system

by using a web camera

------------------------------------------------------------------------------------------------------------

팀원 신지호 김선종

창원대학교 정보통신공학과 이동통신 연구실(지도교수 강창순)

E-mail : [email protected], [email protected]

[그림 1] 척추 측만증

[그림2] 구성도

■ 요 약 ■

본 작품은 컴퓨터 사용으로 인하여 발생

할 수 있는 질병을 예방하기 위한 소프트웨

어로 웹캠을 이용하여 컴퓨터와 사용자간의

거리를 측정하여 시력 보호 및 자세교정을

위한 소프트웨어이다.

I. 서론

정보화시대로 인해 컴퓨터 사용시간이 늘

어나면서 그에 따른 질병이 늘어나고 있다.

예를 들어 척추 측만증, VDT증후군, 거북목

증후군, 허리디스크, 안구 건조증 등 여러

질병으로 이어지는 경우가 있다.

위의 [그림 1]과 같은 척추 측만증과 같은

질병을 방지하고 예방하기 위하여 본 작품

을 생각하게 되었다.

II. 시스템의 개요

본 작품인 웹 캠을 이용한 시력보호 및

자세교정 시스템을 개발하기 위한 언어는

C++이고 컴파일러는 Borland사의 C++

Builder 6를 사용하여 작품을 만들었다.

다음의 [그림2]는 본 작품의 구성도를 나

타낸다. 본 작품의 구성도 에는 웹 캠, 모니

터 그리고 사용자가 표시되어 있다.

본 작품의 각 기능과 기능별 요구사항을

아래 [표 1]에 나타낸다.

Page 40: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 40 -

기능 요구사항

① 얼굴 인식

RGB 와 YCbCr을 이용하여

사람의 얼굴 색상을

정의하고 정의된 살색으로

사람 얼굴 부분을 인식

② 거리 측정웹 캠과 사용자의 거리를

측정

③ 알림 기능 거리에 따른 메시지를 표시

④ PC 사용시간프로그램 시작 후

사용시간을 나타냄

⑤ 민감도 조정 환경에 따른 설정 값 조절

⑥ 웹캠 기준 값 설정새로운 환경에서 프로그램

실행시 기준 값 설정

⑦ 화면 슬립자세 불균형시 모니터를 절

전모드와 같이 변경하여 사

용자에 경각심을 줌

⑧ 보조 프로그램텍스트 파일에서 거리에 따

라 글자의 크기가 변경

[표 1] 기능별 요구사항

[그림 2] YCbCr의 색상표

[그림 3] 거리측정에 대한 흐름도

본 작품에서는 일반적인 컬러 모델인

RGB를 사용하지 않고 YCbCr을 사용하였다.

얼굴 인식을 하기 위한 YCbCr은 RGB색에

서 밝기 성분 Y와 색차정보 (Cb, Cr)를 분리

하여 표현하는 색상모델이다. 아래의 [그림

2]는 YCbCr의 색상표이다.

위의 색상표에서 Cb와 Cr의 값을 지정하

여 살색 성분 범위를 지정하여 웹 캠 영상

의 살색 부분을 찾아낼 수 있도록 한다.

거리 측정으로는 앞의 YCbCr을 이용하여

살색을 찾아낸 후 그 범위의 값과 최대 오

차 값 과 최소 오차 값 각각 변수를 지정한

다음 두 값의 사이의 값일 경우 ‘적당합니

다’, 최소 값 미만일 경우 ‘너무 멉니다’, 최

대 값 이상일 경우 ‘가깝습니다’ 를 입력되

도록 하여 사용자들에게 경각심을 주어 올

바른 자세를 유지시키도록 한다. 또한 여기

서 거리가 기준 값을 초과할 경우 경고 창

을 사용하여 알림기능을 더욱 향상 시키도

록 할 것이다. 아래의 [그림 3]은 위의 거리

측정에 대한 흐름도를 나타낸다.

PC사용 시간으로는 변수를 3개를 만들어

하나는 초를 계산하는 변수 다른 하나는 분

을 계산하는 변수 마지막으로 시간을 계산

하는 변수 이렇게 세 가지 변수로 구성 될

것입니다. 먼저 초를 계산하는 변수는 1초

마다 변수 값을 하나씩 증가 시키도록 하고

60초가 될 경우에는 분에 해당하는 변수를

1을 증가시켜준 후 자신은 0으로 초기화 시

키도록 할 것입니다. 분에 해당하는 변수도

초와 동일하게 60이 될 경우 시간에 해당하

는 변수를 증가시켜주고 자신은 0으로 초기

화 되도록 할 것이다. 아래의 [그림 4]는 PC

사용시간에 대한 흐름도를 간략하게 나타낸

다. 본 작품에서 사용시간은 초 분 시간 단

위로 나타내었고 24시간이 지났을 경우인

1일 단위는 배제 하였다.

Page 41: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 41 -

[그림 4] 사용시간에 대한 흐름도

[그림 5] 메인 화면

[그림 6] 웹캠 옵션 부분

[그림 7] 프로그램 실행 시 화면

III. 시스템 구현

아래 [그림5] 에서는 프로그램을 실행시

켰을 경우의 화면을 나타낸다. 메인화면에

서는 본 작품의 메인 기능인 솔루션 시작하

기, 보조 프로그램, 그리고 끝내기로 구성

하였다.

솔루션의 웹캠옵션색 공간 기반의 피부색

검출 방법과 관심 영역을 이용한 피부색

검출 기법 부분은 [그림 6]에 해당하는 부

분이다. 옵션 부분에서는 민감도 조정 및

웹캠 조절 마법사 부분이 존재 하는데 이

옵션 부분에서 민감도 조정 부분은 조명 밝

기에 따른 인식 값을 달리 처리하려 했으나

아직 미구현 상태이고 웹캠 조절 마법사 부

분은 프로그램 처음 사용하여 거리 기준을

설정할 때 사용된다.

위의 [그림 7]은 솔루션 시작하기를 클릭

하였을 때 화면이다. 사용자의 거리에 따라

아래 화면의 흰색 부분을 카운트하는 함수

를 이용하여 기준에 따라 거리를 나타내주

는 역할을 합니다. 경고창 띄우기 클릭할

경우 ‘적당합니다‘를 제외한 나머지 경우로

측정될 경우 ‘자세가 불균형입니다’ 라는 메

시지를 나타내었다.

Page 42: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 42 -

[그림 9] 보조프로그램 실행 시 화면

[그림 8] 거리 기준 설정 화면

위의 [그림 8]은 처음 사용하는 사용자들이

사용자 환경에 맞춰 기준을 설정하는 화면

이다.

마지막으로 아래 [그림 9]은 보조프로그램

을 실행하였을 때의 거리에 따른 텍스트 파

일의 폰트 변화를 나타내주고 있다. 이 폰

트 값의 경우 사용자 필요에 따라 아래 [그

림 10]에서 폰트 크기를 조절 가능한 기능

을 삽입하여 고정된 폰트 크기가 아닌 유동

적으로 사용자에 맞게 설정할 수 있도록 개

발 하였다.

[그림 10] 보조프로그램 폰트 조절 화면

Ⅳ. 결론

C++ 언어와 C++Builder 6 이라는 컴파

일러를 사용하여 본 작품인 웹 캠을 이용한

시력보호 및 자세교정 시스템을 구현하였

다. 아직 민감도 조절인 밝기에 대한 시스

템작동에 대한 기능에는 아직 완성되지 않

았는데 앞으로 더욱 발전시켜 환경에 따른

소프트웨어 구성을 완성 시킨다면 현재 구

성보다 정확한 거리측정을 할 수 있을 것이

라 예상된다.

장시간 컴퓨터 사용이 많아진 요즘 현대

인들에게 본 작품의 기능으로 인해 여러 질

병을 예방하고 컴퓨터 사용 자세 습관을 고

칠 수 있게 도와줄 것으로 기대됩니다.

■ 참 고 문 헌 ■

[1] 김승현, “C++ 빌더 Step by 클릭”, 데브

기어출판부, 2012

[2] 김성민, “C++ 빌더 프로그래밍의 기초

(엔지니어를 위한)”, 전남대학교출판부,

2012

[3] 이송근,홍성식, “핵심 C C++ 프로그래

밍”, 정일, 2007

[4] 김대철, 이철희, 최명희, 하영호, “색 공

간 기반의 피부색 검출 방법과 관심 영

역을 이용한 피부색검출 기법”, 한국화상

학회지, 2012

Page 43: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 42 -

음향위치인식을 이용한 야구게임

Using location-aware sound baseball game

------------------------------------------------------------------------------------------------------------

이정민, 이연호, 에사노브 아브로르창원대학교 정보통신공학과 신호처리연구실

E-mail : [email protected],

[그림 1 ]배팅연습장의 모습

■ 요 약 ■

본 작품은 MATLAB을 이용하여 벽면의

위치에 따라 야구공이 부딪힐 때 나오는

각각의 소리를 녹음하여, 벽에 공을 직접

던졌을 때 어느 위치에 공이 맞았는지

인식을 할 수 있는 음향위치인식 기술을

개발하여 플레이어가 실제로 야구공을

던져서 플레이하는 야구게임을 개발하였다.

I. 서론

본 작품을 처음 개발하게 된 계기는 야구

라는 스포츠가 전국민적인 인기를 얻고있는

오늘날에 전국에 [그림 1]과 같이 타격연습

을 할 수 있는 배팅연습장은 많이 있지만,

직접 투구를 하는 투구연습장은 없다는 점

을 두고, 사용자의 제구력을 테스트 할 수

있는 야구게임을 만들어보자는 아이디어를

얻었다.

이에따라 개발과정에서 벽에 야구공을 직

접 던졌을 때에 어느 위치에 야구공이 맞았

는지 인식할 수 있는 기술이 필요함에 따라

MATLAB과 마이크입력을 이용하서 야구공

이 벽면 어디쪽에 맞았는지 인식하는 음향

위치인식 기술을 개발하였다.

그리고 MATLAB을 이용하여 실제 야구게

임에 적용되는 다양한 로직을 개발하여서,

실제와 같은 야구게임을 개발하였다.

본 작품의 특징으로는 기존의 야구게임은

마우스나 키보드 혹은 조이스틱을 조작해서

게임을 진행되는 것과는 달리 , 사용자가

직접 야구공을 벽에 던짐으로써, 게임이 진

행된다.

Page 44: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 43 -

[그림 3] 음향위치인식 구성도

본 음향위치인식 시스템의 전

체적인 흐름도는 다음과 같다.

[그림 4] 음향위치인식 흐름도

[그림 2] 개발툴 MATLAB

[그림 5] 스트라이크존 구성도

II. 시스템의 개요

본 작품에서는 MATLAB을 이용하여 야구

게임에 적용되는 GUI와 로직을 구성하였다.

MATLAB의 기본 데이터 요소는 차원의 제

한이 없는 배열이다. 다른 언어에서 행렬연

산의 경우, 연산에 대한 해당함수를 만들어

줘야 하지만, MATLAB에서는 기본 피연산자

가 배열이므로 한번에 일괄적으로 계산할

수 있어서 유용하게 이용하였다.

본 작품의 음향위치인식기술은 벽면에 그

려진 가상의 위치에 야구공을 부딪혔을 때

생기는 소리를 미리 녹음, 저장한 후 야구

공을 벽에 던졌을 때 생기는 소리와

cross-correlation해서 상관이 가장 높은 데

이터를 찾아내서, 야구공이 맞은 위치를 인

식하는 방식이다.

MATLAB을 통해 야구게임을 개발함에

있어서, 보통의 야구게임과 같이 1회부터 9

회까지 플레이 할 경우 게임 플레이시간이

너무 길어질뿐더러, 공을 직접 던져서 플레

이하는 본 작품의 구성과 맞지 않음에 따라

서 게임의 컨셉을 플레이어가 9회말 마무리

투수의 역할을 하는 것으로 잡았다.

플레이어는 실제 야구공을 벽에 그려진

가상의 스트라이크존에 직접 던지는데 스트

라이크존은 다음과 같이 구성되어있다.

공이 파란색 구역에 맞을 경우 스트라이

크, 주황색 구역에 맞을 경우 볼로 판정되

며, 게임에서는 초록색과 같이 랜덤하게 요

구되는 스트라이크존에 플레이어가 얼마나

정확하게 맞추느냐에 따라서 게임이 실제

야구와 같이 진행된다.

Page 45: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 44 -

[그림 6] 음향위치인식 프로그램

[그림 7] 게임 인트로 화면

[그림 8] 실제 게임 플레이 화면

[그림 9] 실제 게임 플레이 화면2

게임 플레이는 기본적으로 타자 3명을 아웃시

키면 종료되는 방식이다. 그리고 실제 야구와 같

은 게임 플레이를 위해서 좌타자, 우타자를 구현

하였고, 만약 타자가 좌타자인데 제구가 잘못되어

왼쪽으로 공이 던져졌을 경우에, 일정한 확률로

데드볼이 발생한다.

III. 시스템 구현

본 프로그램을 구현하는데 필요한 음향위

치인식 설정을 위한 프로그램은 다음과 같

다.

음향위치인식 버튼은 총 5x5로 구성되어

있으며, 가운데 파란색으로 표시된 3x3버튼

은 스트라이크존, 바깥쪽 빨간색 버튼은 볼

판정을 위한 버튼이다.

각각의 버튼에 벽에 그려진 위치에

해당하는 소리를 녹음시킨후 저장을 하면

train.mat파일이 생성되고 이 파일을

이용해서 게임에 필요한 음향위치인식을

구현한다.

다음은 게임의 인트로 화면이다.

모든 이미지 작업은 포토샵으로 제작하

였으며, 게임 인터페이스는 Matlab의 고급

GUI기능을 이용하여 구현하였다.

다음은 게임의 실제 플레이 화면이다.

화면의 스트라이크존에 컴퓨터가 요구하는

위치로 공을 던지라고 노란색으로 표시되는

데, 공을 던지고 난후 판정표시는 다음과

같이 빨간색으로 표시된다

Page 46: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 45 -

[그림 10] 게임에서 승리했을 떄

[그림 11] 게임에서 패배했을 떄

그리고, 게임에서 요구한 스트라크존에 공

이 정확히 맞지 않았을 경우, 일정 확률로

1루타, 2루타, 3루타, 파울볼, 홈런이 발생한

다.

다음은 게임에서 승리했을 때, 패배했을

때 나오는 화면이다.

게임이 종료되면, 투구수, 스트라이크수, 볼,

탈삼진, 실점과 같은 Game Record가 표시

된다.

Ⅳ. 결론

MatLab을 이용해서 음향을 이용한 위치추

정이 가능한 프로그램을 구현하였고, 이를

응용해서 야구 게임을 제작하였다.

음향 위치인식은 마이크만 있다면, 모든

소재로 위치에 따른 입력이 가능하므로, 간

편한 User Interface구현에 많은 도움이 될

것이다.

그러나 작품을 음향위치인식을 할 때 주위

에서 발생할 수 있는 잡음, 간섭, 왜곡 등에

취약하므로, 이에 대한 연구 개발이 필요하

다. 이 문제점만 해결한다면, 음향을 이용

한 위치추정 개발 분야는 무궁무진할 것으

로 기대된다.

■ 참 고 문 헌 ■

1. MATLAB GUI Power, 2010 아진

2. MATLAB 고급 GUI 개발, 2009

3. 멀티미디어 신호처리, 2007 IT

Page 47: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 46 -

정보통신공학과 모바일 웹앱 Mobile WebApp for Dept. of Information and

Communications Engineering

------------------------------------------------------------------------------------------------------------

강성환, 마수진, 황대선

창원대학교 정보통신공학과 네트워크연구실e-mail: [email protected]

[email protected]@naver.com

■ 요 약 ■

본 작품은 HTML5, Jquery, Javascript를 이용하여 정보통신공학과 모바일 웹앱을 만든 것이다. HTML5는 New Mark Up과 JavaScript APIs가 합친 것으로 최신 멀티미디어 콘텐츠를 브라우저에서 쉽고 용이하게 볼 수 있게 하는 것을 목적으로 한다. HTML5앱이 모바일 웹 애플리케이션처럼 제공된다는 사실은 많은 시간이 소요되는 앱 스토어의 승인 절차들을 피해 갈 수 있으며, 이에 따라 새로운 기능과 버그 수정들을 서버에 빠르고 쉽게 올릴 수 있고 즉각적인 효과를 볼 수 있다.

Ⅰ. 서론

모바일 웹앱이란 데스크톱 브라우저에서 실행되는 웹 애플리케이션을 모바일 스크린 크기로 줄여 놓은 것으로 모바일 기기의 화면에 최적화된 UI와 UX를 염두에 두고 제작한 것이다. 모바일 웹앱은 풀 브라우징 방식으로 페이지를 이동하는데 풀 브라우징 방식이란 next 화면 전체 내용을 서버에서 새로 받아 현재 화면을 갱신하는 방법이다. 현재

모바일 브라우저에서 볼 수 있는 대부분의 앱이 모바일 웹앱이다.

Ⅱ. 시스템 개요

모바일 웹앱은 그림 1과 같이 구성된다.

[그림 1] 모바일 웹앱의 구조

모바일 웹앱은 HTML5로 바탕(뼈대)를 만들고, CSS로 시각적인 요소들을 꾸미며 (글꼴, 크기, 색상, 이벤트 등의 디자인을 HTML에 추가) Javascript로 인터렉션, 즉 이벤트가 일어나게 된다.

본 작품에서는 가장 강력한 모바일 프레임워크인 jQuery mobile을 사용함으로써 많은 모바일 환경에 대응한 호환성이 좋아졌으며 본 웹앱 또한 이러한 환경에서 개발을 하였다.

Page 48: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 47 -

jQuery는 브라우저 호환성이 있는 HTML 속 자바스크립트 라이브러리로 클라이언트 사이드 스크립트 언어를 단순화할 수 있는 언어이다. 이를 통해 코드 보기, 문서 객체 모델 찾기, 애니메이션 만들기, 이벤트 제어, Ajax 개발을 쉽게 할 수 있다. Ajax(Asynchronous JavaScript and XML)는 Web 화면을 갱신하지 않고 Server로 부터 Data를 가져오는 방법이다.

Ⅱ. 시스템 설계

1.사이트분석

개발에 앞서 먼저 학과 웹페이지에 대한 분석이 필요하였다. 아래의 그림은 현재 PC 상에서 제공되고 있는 정보통신공학과의 웹페이지이다.

[그림 2] 정보통신공학과 웹페이지

본 시스템은 모바일 웹 앱이기에 데스크톱상의 웹페이지보다 가벼워야 한다. 그래서 실제 잘 쓰이지 않는 부분은 과감히 배제하고 게시판, 학과소개, 교수소개, 포토앨범, 찾아오시는 길들로 메뉴를 구성하였다.

2.개발환경

본 시스템은 삼성 갤럭시 노트2에 최적화하였고 개발도구로는 notepad++와 Dreamweaver CS6를 이용하여 html5, CSS3, php,자바스크립트, jQuery mobile 및 플러그인을 구현하였으며 데이터베이스로는 mysql5, 웹서버로 Aphache2로 구현하였다. 실제 호스팅시 무료호스팅 싸이트에서 알FTP 연결을 통해 구현할 수 있다.

3.시스템 구성도

전체적인 구성도는 아래 그림과 같다.

[그림 3] 학과 모바일 웹 시스템 구성도

실제 호스팅 시 서버가 다를 수 있지만 기본적으로 아파치 서버와 mysql, php, html5,자바스크립트를 연동하여 모바일 웹상에 홈페이지 화면을 구성한다.

3.UI/UX 디자인

모바일 웹앱이 가벼워야 함은 물론 인터페이스와 UX 또한 단순해야 좋은 모바일 웹앱이다. 그러기 위해서는 모든 기능이 한번 내지 두 번의 터치로 가능해야 좋은 모바일 웹앱이라 할 수 있으며 본 작품에서는 이를 바탕으로 디자인을 하였다.

Page 49: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 48 -

Ⅲ. 시스템 구현

본 모바일 웹앱은 2가지 안을 제시하였으며 시스템의 구성은 동일하다.

1.메인화면

기본동작으로 메인화면에는 모든 메뉴들이 이미지 버튼으로 되어 접근하기 쉽게 하였고 패널을 통해 다시 한번 메뉴들을 정리하였고 각 메뉴들에 들어갈 시 이 패널이 길잡이 역할을 한다. 로그인 버튼을 통해 로그인을 함으로써 사용자의 직책에 따른 권한에 맞게 각 게시판의 쓰기 허용 설정을 하였다.

[그림 4] 메인 화면

2.로그인

그림은 로그인 화면을 나타낸 것이다.

[그림 5] 로그인 화면

로그인 화면은 기존의 jQuery mobile framework의 dialog 방식으로 뜨며 입력하지 않을 시 alert 시행 후 해당 입력란을 입력하지 않았다고 경고를 준 뒤 돌아 온다. 로그인시 세션유지를 쿠키를 통하여 2시간으로 설정 2시간 이후엔 자동 로그아웃이 된다. 로그인 데이터는 Ajax를 이용한 json 송수신을 통해 데이터베이스서버와 연결을 하였다.

3.게시판

아래의 그림은 게시판의 모습을 나타내고 있다. 게시판 화면은 listview를 이용한 게시판의 목록들을 볼 수 있다. data-filter를 이용하여 간단한 제목 검색을 할 수 있으며 보기 쉽게 5개의 게시물을 끊어 보여주고 아래쪽 footer에 navbar를 이용하여 다음 목록으로 이동할 수 있다. 또한 사용자의 직업에 따라 게시판을 쓸 수 있는 권한을 나누어 불필요한 사용을 줄였으며 각 게시물에 대한 수정 및 삭제가 가능하다.

[그림 6] 게시판 화면

게시판 데이터 처리 역시 Ajax를 이용한 json 송수신을 통해 데이터베이스서버와 연결하였으며 각각의 게시판의 id값을 통하여 게시판을 구분하여 한 테이블 안에 쓸 수 있도록 하였다.

Page 50: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 49 -

4.포토앨범

그림은 포토앨범을 나타내는 화면이다.

[그림 7] 포토앨범 화면

포토앨범 화면은 기존의 jQuery mobile plugin인 photoswipe를 이용하였으며 갤러리의 각 썸네일 이미지를 클릭하면 해당 썸네일의 포토 슬라이드가 화면에 뜨게 되며 자동 넘김 밑 슬라이드, 갤러리로 빠져 나오기 기능이 있다.

5.교수님소개

그림은 학과 교수소개를 위한 것이다.

[그림 8] 교수 소개 화면

다이얼로그 페이지를 표시할 때 jQuery Mobile에 정의된 클래스 일부를 재정의 하면 ActionSheet형태의 화면을 표시할 수 있다. 버튼을 수직으로 배치하며, 버튼의 높이에 따라 sheet의 높이가 자동적으로 조절된다.

Ⅳ. 결론

본 작품은 모바일 웹페이지가 만들어지지 않은 우리 학과의 홈페이지를 모바일 디바이스 환경에서 이용하기 편리하게 하기 위한 목적으로 HTML5, Jquery, Javascript 등을 이용한 학과 모바일 웹앱을 구현하고 있다. 사용자는 액정 크기가 다른 각종 모바일 디바이스 장치에서 손쉽게 실제 학과 웹페이지와 동일한 기능 및 정보의 웹앱을 사용 및 확인을 할 수 있다.

■ 참고 문헌 ■

[1]http://ccambo.blogspot.kr/2013/02/2013-it.html[2]신용권. “모바일 웹앱”, Smart Media, 2014.[3]김응석, “Do it 웹앱&하이브리드앱”, 이지스퍼블리싱, 2013.[4]주영아,이광호, “jQuery Mobile" Smart Media, 2012.

Page 51: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 50 -

주변환경에 따라 변화하는 광고판Thinking Advertisement

------------------------------------------------------------------------------------------------------------

강민주. 안지원, 손청죽

창원대학교 정보통신공학과 네트워크연구실e-mail: [email protected]

[email protected]

■ 요 약 ■

본 작품은 아두이노, AMP SETUP, HTML을 이용하여 주변환경에 따라 변화하는 광고용 패널제작을 목적으로 한다. 아두이노를 통해서는 센서를 통해 외부환경변화에 따른 값(온도, 습도)을 받았고 APM SETUP로는 데이터베이스를 구축하였으며, HTML을 이용해 사용자 인터페이스를 구현하였다.

본 작품에서 구현한 광고판의 컨셉은 편의점용 광고판이다.

Ⅰ. 서론

일상생활 속에서 우리가 접하고 있는 광고판들은 한가지의 광고내용만을 담거나 2개 이상의 광고내용을 출력한다 하더라도 처음 지정해놓은 고정화면 일뿐이다. 이를 보며 조금더 소비자가 처한 환경을 고려하여 광고를 한다면 매출을 높이고 효율적인 광고를 할 수 있지 않을까라는 생각에 ‘주변환경에 따라 변화하는 광고판’을 고안하게 되었다.

‘주변환경에 따라 광고판이 변화한다?’ 라는 말이 생소하게 들릴지는 모르겠지만 원리는 간단하다. 소비자가 처한 환경에 크게 시간, 온도, 습도 세가지 항목에 두고

각 값에 따라 광고를 띄우는 것이다. 예를 들면 출근시간에는 간편식사류 광고

를 온도가 높을 때는 아이스크림 광고를 말이다.

Ⅱ. 시스템 개요

[그림 1] HTML5

HTML5를 이용하여 사용자가 광고를 등록 할 수 있는 사용자 인터페이스와 광고창을 제작한다.

[그림 2] APACHE, php, mySQL

Apache를 이용하여 서버 구축을 하고 데이터베이스는 MySQL을 이용하였다.

PHP언어를 이용하여 데이터베이스를 활용하였다. 최종적으로 PHP와 HTML5를 사용

Page 52: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 51 -

해 사용자 인터페이스 환경과 광고창을 제작하였다.

[그림 3]arduino sketch, processing

arduino sketch를 이용하여 아두이노를 제어할 수 있도록 프로그래밍한다. 이를 통해 아두이노에 연결된 센서로부터 온도값과 센서값을 받도록 하였다. processing은 아두이노로부터 받은 센서값들을 데이터베이스에서 처리할 수 있도록 데이터값을 변환하여 데이터베이스로 보내준다.

Ⅱ. 시스템 설계

1 .개발환경Apache를 이용하여 서버를 구축하고

데이터베이스는 MySQL을 이용하였다. PHP와 HTML5를 사용해 사용자 인터페이스환경과 광고창을 제작하였다. arduino sketch로 센서로부터 값을 처리하는 식을 프로그래밍하였고 processing을 통해 센서값을 데이터베이스에서 처리할 수 있는 값으로 변환하였다.

2.시스템 구성도

전체적인 구성도는 그림과 같다.

[그림 5]시스템 구성도

광고내용이 화면에 출력되기까지의 과정은 위와 같다. 아두이노를 통해서는 온도, 습도 2가지 항목의 외부환경값을 받아 DB에 저장 하고, 사용자 인터페이스 화면에서는 각 온도, 습도값에 따른 광고설정 현황을 확인할 수 있고 일반지정, 시간에 따른 광고를 설정을 할 수 있다. 최종적으로 광고판에는 사용자의 설정에 따라 유동적으로 화면이 출력된다.

이 때 광고판에는 한 가지 광고만 출력되는 것이 아니라 설정된 수만큼의 화면이 지정된 시간마다 돌아가며 출력된다.

Ⅲ. 시스템 구현

시스템의 구현은 시스템 구성도와 동일하게 되어있다.

1. 센서값 처리

[그림6]arduino, processing프로그래밍화면

arduino sketch로는 센서를 이용하여 온도,습도를 받아오도록 하였고, processing으로는 그 받은 값을 가공하여 데이터베이스로 보내주도록 구현하였다.

Page 53: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 52 -

2. 사용자 인터페이스

[그림 7-1] UI 일반광고 등록화면

사용자 인터페이스 화면은 디자인보다 사용편이성에 중점을 맞추었다. 이 프로그램의 사용자는 편의점 가게의 주인이 됨으로 광고를 등록하는 사람이 된다. 위 화면은 외부환경값(온도, 습도, 시간)과 관련없이 일반광고를 설정하는 화면의 모습이다.

[그림 7-2] UI 센서값에 따른 광고등록 현황

위 화면은 아두이노로부터 받은 온도, 습도값에 따라 어떤 광고를 내보낼지 설정된 광고들을 확인할 수 있는 화면이다. 센서값에 따른 광고는 소비자의 구매경향을 조사한 본사에서 업데이트해주는 컨셉으로 프로그램 사용자가 변경할 수 없도록 되어있다.

[그림 7-3] UI 시간에 따른 광고 등록화면

시간에 따른 광고 등록은 광고, 광고정보, 시간, 광고화면을 등록한다. 본 작품의 구현에는 am7:00~pm12:00에 도시락을 등록하고 해당 시간에 도시락광고가 출력됨을 확인하였다.

3. 데이터베이스 구축

[그림 8]데이터베이스

데이터베이스가 구축된 화면이다. 각 데이터 값이 저장된다.

4. 광고 출력 화면

[그림 9]광고 출력 화면

Page 54: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 53 -

일반등록, 온도, 습도, 시간에 따른 광고는 데이터베이스에 저장되고 저장된 데이터를 토대로 최종적으로 광고판에 위와 같이 출력된다.

Ⅳ. 결론

환경에 따라 광고가 자동으로 변화하게 되면서 편의점은 편하게 적절한 광고를 내보낼수 있게 되고, 고객은 알맞은 상황에 광고를 제공 받을 수 있음을 기대 할 수 있다.

■ 참고 문헌 ■

[1] 고경희, “HTML5+CSS3 웹표준의 정석”, 이지스퍼블리싱, 2013[2] 윤순백, “스케치로 시작하는 아두이노 프로그래밍”, 제이펍, 2013[3] 마시모 밴지, “손에 잡히는 아두이노”, 인사이트, 2012[4] 톰 아이고, “재잘재잘 피지컬 컴퓨팅 DIY”,인사이트, 2014[5] egoing, “생활코딩”, 위키북스, 2013[6] 이성욱, “Real MySQL", 위키북스, 2012[7] 박대혁, “PHP 프로그래밍 for beginner”, 한빛미디어, 2009

Page 55: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 54 -

탁구 점수 자동 표시 시스템Table tennis scores automatically display system

------------------------------------------------------------------------------------------------------------

이찬솔, 박희찬

창원대학교 정보통신공학과 이동통신연구실

E-mail : [email protected], [email protected]

기능 요구사항

점수 측정· 탁구 점수를 자동으로 측정

· 점수에 따라 게임상황을 판단

점수 표시 ·실시간으로 점수와 상황을 표시

■ 요 약 ■

우리의 생활이 편리해 지면서 여가생활이

늘어나게 되고 그로 인해 생활체육이 널리

보급되고 있다.

생활체육에는 배드민턴, 당구, 탁구 등 여

러 종목이 있으며, 각 종목마다 점수를 측

정하게 된다.

기존 시스템은 점수를 측정하는 과정은 보

통 심판이 직접 하기 때문에 오판이 발생하

는 경우가 많고 점수를 머릿속으로 암기하

고 있어야 하는 불편함이 생기게 된다.

본 논문에서는 생활체육 종목 중 탁구 경

기의 점수를 자동으로 계산하는 탁구 점수

자동 표시 시스템에 대하여 논의하고자 한

다.

본 시스템은 크게 점수 측정부와 점수

표시부로 구성되며, 점수 측정부는 마이크

로컨트롤러에 센서, 스피커, 무선통신모듈을

연동한 형태로 구성하였으며, 점수 표시부

에서는 마이크로컨트롤러에 TFT LCD와 무

선통신모듈을 연동하여 무선통신모듈을 통

해 전송되어진 측정값을 TFT LCD를 통해

사용자가 쉽게 볼 수 있도록 하였다.

본 시스템을 사용함으로써 일반경기에서는

사용자들의 점수인지에 대한 불편함을 해소

할 수 있고, 공식경기에서는 심판이 보다

정확한 판정을 할 수 있을 것으로 기대된다.

I. 서론

탁구의 경우 공식경기에서는 심판이 점수

측정하고 경기상황을 판정하지만 탁구를 생

활체육으로 즐기는 일반인들의 경기에서는

심판 없이 선수들이 직접 점수를 암기하고

경기상황을 판단해야 한다.

본 논문에서는 이와 같은 문제점을 해결하

기 위하여 진동 센서를 이용해 자동으로 점

수측정 및 상황판단을 하고 이를 무선통신

모듈을 통해 TFT LCD에 나타내는 시스템에

대하여 논하고자 한다.

II. 시스템의 설계

2.1 요구사항

본문에서 제안한 탁구 점수 자동 표시 시

스템의 요구사항은 아래 [표 1] 과 같다.

[표 1] 주요 기능 별 요구사항

Page 56: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 55 -

[표 1]과 같이 탁구 자동 점수 측정 시스

템은 자동으로 탁구 점수를 측정하고 점수

에 따라 게임 상황을 판단해야 한다.

또한 사용자가 실시간으로 보기 쉽게 점수

와 게임 상황을 표시해주어야 한다.

2.2 시스템 설계

그림 1. 시스템 구성도

위 시스템의 요구사항을 바탕으로 그림 1

과 같이 점수 측정부와 점수 표시부로 나누

어 설계하였다. 점수 측정부는 실시간으로

탁구공이 탁구대에 부딪혀서 발생하는 진동

을 감지하는 진동센서와 이를 분석하여 점

수를 측정하는 마이크로컨트롤러, 그리고

측정된 점수를 점수 표시부로 전송하는 무

선통신모듈로 구성된다.

그리고 점수 표시부는 점수 측정부에서 전

송된 값을 수신하는 무선통신모듈과 이를

분석하여 점수와 게임 상황을 표시하는 마

이크로 컨트롤러 및 TFT LCD로 구성된다.

2.2.1 점수 측정부

본 논문에서 제안하는 시스템의 점수 측

정부는 그림 2와 같이 동작하게 된다.

먼저 탁구대의 각각 한 부분을 HOME과

AWAY로 설정하고 탁구공의 움직임을 두

가지(HOME과 AWAY를 오가는 움직임, 어

느 한 쪽에만 있는 움직임)로 설정한다.

그리고 탁구공의 움직임이 HOME과 AWAY

를 오가는 움직임일 경우 3초 후에 마지막

으로 부딪힌 곳이 HOME인지 AWAY인지

판단하여 점수를 측정하게 된다. 이후 측정

된 값을 XBee 통신모듈을 통해 점수 표시

부에 전송하게 된다.

그림 2. 점수 측정부의 동작

2.2.2 점수 표시부

본 논문에서 제안하는 시스템의 점수 표시

부는 그림 3과 같이 동작하게 된다.

먼저 점수 측정부에서 전송한 값을 Xbee

통신모듈을 통해 받아서 이를 HOME의 득

점인지 AWAY의 득점인지 판단한 후 TFT

LCD 창에 게임 상황을 표시하게 된다.

또한, 게임 상황이 듀스(Deuce)가 될 경우,

HOME과 AWAY의 점수 차가 2점이 날 경

우 게임이 끝나게 된다.

Page 57: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 56 -

그림 3. 점수 표시부의 동작

III. 시스템 구현 및 결과 고찰

구현된 시스템은 크게 탁구공이 탁구대에

부딪혔을 시 진동 값 측정 - 측정값을 이용

하여 점수 측정 - Xbee 무선통신으로 측정

된 점수 전송 - 전송된 점수 표시 부분으로

볼 수 있다.

그림 4. Arduino Uno

본 시스템을 개발하기 위하여 오픈소스 기

반의 마이크로컨트롤러 아두이노(Arduino)

를 사용하였고, Arduino를 제어하기 위하여

IDE의 C로 구현을 하였다.

아두이노란 오픈소스를 지향하는 마이크로

컨트롤러를 내장한 기기 제어용 기판이라고

생각을 하면 된다. 즉 컴퓨터와 연결하여

소프트웨어를 로드하면 동작을 하게 되므로

제어용 전자 장치로부터 로봇과 같은 것을

만들 수 있는 ‘오픈소스 하드웨어’라고 할

수 있다.[1]

다음 표 2를 통하여 자세한 성능을 나타낸

다.

Microcontroller ATmega328

Operationg

Voltage5V

Input Voltage (recommended)

7-12V

Input Voltage (limits) 6-20V

Digital I/O Pins 14(of which 6 provide PWM output)

Analog Input Pins 6

DC Current per I/O pin 40mA

DC current for 3.3V Pin 50mA

Flash Memory32KB(ATmega328) of which 0.5 KB used by

bootloader

SRAM 2KB (ATmega328)

EEPROM 1KB (ATmega328)Clock Speed 16MHz

[표 2] Arduino 성능 차트

(2014년, 출처 : arduino.cc[2])

그림 5. 충격량을 측정할 피에조 진동센서와

탁구대에 부착된 피에조 진동센서

그림 5는 피에조 진동센서와 탁구대에

부착된 피에조 진동센서로서 탁구공이 탁구대에

충격이 일어났는지 판단 가능한 센서이다.

그림 5와 같이 구성된 피에조 진동 센서를

Page 58: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 57 -

통하여 HOME에 충격이 발생하면 3초 이내

에 AWAY의 충격을 검사하고, AWAY에 3초

이내에 충격이 발생하지 않았다면 점수로 판단

한다. 그림6과 같이 구성된 마이크로프로세

서인 아두이노에서 XBee무선통신을 사용하

여 점수신호를 점수 표시부에 전송하게 된

다.

그림6. 점수 측정부의 무선통신모듈과 스피커

점수 측정부에서 보낸 신호를 그림 7과 같

이 XBee 무선 통신을 통해 점수 표시부에

서 수신하게 되고, 이때의 점수신호는 점수

측정부에서 HOME 점수 신호와 AWAY 점

수 신호 2가지만 보내게 된다. 점수측정부

에서 보낸 신호로 인해 그림7과 같이 설계

된 점수 표시부에서 점수를 표시한다. 여기

에서 점수 표시부는 각 신호를 구분하여 점

수를 표시할 수 있고, 점수가 10대10으로

동점일 경우 듀스 모드가 실행된다. HOME

또는 AWAY가 이겼을 경우 “Win”이 뜨면서

3초 후에는 초기화가 된다.

그림7. 점수 표시부의 무선통신모듈과 TFT LCD

점수신호를 안전하게 무선통신하기 위하여

XBee 무선 통신을 사용하였고, 통신모듈은

Digi International사의 XBee1 Pro를 사용하여

점수 표시부와 점수 측정부 간의 1:1 통신이

가능하도록 설계하였다. XBee의 특징은

[표 3]과 같다.

Specification XBee XBee-PRO

PerformanceIndoor/

Urban Range30 m 90m

Outdoor RF

line-of-sight

Range

90 m 1600m

Transmit

Power Output

(software

selectable)

1mW 63mW

RF Data Rate 250,000bps 250,000bps

Serial Interface

Data Rate

1200bps -

250kbps

1200bps -

250kbps

Receiver

Sensitivity-92 dBm -100 dBm

[표 3] XBee 통신모듈의 주요 특징

(출처 IEEE® 802.15.4 RF Modules by Digi

International)

이 시스템의 모든 소프트웨어는 IDE의 스

케치인 C를 기반으로 구현하였고, 실시간

점수측정을 위해서 XBee 무선 통신 사용

및 1대1 통신이 가능하도록 설계하였다.

Ⅳ. 결론

본 논문에서 논하고 있는 탁구 점수 자동

표시 시스템은 아동 완구나 가정용으로 사

용하거나, 정식 규격의 탁구대에 적용하게

될 경우 그 가치는 크게 확장될 것으로 보

인다.

본 시스템은 점수 측정부와 점수 표시부로

나누어지며, 점수 측정부는 엣지(Edge), 서

브게임 , 네트에 의한 점수 등의 판단까지

가능 하므로 약 90%의 정확도로 점수측정

이 가능하다. 점수 표시부에서는 HOME 또

는 AWAY가 이겼을 때 “WIN”을 TFT LCD에

표시함으로써 누가 이겼는지에 대한 판단이

가능하다.

또한, 점수 표시부와 점수 측정부는 서로

XBee 무선통신으로 1:1 통신을 하므로 점수

Page 59: 2014년 창원대학교 정보통신공학과 졸업논문집 Gateway

- 58 -

표시부의 설치가 간단하다

.

본 논문에서 제안하는 시스템을 논문에 기

재된 미니 탁구대에 적용을 한다면 일반 가

정집에서 탁구게임을 손쉽게 즐길 수 있을

것이다.

또한, 본 논문에서 제안하는 시스템의 하드

웨어와 소프트웨어를 보완하여 실제 탁구대

에 적용한다면 일반 탁구장에서도 사용이

가능하며, 공식경기인 올림픽이나 전국체전

에서 오심의 확률을 줄일 수 있고, 심판의

필요성이 줄어들게 될 것이다.

그러므로 시장성도 충분히 있다고 판단되

며, 국제경기나 생활체육경기에서 오심으로

인한 논란을 해결 할 수 있을 것으로 예상

된다.

■ 참 고 문 헌 ■

[1] 한국정보통신기술협회, 용어사전, 2013

[2] arduino.cc/en/Main, Arduino 성능차트

[3] IEEE® 802.15.4 RF Modules by Digi

International, 2009.09.23

[4] 마이클 마골리스, 레시피로 배우는 아두

이노 쿡북, 2013

[5] 사이먼 뭉크, 33가지 프로젝트로 배우는

아두이노, 2014

[6] 사이먼 뭉크, 아두이노 프로그래밍 (스

케치로 시작하는), 2013