2010-06-15 2 views
-1

c 또는 C++를 사용하여 적외선 원격 제어 코드를 디코딩하는 방법을 알려주십시오.c 또는 C++를 사용하여 적외선 원격 제어 코드

+3

어떻게 컴퓨터 게임을 만드나요? :) 답변을 드릴 수 있도록 질문에 자세한 정보를 추가하십시오. – pmr

+2

누구나 답변을 시도 할 수있는 방법을 추가해야합니다. – shuttle87

+0

[지금까지 작성한 코드] (http://whathaveyoutried.com)를 보여주기 위해 질문을 편집하십시오. 문제가있는 코드의 윤곽선 (적어도 선호하는 [mcve])을 포함해야합니다. 그런 다음 특정 문제를 해결할 수 있습니다. 또한 [ask]를 읽어야합니다. –

답변

5

어디에서 시작해야할지 모르기 때문에 질문이 모호하다고 생각합니다.

적외선 수신기가없는 경우 여기에 a blog을 사용하여 작성하는 방법을 알아보십시오. 전자 제품에 재능이 있기를 바랍니다. 그렇지 않으면, 이제 배울 시간입니다! : D

빌드 한 경우 (또는 다른 작동하는 수신기가있는 경우) 제안 된 장치와 호환되는 오픈 소스 프로젝트 인 LIRC을 살펴볼 수 있습니다.

+0

LIRC는 확실히 시작할 수있는 좋은 장소입니다. 잠재적으로 사용자가 필요로하는 부분 (또는 필요한 특정 부분)을 대상으로 포팅 할 수 있습니다. – caf

2

글쎄, 나는 C++에 대해 잘 모르지만, 여기가 C#으로이다 :

void ReadRemote() 
{ 
    while(!Console.KeyAvailable) 
     Console.Write(DecoderClass.ReadIR(IRType.TVRemoteControl)); 
} 
+0

놀랍습니다.이게 심각한가요? – ereOn

+0

아니요, 전혀 아닙니다. – Paul

3

다른 제조업체는 다른 인코딩 방식, 다른 타이밍, 심지어 서로 다른 변조 주파수를 사용합니다. typical IR receiver sensor은 변조 신호가 OOK이 아닌 논리 펄스 시퀀스를 출력하도록 하드웨어에서 복조를 수행합니다. 수신기는 송신기 변조 주파수와 일치해야합니다. 다중 변조 주파수를 수신하려면 간단한 IR 포토 다이오드를 사용하고 각 변조 주파수에 대해 자체 OOK 반송파 탐지기 회로를 제공하거나 여러 수신기를 사용해야합니다.

일단 복조 펄스 시퀀스가 ​​있으면 특정 제조업체 인코딩 체계에 따라 디코딩하는 것이 간단합니다. 로봇 컨트롤러로 사용하기 위해 Sony SIRC 리모컨에 대해서만 이것을 수행했습니다. 센서가 인터럽트를 트리거하고 펄스 타이밍이 각 인터럽트에서 래치 된 위치. 장치에 입력 캡처 및 타이머 하드웨어 비교 기능이 있으면 오버 헤드를 줄이고 정확성을 높일 수 있습니다 (이것은 필요하지는 않지만).

는 다른 프로토콜 및 제조 업체

일부 적용 가능한 표준이 있습니다 here에 대한 주제에 자원이 많이 있습니다,하지만 제조는 그들에게 준수가 없습니다, 그리고 더 하나가있다. RC-5RECS 80은 상당히 일반적인 두 가지 표준입니다.

1

C 또는 C++ API 호출 (예 : lirc)을 사용하는 하드웨어를 구입하십시오. 또는 프로토콜을 디코딩하고 하드웨어 대신 소프트웨어로 처리하는 데 관심이 있다면 마이크로 컨트롤러를 사용하고 싶을 것입니다.

재미 있고 쉽고 처음 마이크로 컨트롤러 프로젝트로 추천합니다. 몇 가지 인기있는 프로토콜이 있으며, 대부분이 두 가지 주제에 대한 변형입니다. 기본적으로 당신은 라디오 판잣집에서 얻을 수있는 수신기를 얻습니다. 그러나 라디오 판잣집에서 라디오 구성 요소였던 것의 양 (아마도 그것이 왜 그들이 판잣집으로 이름을 바꾸는 지)이 훨씬 적어서 작은 서랍에 묻혀 있습니다. 상점의 뒤쪽에 곧 사라질 것입니다. 어쨌든 수신기 또는 digikey 또는 mouser, 마이크로 컨트롤러, 상승 및 하강 에지 사이의 클록 틱 수를 계산합니다 (수신기는 ~ 40Khz 반송파 주파수를 제거했습니다). 예상 프로토콜과 그 시간을 비교하여 0에서 1을 결정합니다. 마이크로 컨트롤러와 IR LED로 전송하는 것이 가능하지만 변조가 필요하기 때문에 조금 까다 롭습니다. 변조 클럭 및/또는 타이머 생성 클럭과 함께 마이크로 컨트롤러 외부의 단일 및 게이트는 훨씬 쉬우나, 추가 하드웨어가 필요합니다.

멀티 프로토콜 수신기는 gcc가 모든 플랫폼에서 잘 작동하지 않는 것과 같은 방식으로 특정 프로토콜 리시버만큼 좋지는 않을 가능성이 높습니다.직접 제작하는 것은 재미 있고 교육적이며 일반적으로 대량 판매되는 제품의 가격과 일치 할 수는 없지만 더 좋은 수신자가됩니다. 문제의 일부는 캐리어 주파수와 관련이 있으며 이상적으로는 사용중인 프로토콜에 대한 캐리어 주파수와 일치하는 수신기를 선택하려고합니다. 차이가 있습니다. 예를 들어, 8 피트 떨어져 있어야하는 대신 30 피트 떨어져있을 수 있습니다. 또한 3 피트 거리에서 작동하지만 1 피트 또는 3 인치 거리에서 작동하지 않을 수 있습니다. 그런 종류의 일. 케이블 및 접시 및 기타 범용 리모콘은 모든 프로토콜을 생성하므로 프로젝트가 무엇인지에 따라 자유롭게 선택하고 선택할 수 있습니다.