我已经搜索了谷歌,找不到与这个确切主题相关的文章。
我需要手动输入手机上的通用远程应用程序中的几个遥控器。但是,无论我在哪里看,我都无法在网上找到这些代码。
是否有红外接收器设备,我可以指向我的遥控器,按遥控器上的任何按钮,它会告诉我相应的十六进制代码?我不太了解IR技术,但似乎这样的东西必须存在,否则像lirc这样的项目究竟如何获得所有这些代码呢?
如果可能的话,我想知道这种设备的名称是否存在,或者如果不是在如何构建一个设备的方向上的一般推动。
谢谢!
答案 0 :(得分:0)
你可以得到一个IR接收器组件并用一个小型微控制器读取它以获取正在发送的信号,但我不知道如何将其转换为十六进制代码。我见过的项目只是在需要时回放信号。
有关使用传感器读取信号的一些参考文献:
http://learn.adafruit.com/ir-sensor
http://playground.arduino.cc/Code/InfraredReceivers
您的PC上有接收和发送IR的方框,但我不知道他们是否有办法获取您的应用所需的十六进制代码。
答案 1 :(得分:0)
使用Arduino和infrared receiver可以很容易地为您过滤掉任何背景信号
我将红外接收器连接到Arduino上的模拟引脚,并下载IRremote库以解码红外信号。 然后我将解码后的信号打印到Arduino IDE串行监视器
将以下代码上传到您的Arduino,并在Arduino仍然连接时打开串行监视器以查看收到的十六进制代码
#include <IRremote.h>
// Create an instance of the object to decode the signal from the IR receiver,
// passing in the value of the analog pin you chose
IRrecv irReceiver(A0);
// Create a container for the decoding result
decode_results result;
void setup()
{
// Ensure the serial monitor is set to the same frequency you pass into Serial.begin
// in this case 9600
Serial.begin(9600);
irReceiver.enableIRIn();
}
void loop()
{
if (irReceiver.decode(&result))
{
irReceiver.resume();
Serial.println(result.value, HEX);
}
}