안드로이드 폰을 이용한 아두이노 자동차 컨트롤 2014 소프트웨어 경진대회 안드로이드 폰을 이용한 아두이노 자동차 컨트롤 김건우, 김지민, 정다운 건국대학교 인터넷미디어공학부 지도 교수 : 이향원 교수님 기대 효과 기존에 출시되어 있는 다른 기기에 비하여 비교적 저렴한 가격으로 기능을 구현할 수 있어 보급화 하는데 경제적이라는 장점을 갖고 있음 다양한 센서들이 장착 가능하여 다양한 분야에 응용이 가능함 응용 분야 비서 로봇, 쇼핑 도우미 로봇, 서빙 로봇, 애완 로봇 등 우리의 실생활의 다양한 분야에 응용될 수 있음 기대 효과 및 응용분야 개발 환경 및 관련 기술 관련 기술 아두이노 (Arduino) 오픈 소스를 지향하는 마이크로 컨트롤러(micro controller) 제어용 기판 컴퓨터 메인보드의 단순 버전으로 다양한 센서나 부품 등의 장치를 연결 가능 제어용 전자 장치부터 로봇과 같은 것을 만들 수 있는 '오픈 소스 하드웨어’ 지자기 (Geomagnetic) 자기장 또는 자력선의 크기와 방향을 측정하는 센서 자기장의 영향으로 여러 가지 물질의 성질 등이 변하는 것을 이용하여 자기장을 측정 홀 효과나 자기저항효과 등을 이용하여 홀 소자나 MR소자 등을 만들기도 하고, VTR, 테이프 리코더 등의 제조에도 이용 ※ 홀 효과 : 전류와 자기장에 의해 전도체 물질에 나타나는 효과이다. 전류가 흐르는 전기 전도체에 수직하게 자기장이 걸릴 때, 전류와 자기장의 방향에 수직하게 걸리는 전압을 홀 전압이라 하며, 이러한 효과를 홀 효과라 한다. (출처: Wiki) 자이로스코프 (Gyroscope) 팽이가 고속도로 회전하면 팽이의 회전축이 항상 일정한 방향을 가리키는 성질을 이용한 장치 이 원리를 응용한 것으로는 로켓의 관성 유도 장치인 Gyroscope, 선박의 수평 안정 장치로 쓰이는 Gyro 안정기 등이 있음 WiFi 무선접속장치(AP, Access Point)가 설치된 곳의 일정 거리 안에서 초고속 인터넷을 할 수 있는 근거리통신망(LAN, Local Area Network) 무선접속 장치에서는 자신이 관할하는 무선 네트워크 (BSS)의 존재를 정기적으로 알리는 방송 프레임인 비콘 (Beacon) 프레임을 전송 여러 무선접속장치에서 방송되는 비콘 프레임을 구별하기 위하여 서비스 제공자 명칭인 SSID (Service Set Identifier) 를 이용 전파나 적외선 전송방식을 이용하며, Wireless LAN 이라고도 함 모터 제어 (Motor control) 모터드라이브를 이용하여 속도 조절 및 회전 방향 조절 가능 회전 방향 조절은 +, - 를 디지털 신호로 제어하고 속도는 아날로그 신호로서 0~255 까지 조절 가능 스마트 폰 (Smart Phone) 스마트 폰에 내장된 다양한 센서를 활용하는 센싱 (Sensing) 기술로 다양한 기능 구현 가능 배경 및 목적 개발 환경 21세기 정보화시대의 최신 기술의 집약체인 스마트폰과 우리를 둘러싼 모둔 만물이 네트워크를 통하여 소통하는 만물인터넷(IoE, Internet of Everything)을 융합 누구나 이용할 수 있는 저가의 디바이스 제작을 목표 스마트 폰을 이용하여 조작할 수 있는 아두이노 자동차를 제작하기로 결정 구현 결과 시스템 구조 Top-level software structure User Smart Device GUI Server Access Point Signal Sender Accept Communication Direction Sensor Arduino #1 Arduino #2 Distance Motor control Wifi Client Gyroscope Wifi scanner Preprocessing Determination 개발 환경 하드웨어 Mainboard : Arduino Uno R3 WiFi : WiFi-shield Sensor : Geomagnetic sensor, Gyroscope, 2 DC motors (L293D) Test Device : Smart device(android, ios) 소프트웨어 IDE : Arduino sketch(C/C++) , Eclipse(Android) Design : Adobe Photoshop Document : MS Office, MS PowerPoint 주요 기능 구현 결과 스마트 폰과 아두이노 자동차 간의 통신 Server & Client 간 통신으로 구현 (Server : 스마트폰, Client : 아두이노 자동차) 아두이노 자동차의 WiFi shield 에서는 AP 모드로 동작중인 스마트 폰에 접속하여 IP를 할당 받고 이 IP 를 이용하여 통신 아두이노 보드 간 통신 아두이노 보드 간 직접 연결로 통신 가능 각 보드의 입출력이 가능한 포트를 선으로 연결하여 디지털 신호를 주고 받으며 통신 거리 예측 스마트 폰과 아두이노 자동차간 거리 예측은 RSSI 값을 이용 아두이노에서는 AP 에서 지속적으로 방송되는 Beacon 신호에서 거리를 예측하고자 하는 AP 의 신호를 Beacon 프레임의 포함되어 있는 SSID 로 구분 방향 예측 스마트 폰에서는 Orientation 센서를 이용하여 현재 북쪽 방향으로 얼마나 기울어져 있는지 계산 아두이노 자동차에서는 지자기 센서와 자이로 센서를 이용하여 방향을 계산 두 값을 비교하여 진행할 방향을 예측 Smart Device Access Point Server Arduino #1 Client SSID IP Communication Communication process between Android and Arduino (WiFi Shield) Arduino #1 Sender (port #3) Receiver (port #4) Digital signal Communication process between two Arduinos Arduino Uno R3 HMC5883L Arduino #1 WiFi scanner Smart device Access point Beacon Distance prediction process Between Android and Arduino (WiFi Shield) 100ms Target SSID Smart device Orientation sensor Direction prediction process Between Android and Arduino (WiFi Shield) Arduino #1 Geomagnetic (HMC5883L) Gyroscope (MPU6050) Compare MPU6050 UI Design 자동 모드 (Auto) 현재 스마트 트래커와 스마트 기기의 연결 상태 및 스마트 기기의 현재 각도(북쪽을 기준)를 실시간으로 보여줌 수동 모드 (Manual) 현재 스마트 트래커와 스마트 기기의 연결 상태 및 자동차를 조종할 수 있는 조작버튼을 보여줌 WiFi Sheild Auto view (left), Manual view (right) L293D