您当前的位置:首页 > 电子 > 电子器件

基于Arduino入门 传感器件之红外接收传感器的应用

时间:09-10来源:作者:点击数:

目标

1、用红外接收传感器接收MINI红外遥控器发送信号,利用串口打印读取按键数值。

2、用mini红外遥控器控制LED灯的亮灭。

需准备的实验材料

Arduino UNO开发板 红外接收传感器

mini红外遥控器 LED发光模块

配套USB数据线 配套杜邦线若干

Arduino IDE软件

本期的实验内容

通过mini红外遥控器发送信号给红外接收传感器,控制LED灯的亮灭,当按下1号按键时,LED灯点亮,当按下2号按键时LED灯熄灭。

接线图(仅供参考)

Arduino UNO <------> 红外接收传感器模块

5V <------> VCC

GND <------> GND

3 <------> DAT

Arduino UNO <------> LED发光模块

5V <------> VCC

GND <------> GND

6 <------> IN

需要一个红外通信接收的第三方库文件“IRremote”。

下载链接:https://pan.baidu.com/s/1FuwJP-zyI_13J4HF5Phkkg

提取码:2fl9

下载后解压,把解压后的整个文件夹复制放到Arduino安装包的“libraries”文件夹里面。

接下来我们用红外接收传感器,通过串口来获取红外遥控器1和2按键的数值,参考程序如下

#include <IRremote.h>  //红外接收库文件
long ir_item;
IRrecv irrecv_3(3);
decode_results results_3;
void setup(){
  Serial.begin(9600);
  irrecv_3.enableIRIn();  //红外接收管脚为3
}
void loop(){
  if (irrecv_3.decode(&results_3)) {
    ir_item=results_3.value;
    String type="UNKNOWN";
    String typelist[14]={"UNKNOWN", "NEC", "SONY", "RC5", "RC6", "DISH", "SHARP", "PANASONIC", "JVC", "SANYO", "MITSUBISHI", "SAMSUNG", "LG", "WHYNTER"};
    if(results_3.decode_type>=1&&results_3.decode_type<=13){
      type=typelist[results_3.decode_type];
    }
    Serial.print("IR TYPE:"+type+"  ");
    Serial.println(ir_item);
    delay(1000);
    irrecv_3.resume();
  } else {
    Serial.print("");
    delay(1000);
  }
}

打开串口监视器,按下mini红外遥控器的1和2按键,查看数值

我们通过mini红外遥控器发送信号给红外接收传感器,来控制LED等的亮灭。当我们按下按键1时,LED灯亮;按下按键2时,LED灯熄灭。程序如下(仅供参考)。

#include <IRremote.h>  //红外接收库文件
long ir_item;
IRrecv irrecv_3(3);
decode_results results_3;
void setup(){
  pinMode(6, OUTPUT);  //定义6号为输出管脚
  irrecv_3.enableIRIn();
}
void loop(){
  if (irrecv_3.decode(&results_3)) {
    ir_item=results_3.value;
    String type="UNKNOWN";
    String typelist[14]={"UNKNOWN", "NEC", "SONY", "RC5", "RC6", "DISH", "SHARP", "PANASONIC", "JVC", "SANYO", "MITSUBISHI", "SAMSUNG", "LG", "WHYNTER"};
    if(results_3.decode_type>=1&&results_3.decode_type<=13){
      type=typelist[results_3.decode_type];
    }
    Serial.print("IR TYPE:"+type+"  ");
    if (ir_item == 16724175) {  //当红外接收器接收到按键1时,LED灯点亮
      digitalWrite(6,HIGH);  
    } else if (ir_item == 16718055) {  //当红外接收器接收到按键2时,LED灯熄灭
      digitalWrite(6,LOW);
    }
    irrecv_3.resume();
  } else {
  }
}
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐