当前位置:首页 > 文章中心 > 正文内容

如何在 Arduino 上使用红外遥控

dgx6662周前 (05-26)文章中心11

日常生活中我们会接触到各式各样的遥控器,电视机、空调、机顶盒等都有专用的遥控器,很多智能手机也在软硬件上对红外遥控做了支持,可以集中遥控绝大部分家用电器。本篇介绍红外遥控相关原理及应用,通过红外遥控器控制 Uno 板载 LED 灯。

红外遥控原理

红外遥控主要由红外发射和红外接收两部分组成。

红外发射和接收的信号其实都是一连串的二进制脉冲码,高低电平按照一定的时间规律变换来传递相应的信息。为了使其在无线传输过程中免受其他信号的干扰,通常都将信号调制在特定的载波频率上(38K红外载波信号),通过红外发射二极管发射出去,而红外接收端则要将信号进行解调处理,还原成二进制脉冲码进行处理。

红外接收头有三个引脚,如上图从左到右依次为VOUT、GND、VCC。红外遥控器发射的38K红外载波信号由遥控器里的编码芯片对其进行编码,具体编码方式和协议可在网上获取,这里不再展开。当按下遥控器按键时,遥控器发出红外载波信号,红外接收器接收到信号,程序对载波信号进行解码,通过数据码的不同来判断按下的是哪个键。

红外遥控库安装

在IDE中点击「项目」—「加载库」—「管理库」,查找「IRremote」进行安装。

实验材料

Uno R3开发板
配套USB数据线
面包板及配套连接线
红外接收头
红外遥控器
4. 实验步骤
1. 根据原理图搭建电路。
红外接收头左侧VOUT连接开发板数字引脚11,GND和VCC分别连接开发板的GND和5V。

实验原理图如下图所示:

实物连接图如下图所示:

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

/*
* IRrecvDemo
* 红外控制,接收红外命令控制板载LED灯亮灭
*/
#include <IRremote.h>
int RECV_PIN = 11;
int LED_PIN = 13;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, HIGH);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
if (results.value == 0xFFA25D) //开灯的值
{
digitalWrite(LED_PIN, LOW);
} else if (results.value == 0xFF629D) //关灯的值
{
digitalWrite(LED_PIN, HIGH);
}
irrecv.resume(); // Receive the next value
}
delay(100);
}

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

实验分析

程序中引入IRremote库,当按下红外遥控器时,在串口监视器中可以看到不同按键的按键码,然后我们选取了两个按键码值进行条件控制,就可以实现遥控LED灯了。

扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/1919.html

标签: arduino下载
分享给朋友:

“如何在 Arduino 上使用红外遥控” 的相关文章

AUTOCAD——工作空间设置

在使用AUTOCAD绘图之前需要建立适合自己的绘图环境。今天我们说的工作空间就是其中之一。AUTOCAD工作空间分为:草图与注释;三维基础;三维建模;AutoCAD经典。用户可以轻松的切换工作空间。使用工作空间时,只会显示与任务相关的菜单、工具栏和选项板。切换工作空间的操作步骤(1)打开AutoCA...

安装AUTOCAD时,出现错误1606,如何解决?林老师教你2个解决方法

如果安装AutoCAD或者卸载(修改)等操作是,弹出错误1606。无法访问网络位置窗口时候,看下面的操作。网上很多都是千篇一律,修改注册表一类。我试过后,基本上无效,但也不代表其他人无效,所以我将讲解两种方法。我这里没有指明版本,但是你可以试试。因为我旨在成功。第一种:修改注册表打开注册表(WIN+...

网易停运两年游戏将复活,魔兽争霸官方对战平台明年却要停运了

最近游戏圈里也是出了不少让人唏嘘的反转,上个月网易和暴雪分手也是引发整个行业内外都在关注了。而今天的两个主角,却恰恰又和网易、暴雪沾上了关系——游戏经历比较久远的网友,对于对战平台等可能都不会太陌生,当年的浩方、11等对战平台也是成为一代人联机体验《魔兽争霸3:冰封王座》《DOTA》《真三国无双》等...

cad2007新手入门基础绘图案例 #学习

大家好,这节课给大家分享一个简单的 cad 入门案例。1. 这里是一个半径为三十的圆,这里间隔距离是五十,所以直接输入命令 c 空格。2. 第一点输入一个三十的半径画出了一个圆,画好了以后再画第二个圆是一空格。3. 然后以这里的圆心再来画一个五十加三十就是八十的半径,这样画了两个圆。4. 画好了以后...

AUTOCAD——中心线绘制

创建与选定直线和多段线关联的指定线型的中心线几何图形。执行方式1.输入中心线绘制命令“CENTERLINE”(快捷键:CL)。中心线绘制命令2.根据提示选择第一条直线,鼠标左键点击。第一条直线3.接下来再选择第二条直线,鼠标左键点击。第二条直线4.中心线标注完成,标注效果如下图:标注完成标注效果...

Win10 新版本预告 DirectX 12 已内置

尼诺网讯:Windows 10一月技术预览版并非包括了微软在发布会上宣布的所有功能,微软Joe Belfiore发布会现场演示开始也提到,“这些功能并不会全部出现在接下来的Windows 10预览版本中,会在3、4、5月内推出”-基本上这个时间点正好也能赶上Build 2015。新的Windows...