【发布时间】:2018-05-27 18:31:52
【问题描述】:
项目: 将现有的 Sky 遥控器转换为蓝牙 HID 设备(以控制 PC)
步骤:
- 移除红外 LED
- 使用现有的远程电路
- 解码输出详细信息
- 将输出转换为键盘按钮按下
- 使用带有 RN42 固件的蓝牙 HC-05 来实现蓝牙 HID 功能
- 坐下来用天空遥控器控制电脑:)
问题: 使用现有电路,我想读取控制器发送到 IR LED 的输出值。我不知道该怎么做。
我已将一根电线焊接到 IR 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
我是不是走错了路?我想是的:/
任何建议将不胜感激
谢谢!
【问题讨论】:
-
你们有共同的GND吗?电压是多少?
标签: arduino reverse-engineering arduino-uno circuit infrared