• 注册
  • 查看作者
  • 如何用arduino解码红外遥控器按键?

    红外接收头示例:

    如何用arduino解码红外遥控器按键?

    红外接收头arduino uno接线示意图

    如何用arduino解码红外遥控器按键?

    安装IRremote库5 a% j, V- }2 N7 O3 A+ [
    下载库,解压缩,放到Arduino安装文件的libraries文件夹中4 ?0 ~% F- k) E. }$ a. G, X
    下载地址: 链接

    代码:

    。。。。。。代码开始。。。。。

    #include <IRremote.h>

    int RECV_PIN = 11;//定义红外接收器的引脚为11
    IRrecv irrecv(RECV_PIN);
    decode_results results;

    void setup()
    {
    Serial.begin(9600);
    irrecv.enableIRIn(); // 初始化红外接收器
    }

    void loop() {
    if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);//以16进制换行输出接收代码
    Serial.println();//为了便于观看输出结果增加一个空行
    irrecv.resume(); // 接收下一个值
    }
    }

    。。。。代码结束。。。。。

    打开arduino自带的串口监视软件

    如何用arduino解码红外遥控器按键?

    记录自己要定义的按钮的 代码以备后期使用  E* Z0 z; ]4 @- P# E, \: N” @; U# ]+ k

    显示irCode:FFFFFFFF,bits:32是因为遥控器上没有做中断,误码导致,只要按一下松开,再按一下松开就没问题。” w7 N& S9 B- r* f! i0 Q2 U* }

    代码样例:
    FFA25D   FF629D
    FF22DD  FF02FD   FFC23D
    5 M) M; [! `) U
    & H7 r1 H! H- p: M& W
    arduino程序中 要给每个代码前加上0x00
    如:long advence = 0x00FF629D;
    long back = 0x00FF02FD;& S% A$ h7 e0 g8 W6 z
    long stop = 0x00FFA25D;1 [
    long left = 0x00FF22DD;7 q. w% T’ p6 n* J  Z! q& d/ D- {4 Q
    long right = 0x00FFC23D;

    发布日期:2017.08.09

  • 0
  • 0
  • 0
  • 395
  • 请登录之后再进行评论

    登录
  • 动态
  • 单栏布局 侧栏位置: