如何解码未知的红外遥控协议?

时间:2016-02-12 15:37:09

标签: arduino embedded infrared remote-control

我一直在尝试解码机顶盒中使用的红外协议。我尝试过与标准协议进行比较,但它并不匹配。 我正在使用Arduino Uno和Arduifruit IR Library的解码器草图。 串行终端的输出是:

Decoded Unknown(0): Value:0 (0 bits)
Raw samples(50): Gap:18904

Head: m2600  s850

0:m450 s450  1:m400 s450    2:m450 s850 3:m400 s900     
4:m900 s350 5:m400 s500      6:m400 s450    7:m450 s450     
8:m400 s450 9:m450 s450      10:m400 s450   11:m450 s450        
12:m400 s450    13:m450 s450         14:m400 s450   15:m450 s450        

16:m450 s400    17:m450 s450         18:m850 s900   19:m400 s450        
20:m450 s450    21:m400 s450         22:m400 s500   23:m400

Extent=26100
Mark  min:400    max:900
Space min:350    max:900

我可以从数据中推断出什么(可能):

标题由2500的标记组成,即5 x 500 uSeconds,空间为2 x 500 uS。这些位大多具有500 us的相同标记和空间。除了一些比特。 这是一些标准的IR协议吗?并且通过遥控器的按钮发送的比特数不同。

3 个答案:

答案 0 :(得分:1)

您可以使用Arduino制作自己的设备并使用任何红外线代码进行播放/解码。检查此链接。这很容易。

https://learn.sparkfun.com/tutorials/ir-communication

答案 1 :(得分:0)

我发现AnalysIR工具对解码IR协议非常有用。这不是免费的,但花费大约10-15美元

答案 2 :(得分:0)

500-1000范围内的标记和空格让我想到了相移编码规则。 此外,可变数量的比特可以源自相移编码。 您可以尝试使用更常见的相移协议(RC5,RC6)。 这里有一个可以帮助你进行调查的编码/解码:https://github.com/msillano/irp_classes,它使用Arduino作为RAW rx / tx,可以与任何IRP一起使用。