2017-12-13 33 views
0

프로젝트 :아두 이노 리버스 엔지니어링 스카이 원격 IR 출력 데이터

  • 제거 IR
  • 를 사용하여 원격 기존 LED : 이 (PC를 제어하는)

    단계 블루투스 HID 장치에 원격 기존의 스카이 변환 회로

  • 디코드 출력 내용
  • 출력을 키보드로 변환 버튼을 누릅니다
  • 사용 블루투스 HC-05 블루투스 HID 기능에 대한 RN42 펌웨어 다시
  • 앉아 하늘 원격 :

문제와 제어 PC와 : 은 기존의 회로를 사용하여, 나는에 의해 전송 된 출력 값을 읽을 수 컨트롤러를 IR LED에 연결합니다. 나는 이것에 대해 어떻게 가야할지 모르겠다.

나는 적외선 LED의 양 (+) 단자에 전선을 납땜 한 다음 스케치 코드를 사용하여 읽어 시도 : 내 논리가 있었다

#include <IRremote.h> 

int RECV_PIN = 12; 
IRrecv irrecv(RECV_PIN); 
decode_results results; 

void setup() { 
    Serial.begin(9600); 
    irrecv.enableIRIn(); // Start the receiver 
} 

void loop() { 
    if (irrecv.decode(&results)) { 
    Serial.println(results.value); 
    irrecv.resume(); // Receive the next value 
    } 
} 

그 데이터가 전송되는 경우 IR LED는 수신기에서 읽는 것과 동일하므로 IR LED/IR 수신기없이 회로에서 직접 데이터를 읽을 수 있습니다. 그러나 이것은 실제로 효과가 없습니다, 내가받은 결과는 불규칙합니다.

버튼을 누르면 대부분의 시간 데이터가 직렬 모니터에 인쇄되지만이 데이터는 일관성이 없습니다. 때로는 버튼을 누르면 데이터가 인쇄되지 않습니다. '오른쪽'버튼을 5 번 눌러 시리얼 모니터 결과 :

1915173721 
1967414055 

일부 더 많은 결과보기를 눌러 다른 화살표 버튼 :

749184133 
4255908178 
2645846893 
3808018029 
1874349767 
489623152 
4272685797 
1488398475 
2816865927 
1510598699 
1286666972 
881703980 
1976667380 

내가 길을 잘못 이것에 대해 건가? 난 그렇게 생각 :/

어떤 조언이

감사 감사하겠습니다!

+0

공통 GND가 있습니까? 전압은 무엇입니까? – Piglet

답변

0

IR LED 로의 신호 출력은 특정 주파수의 반송파로 변조 된 코드 펄스입니다. 대부분의 리모콘의 경우 캐리어 주파수는 38KHz입니다. 그러나 40KHz 또는 56KHz와 같은 다른 반송파 주파수를 찾을 수 있습니다.

IR 수신기는 특정 주파수의 반송파로 변조 된 IR 신호를 수신하도록 설계되었습니다. 그러면 수신기는 반송파를 제거하고 코딩 된 펄스 만 출력합니다.

그래서 IR LED를 제거하고 직접 신호를 읽으면 IR 수신기 출력에서 ​​읽은 것과 같은 결과를 얻지 못합니다.

신호를 직렬 리더기에 공급하기 전에 캐리어를 제거하려면 필터링 회로가 있어야합니다.