【入门教程】DFR0100 Arduino教程15-红外接收-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5162|回复: 0

【入门教程】DFR0100 Arduino教程15--红外接收

[复制链接]
发表于 2016-12-7 10:28 | 显示全部楼层 |阅读模式
本帖最后由 dfrobot 于 2016-12-7 10:34 编辑

该教程实验平台:Arduino入门套件
上一篇教程:
Arduino教程 Lesson 14--自制风扇
这节我们会接触一个新的元件——红外接收管。所谓红外接收管,也就是接收红外光的电子器件。红外接收管,看着离我们很遥远的感觉!其实不然,它就在我们身边。比如我们电视机,空调这些家电,其实它们都需要用到红外接收管。我们都知道遥控器发射出来的都是红外光,电视机上势必要有红外接收管,才能接收到遥控器发过来的红外信号。

我们这次就用红外接收管做个遥控灯,通过遥控器的红色电源键来控制LED的开关。

所需材料
  • 1×   红外接收管
  • 1×  Mini遥控器

STEP 1: 硬件连接
看着是不是很高兴,这应该是我们看到最容易的连线了,只需要连接三根线就可以了,注意一下正负就可以了(图中表明部分)。红外接收管Vout输出接到数字引脚11。


STEP 2: 输入代码
这段代码,你可以不用自己手动输入,我们提供现成的IRremote库,把整个库的压缩包解压到Arduino IDE安装位置Arduino 1.0.5/ libraries文件夹中,直接运行Example中的IRrecvDemo代码即可。如果还是不是很明白如何加载库,可看一下如何加载库的帖子,对如何加库做了详细说明。
[mw_shl_code=c,true]
//这段代码来自IRremote库中examples中的 IRrecvDemo
#include <IRremote.h>          //调用IRremote.h库
int RECV_PIN = 11;             //定义RECV_PIN变量为11
IRrecv irrecv(RECV_PIN);       //设置RECV_PIN(也就是11引脚)为红外接收端
decode_results results;        //定义results变量为红外结果存放位置

void setup(){
     Serial.begin(9600);          //串口波特率设为9600
     irrecv.enableIRIn();         //启动红外解码
}

void loop() {
     //是否接收到解码数据,把接收到的数据存储在变量results中
     if (irrecv.decode(&results)) {  
            //接收到的数据以16进制的方式在串口输出
            Serial.println(results.value, HEX);
            irrecv.resume();  // 继续等待接收下一组信号
      }
}
[/mw_shl_code]
下载完成后,打开Arduino IDE的串口监视器(Serial Monitor),设置波特率baud为9600,与代码中Serial.begin(9600)相匹配。


设置完后,用Mini遥控器的按钮对着红外接收管的方向,任意按个按钮,我们都能在串口监视器上看到相对应的代码。如下图所示,按数字“0”,接收到对应16进制的代码是FD30CF。每个按钮都有一个特定的16进制的代码。


如果按住常按一个键不放就是出现“FFFFFFFF”。



在串口中,正确接收的话,应该收到以FD-开头的六位数。如果遥控器没有对准红外接收管的话,可能会接收到错误的代码。如我们下图所示:




上面这段代码我们没有像以前一样一步一步做详细说明,原因就是由于红外解码较为复杂,所幸的是,高手把这些难的工作已经做好了,提供给我们这个IRremote库,我们只需要会用就可以了,先不需要弄明白函数内部如何工作的。要用的时候,把代码原样搬过来就好了。照猫画虎,先用起来再说~

预热完之后,我们下一节开始制作遥控灯。^_^

IRremote.rar (30.66 KB, 下载次数: 26, 售价: 1 金币)
下一篇教程:Arduino教程 Lesson 16--遥控灯


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 03:27 , Processed in 0.108192 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表