(p57~99)TT/AR 2016.1.27 3:7 PM 페이지90
Application Review
Korean MCU Design Contest 2015
Tiva C Series를 활용한 스마트 토이 개발 이번 프로젝트를 통해 스마트토이 각각의 큐브의 면을 인식할 수 있는 기술을 연구하였다. 프로젝트는 Sensor Hub Booster Pack의 MPU9150의 acceleration값과 CC3100 WIFI BoosterPack의 WIFI 통신을 활용하여 각각의 면을 인식할 수 있고 WIFI로 데이터를 전송할 수 있는 스마트 주사위를 제작하였다. 글/한우석, 정성훈, 서재근, 마르셀(이상 경성대학교), 이상협(동의대학교)
개요
케이션으로 송신한다. 어플리케이션에서는 수신받은 단 어의 발음을 읽어주는 기능을 실행한다. 회가 IoT(사물인터넷)시대로 접어들면서 다양한
사
분야에서 사물과 인터넷의 융합이 진행되고 있
서론
다. 이러한 발전에는 스마트폰의 보급화가 있었으며 그 로 인해 사람들의 행동패턴 또한 변하고 있다. 스마트폰
아이들이 놀이와 동시에 영어공부를 할 수 있는 스
의 어플리케이션을 통해 다양한 서비스들을 제공받을
마트 토이의 개발을 목표로 본 프로젝트를 진행하게 되
수 있게 되었고, 유아들을 상대로 하는 토이 시장도 이
었다. 알파벳 인식형 스마트 토이는 하나의 큐브는 주사
에 발맞춰 발전해 나가고 있다. 스마트 토이 시장은
위로 활용이 가능하며, 조합에 따라 다양한 단어를 만들
2014년 정부가 100대
어 사용할 수 있다.
글로벌 생활명품의 하나
그림 1. 큐브형 스마트 토이
그림 1에서와 같이 큐브의 6면에는 각 각의 알파벳
로 신산업 창조프로젝트
또는 숫자가 적혀있고, 윗면에 해당하는 알파벳이나 숫
신규 과제로 선정했으며
자를 인식하여 스마트폰이나 스마트TV의 화면에 출력
세계 시장의 규모는
하도록 한다.
2012년 기준 약 80조원 에 이른다.
시스템 설계 및 구현
본 프로젝트에서는 아이들의 영어공부 및
스마트 토이에서의 구현은 가속도 센서, 센서의 신호
노인들의 치매 예방에 도움을 줄 수 있는 알파벳 인식형
를 처리하는 MCU(Tiva C Series TM4C123GXL
스마트토이를 Tiva C Series LaunchPad를 활용하여 개
LaunchPad), 스마트 토이와 스마트폰 어플레이션 간의
발하였다. 가속도 센서와 와이파이 모듈로 구성되어 있
무선통신기능을 지원하는 WiFi Module, 큐브의 값 출력
으며, 가속도 센서에서는 큐브의 윗면에 위치한 알파벳
을 담당하는 Android운영체제의 스마트폰을 사용한다.
을 인식하고 와이파이 모듈에서는 스마트폰의 어플리
90 Semiconductor Network 2016.2
가속도 센서의 경우에는 3-axis accelerometer
(p57~99)TT/AR 2016.1.27 3:8 PM 페이지91
Tiva C Series를 활용한 스마트 토이 개발
Sensor MPU9150가 장착된TI사의 Sensor Hub
신하여 보내게 된다. 값을 받은 Application에서는 해당
BoosterPack을 사용하였고, WiFi Module은 CC3100
하는 값의 큐브면을 출력하게 된다.
WIFI BoosterPack을 사용하여 구현하였다. 그림 3. CC3100 / SensorHub 핀 배치도 표1. 스마트 토이 구현 환경 Module
Function
Tiva C Series TM4C123G LaunchPad
- 2개의 ADC mouduler - 양방향 데이터 전송 2선 I2C Bus - 32KB 단일 사이클 온칩 SRAM - 2KB EEPROM - 128KB 단일 사이클 온칩 Flash Memory
SensorHub BoosterPack(MPU9150)
- 3축axis sensor - 3 축accelerometer - 3축 compass - SHT21 습도 및 온도 센서 - TMP006 적외선 온도 센서 - BMP180압력 센서 - ISL29023 빛 감지 센서
CC3100 WIFI BoosterPack
CC3100 WIFI BoosterPack을 사용해 Wifi 를 연결 하기 전에 SensorHub BoosterPack에 의한 실험을 진 행했다.
- 40MHz 크리스탈 - 32KHz 크리스탈, 오실레이터 - 8Mbit 시리얼 플래쉬
그림 4. MPU9150 9축 센서를 이용한 결과값
그림 2. 스마트 토이 시스템 구성도
가속도 센서를 이용하여 센서의 X,Y,Z 각각의 출력을
위 그림과 같이 MPU9150 센서의 가속도 센서 X, Y,
가지고 마이크로 컨트롤러(Tiva C Series TM4C123G
Z축의 결과 값을 Serial Monitor를 통해 출력하고, 확인
LaunchPad)에 입력시킨다. 입력된 데이터는 마이크로
된 값을 토대로 주사위의 윗면의 값을 따로 출력하도록
컨트롤러의 ADC변환 기능을 통하여 아날로그값에서 디
만들었다.
지털값으로 변환되고, 큐브의 윗면에 해당하는 값에 맞
가속도 센서는 각 축이 중력가속도로부터 얼마의 힘
게 변환하는 코드를 통해 X,Y,Z 3축의 값에 따라 윗면의
을 받는지를 수치로 나타낸다. 이점에서 주사위의 육면
값을 결정 짓게 된다. 이 후 마이크로 컨트롤러에서 결정
체가 고정되어 있을때 항상 2축은 중력가속도와 수직이
된 값을 CC3100 WIFI BoosterPack로 전달하게 되고
고 한축만 같거나 반대 방향으로 진행이 되므로 한축의
전달된 값을 받은 CC3100 WIFI BoosterPack은 값을
값만 매우 높은 값이 나타나게 된다.
WebSever로 1초마다 센서에서 출력값을 받아 마이크
이점을 활용하여 주사위의 윗면의 값을 인식 할 수 있
로 컨트롤러에서 계산된어진 값을 받아 WebSever로 갱
도록 프로그램을 구성하였다. CC3100 WIFI Booster-
2016.2 Semiconductor Network 91
(p57~99)TT/AR 2016.1.27 3:8 PM 페이지92
Application Review
Pack을 사용하기 전에 SensorHub BoosterPack이 결
결하기 위해
과값을 제대로 전송하는지 알아보기 위해 Bluetooth 를
스마트 토이
이용해 결과값을 전송해 보았다. Bluetooth는 HC-06
의SensorHub
블루투스 모듈을 사용했으며 실험을 위해 메인 보드는
BoosterPack
MSP430F5529를 사용했다.
에서 총 3개
그림 7. CC3100 WiFi Module IRQ 신호 측정
의 interrupt 그림 5. MSP430F5529와 HC-06 BT Module 의 연결
가 존재하지 만 P2.2의 인 터럽트가 MPU9150에 의해 발생되는 신호임을 확인하 고 MPU9150의 Data Sheet를 참고하여 Interrupt Enable, disable을 조정하며 센서 값을 입력받고 와이파 이 통신 중에는 인터럽트를 비활성 시키므로써 인터럽 트의 충돌을 방지 할 수 있었다.
그림 6. Bluetooth Chat 어플을 통해 전달받은 주사위 값
MSP430이 우리 가 의도한 값을 잘
아래의 그림 8은 Sensor Hub에서 MPU9150의 Interrupt Enable, disable 레지스터를 조정한 것 이다.
전달하고 있는지를
이 후 CC3100 WIFI BoosterPack에서 외부 WiFi서
확인하고자 Google
버에서 IP Address를 할당받아 WebServer로 데이터가
Play Store에서 무
전송된다. 하지만 시스템이 Reset이 될 때 마다 IP값이
료로 등록되어 있는
변경되는 문제점이 나타나게 되었다.
Bluetooth Chat 어플 리케이션을 설치해
그림 8. MPU9150 Interrupt Enable, disable
실행해 보았다. 위 그림과 같이 우리가 의도한 값을 받아온 다는 사실을 알게 되 었고, 다음 단계인 CC3100
WIFI
BoosterPack을 사용해 구현하는 단계를 진행하였다. 스마트 토이의 구현에서는 2개의 Booster Pack
이 문제점을 해결하기 위해 그림 9에서 보는 것과 같
(SensorHub BoosterPack, CC3100 WIFI BoosterPack)
이 IPAddress의 값을 소프트웨어상에서 직접 할당해주
을 사용하였다. 하지만 이로 인해 그림 3에서 보는것과
고 이값을 고정 시킴으로써 Reset시에 IP의 값이 계속
같이 IRQ핀(P2.2)이 중복되어 서로 신호가 겹치는 현상
해서 변하는 문제점을 해결하였다. 고정된 IP Address
이 일어나게 되었다.
는 변경이 가능 하다.
CC3100 WIFI BoosterPack의 IRQ신호를 측정 결과
어플리케이션은 Eclipse를 이용해 Android 프로그래
그림 4와 같이 계속해서 신호가 발생하는것을 알 수 있
밍으로 만들었고, Android 버전 4.3.1 API18 에 최적화
고, 그로 인해 겹쳐진 SensorHub BoosterPack의 IRQ
되어있다. 주사위의 값을 보다 쉽게 확인할 수 있도록
핀에 신호를 계속 발생하게 돼 Sensor값이 출력되지 않
어플리케이션을 제작하여 사용자의 편의를 제공하였다.
는 현상이 생겨났음을 알 수 있다. 이러한 문제점을 해
어플리케이션은 WIFI모듈과 동일한 WIFI에 접속을 한
92 Semiconductor Network 2016.2
(p57~99)TT/AR 2016.1.27 3:8 PM 페이지93
Tiva C Series를 활용한 스마트 토이 개발
표 2. MPU9150 Register56-Interrupt Enable Register (Hex)
Register (Decimal)
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
38
56
FF_EN
MOT_EN
ZMOT_EN
FIFO_ OFLOW_EN
I2C_MST _INT_EN
-
-
DATA_ RDY_EN
Parameters FF_EN
Function 1로 설정시 인터럽트를 생성하는 Free Fall 감지
뒤 고정 IP Address 즉
그림 11. 완성된 스마트 토이
192.168.0.6을 입력 해줌
MOT_EN
1로 설정시 인터럽트를 생성하는 모션 감지
ZMOT_EN
1로 설정시 제로 모션 감지
으로써 해당 URL에 접속
FIFO_OFLOW_EN
1로 설정시 인터럽트 생성을 위해 FIFO 버퍼를 오버 플로우
되고, Tiva가 보내주는 주
I2C_MST_INT_EN
1로 설정시 I2C 마스터 인터럽트 소스 중 하나를 사용 가능
사위 값을 받아 위와 같이 주사위 값을 그림 10으로 나타내게 된다.
그림 9. IP 할당
결론 이번 프로젝트를 통해 스마트토이 각각의 큐브의 면을 인식할 수 있는 기술 을 연구하였다. 프로젝트는 Sensor Hub Booster Pack 의 MPU9150의 acceleration값과 CC3100 WIFI BoosterPack의 WIFI 통신을 활용하여 각각의 면을 인 식할 수 있고 WIFI로 데이터를 전송할 수 있는 스마트 주사위를 제작하였다. 최종적으로 스마트 토이는 여러 개의 큐브들을 조합하여 단어를 생성하고, 그 생성된 단 어를 스마트폰의 어플리케이션으로 전송해주면 그에 해 당하는 동영상이나 음성을 출력함으로써 유아들의 교육 용으로써의 구현을 목표로 하고 있다. 또한 이 큐브는 모든 면을 인식할 수 있으며 X,Y,Z축의 모든 점을 인식 그림 10. 어플리케이션 실행 화면
할 수 있으므로 3D모델링의 각도를 전환하는 마우스 역 할로도 활용이 가능하며, 모델하우스의 3D모델링, 시제 품 3D모델링 전시 시에 편리하게 3D 모델의 각도를 전 환하도록 응용이 가능하다.
SN
참고 문헌 [1] http://www.ti.com/ [3] CC3100 Users Guide [3] MPU9150 Users Guide [4] Tiva C Series data sheet
2016.2 Semiconductor Network 93