Arduino 红外遥控实验

在生活中红外遥控无处不在,比如家里电视遥控器就是,下面我们来讲解一下用Arduino实现红外遥控。

主要功能

通过Arduino读取红外遥控器的按键编码,控制LED灯的亮和灭。

工作模式

所需库文件是IRremote.h,可以在Arduino 库管理器中下载。

组件

– 1 * Adeept UNO板

– 1 * USB电缆

– 1 * LED

– 1 *跳线

– 红外接收头

– 红外遥控器

程序

步骤1:如下图所示连接电路。

/*************************************
File name:Adeept_infrared_remote
Description:
Website:www.addept.com
E-mail:support@addept.com
Author:felix
Date:2019/6/27
*************************************/
#include <IRremote.h>     //declare IRremote library
int RECV_PIN = A0;        //declare receive pin A0
IRrecv irrecv(RECV_PIN);  
decode_results results;   //save the decode results
void setup() {
      Serial.begin(9600);  
      irrecv.enableIRIn(); //start the receiver
      pinMode(13,OUTPUT);  
}

void loop() {
  if (irrecv.decode(&results))//decode successful
    {  
      Serial.println(results.value); //print the results
      if(results.value == 16724175){
        digitalWrite(13,HIGH);
      }
      else if(results.value == 16738455){
        digitalWrite(13,LOW);
      }
      irrecv.resume();               //receive the next value
    }  
    delay(100); 
}

 

步骤2:上传程序

  1. 使用IRRemote函数库,支持众多的红外协议
  2. 红外线接收器连接A0接口
  3. 定义红外线信号接收端口
  4. 定义变量存放位置
  5. 开启串口,波特率默认9600
  6. 红外解码模式启动
  7. 设置13引脚为输出模式,控制LED灯
  8. 主循环程序;测试是否解码成功,接收到指定编码,控制LED灯点亮或者关闭
  9. 等待接收下一组信号

步骤3:实验效果

跳至工具栏