본 프로젝트는 안드로이드 스마트폰을 이용하여 시중에 판매중인 자이로 센서가 탑재된 RC 헬기를 자동 제어 하는 프로젝트이다.
안드로이드 스마트폰에 목적지의 GPS 위치 좌표를 입력한 후 자동 비행을 시작하면 그 위치 좌표로 자동 비행하는 것이다.
작업 명 | 진행 상황 | 진행 율 |
---|---|---|
1. IR 통신 신호 검출 가능성 검토 | 완료 | |
2. 제어 신호 캡쳐용 적외선 수신기 제작 | 동작 확인 | |
3. 원격 제어 적외선 통신 프로토콜 분석 | 입출력 신호 확인 중 | |
4. 스테레오 잭 적외선 송신기 제작 | 부품 발주 완료 | |
5. Android로 테스트 프로그램 작성 | 준비 중 | |
6. GPS 데이터 취득 및 분석 | 테스트 완료 | |
7. 자동 비행 알고리즘 작성 | 준비 중 | |
8. 테스트 및 완료 | 준비 중 |
시중에서 판매중인 미니 RC 헬기는 컨트롤 방식이 거의 대부분 IR(적외선)방식이다. 그렇기 때문에 조종기에서 발신되는 적외선 통신 신호를 분석하면 PC및 스마트폰에서 제어할 수 있을 것 같다.
그래서 현재 갖고 있는 TV카드의 리모콘용 적외선 수신 센서를 이용해서 미니 헬기 원격 제어기에서 나오는 적외선 신호가 제대로 포착 되는지 테스트 및 검토해 본다.
테스트 방식은 현재 갖고있는 TV카드의 리모콘 수신부의 잭을 3.5파이 오디오 잭으로 Interface 변환후 여기 센서에 원격제어기로 신호를 보낸 다음 수신되는 신호 변화를 녹음 하였다.
잭 변환후 PC의 오디오 녹음 잭에 연결하고 윈도우의 “녹음기” 프로그램을 실행해서 녹음을 시작하였다.
녹음은 약 1분정도 하였고 재생시 “틱 틱 틱… 틱” 과 같은 소리가 들렸는데 이는 적외선이 발신되는 소리였다. 즉, 신호를 내 보내는 소리였다.
이후 녹음된 음성 파일의 분석은 사운드 포지를 이용하여 분석하였다.
분석을 하였더니 다음과 같이 신호 파형이 잡혔다.
이로써 가능성을 확인했고 다음은 외국에서 분석한 프로토콜이다.
http://www.rcgroups.com/forums/showthread.php?t=1417249&page=3
적외선 신호를 취득하여 프로토콜을 분석하기 위해서 나는 RS232 방식으로 적외선 수신기를 제작하기로 한다.
전자회로에 대해 문외한인 나로서는 다른 사람이 만들어 놓은 회로도를 보고 부품을 구입하기로 하였다.
두 개의 회로도가 동일한 부품을 사용하지만, 첫번째 문서의 결과물이 깔끔하여 첫번째 회로를 채택하였다.
아래 표는 엘레파츠에서 부품을 구입한 내역이다.
부품 명 | 구입 수량 | 데이터 시트 |
---|---|---|
TSOP1138 | 2 | 데이터 시트 |
TS78L05CT | 10 | 데이터 시트 |
1N4148 | 10 | 다이오드 읽기 |
TAP475M016B(4.7uF 16V) | 5 | 데이터 시트 |
CFR 1/4W 5% 4.7Kohm | 20 | 데이터 시트 |
AM4457F3C | 5 | |
CFR 1/4W 5% 15Kohm | 10 | |
CFR 1/8W 5% 100Kohm | 10 | |
CFR 1/4W 5% 100ohm | 10 | |
CFR 1/8W 5% 7.5ohm | 10 | |
AL-CAP 470uF 16V | 10 | |
BD237 | 5 | 데이터 시트 |
총 구매 가격은 배송료 포함 16,865원
내가 구입한 콘덴서(TAP475M016B(4.7uF 16V))는 탄탈콘덴서이다.
탄탈기 콘덴서는 극성을 주의해야 한다. 만약 극성을 반대로 해서 조립할 경우 내부에서 은이 녹아 합선(쇼트)가 발생된다.
내가 갖고 있는 탄탈 콘덴서에는 콘덴서 표면에 플러스 극에 더하기 표시가 되어있다.
현재 프로젝트에서 적외선 통신 원격 제어기의 신호를 포착하기 위해서 RS232 방식의 적외선 수신기를 제작하였는데 적외선 신호를 RX가 아닌 DCD (Data Carrier Detect) 신호를 받는 핀으로 제작 되었다.
이 신호는 RLSD 신호(Received Line Signal Detect)이기도 한다.
Win32 API에서 제공하는 Serial 통신을 이용하기 위해서 RLSD 신호를 감지하는 방법을 알아야 하는데 다음의 내용을 확인하기 바란다.
[RS232] Windows 98/NT 를 위한 통신 프로그램 강좌(2)
그래서 일반적인 시리얼 통신용 프로그램으로는 데이터 취득이 되지 않았다. SerialWorks 라는 프로그램을 이용하니 신호 취득이 가능했다.
RLSD 신호로 수신기를 만들고 나니 적외선이 감지되면 1 감지 안되면 0이라는 신호를 받을 수 있었다.
Android 스마트폰에서 적외선 RC 헬기를 제어하기 위해 오디오 스테레오 잭으로 적외선 송신기를 제작한다.
전자회로에 대해 문외한인 나로서는 다른 사람이 만들어 놓은 회로도를 보고 부품을 구입하기로 하였다.
부품 구입 내역은 수신기 제작 페이지를 확인하기 바란다.
본 프로젝트는 안드로이드 스마트폰을 이용하여 시중에 판매중인 자이로 센서가 탑재된 RC 헬기를 자동 제어 하는 프로젝트이다.
안드로이드 스마트폰에 목적지의 GPS 위치 좌표를 입력한 후 자동 비행을 시작하면 그 위치 좌표로 자동 비행하는 것이다.
http://electronics.stackexchange.com/questions/32622/ir-to-audio-converter-frequency-and-level
http://hackaday.com/2009/10/05/building-an-ir-receiver-for-the-popcorn-hour-c-200/
http://lnx.manoweb.com/lirc/?partType=section&partName=circuit
http://www.google.com/search?q=infrared+receiver+circuit&hl=ko&tbo=d&source=lnms&tbm=isch&sa=X&ei=2zrsUPmsC8bPkAW7-YGoDg&sqi=2&ved=0CAcQ_AUoAA&biw=1680&bih=912
http://www.pcremotecontrol.com/diy/sirc.htm
http://files.myopera.com/danitool/livebox/wifiradio/lircalsa.jpg