书签 分享 收藏 举报 版权申诉 / 18
上传文档赚钱

类型《Arduino技术及应用》课件—第17章红外遥控.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:3703961
  • 上传时间:2022-10-06
  • 格式:PPT
  • 页数:18
  • 大小:319.93KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《Arduino技术及应用》课件—第17章红外遥控.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Arduino技术及应用 Arduino 技术 应用 课件 17 红外 遥控
    资源描述:

    1、目录目录IRremote类库成员函数红外接收红外发射17.2 17.117.3红外遥控总述红外遥控总述Arduino可以使用的无线模块很多,驱动方式各有不同。本章将要介绍一种最常用、成本最低的无线通信方式红外通信。红外通信是一种利用红外光编码进行数据传输的无线通信方式,是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、成本低等特点,因而被广泛应用于各个领域。生活中常见的电视机遥控器和空调遥控器,均使用红外线遥控。17.1 IRremote类库成员函数1.IRrecv 类IRrecv类可用于接收红外信号并对其解码。在使用该类之前,需要实例化一个该类的对象。其成员函数如下

    2、。(1)IRrecv()l功能:IRrecv类的构造函数。可用于指定红外一体化接收头的连接引脚。l语法:IRrecvobject(recvpin)l参数:object,用户自定义的对象名。recvpin,连接到红外一体化接收头的Arduino引脚编号。17.1 IRremote类库成员函数(2)enableIRIn()l 功能:初始化红外解码。l 语法:IRrecv.enableIRIn()l 参数:IRrecv,个IRrecv类的对象。l 返回值:无。(3)decode()l功能:检查是否接收到编码。l语法:IRrecv.decode(&results)l参数:IRrecv,一个IRrecv

    3、类的对象。results,一个decode_results类的对象。l返回值:int型值,为0表示接收到编码;为1表示没有接收到编码。17.1 IRremote类库成员函数(4)resume()l 功能:接收下一个编码。l 语法:IRrecv.resume()l 参数:IRrecv,个IRrecv类的对象。l 返回值:无。2.IRsend 类IRsend类可以对红外信号编码并发送。17.1 IRremote类库成员函数(1)IRsend()l 功能:IRSend类的构造函数。l 语法:IRsendobject()l 参数:object,一个IRsend类的对象。(2)sendNEC()l功能:

    4、以NEC编码格式发送指定值。l语法:IRsend.sendNEC(data,nbits)l参数:IRsend,一个IRsend类的对象。data,发送的编码值。nbits,编码位数。l返回值:无。17.1 IRremote类库成员函数(3)sendSony()l功能:以Sony编码格式发送指定值。l语法:Irsend.sendSony(data,nbits)l参数:IRsend,一个IRsend类的对象。data,发送的编码值。nbits,编码位数。l返回值:无。(4)sendRaw()l功能:发送原始红外编码信号。l语法:IRsend.sendRaw(buf,len,hz)l参数:IRsen

    5、d,一个IRsend类的对象。buf,存储原始编码的数组。len,数组长度。hz,红外发射频率。l返回值:无。17.1 IRremote类库成员函数除此之外还有如下函数,用于其他常见协议的红外信号发送:l sendRC5();l sendRC6();l sendDISH();l sendSharp();l sendPanasonic();l sendJVC();在红外通信中的两端,一端进行红外信号的编码并发送,另一端接收红外信号并解码。以下示例中将使用红外遥控器作为红外信号的发送端,使用Arduino和一体化接收头作为红外信号的接收端。17.2红外接收要想使用遥控器来控制Arduino,首先需

    6、了解遥控器各按键对应的编码,不同的遥控器,不同的按键,不同的协议,都对应着不同的编码。可通过IRremote的示例程序来获取遥控器发送信号的编码。红外信号接收端的制作只需将红外一体化接收头按图17-1连人Arduino即可,示例中将红外一体化接收头的输出脚连接到Arduino的11号引脚。17.2红外接收这里使用以下程序对红外信号进行解码,可以通过选择“文件”“示例”IRremoteIRrecvDemo菜单项找到该程序。下载好该示例程序后,使用遥控器向红外一体化接收头发送信号,并在串口监视器中査看,则会看到如图17-2所示的信息。17.2红外接收遥控器的每个按键都对应了不同的编码,不同的遥控器

    7、使用的编码方式也不相同。之所以出现“FFFFFFFF”编码,是因为使用的是NEC协议的遥控器,当按住某按键不放开时,其会发送重复编码“FFFFFFFF”。对于其他协议的遥控器,则会重复发送其对应的编码。在以上示例中,通过语句int RECV_PIN=11;IRrecvirrecv;实例化了一个IRrecv类的红外接收对象irreev,并将红外接收头引脚连接到了Arduino的11号引脚上;接着在setup()中使用enableIRIn()函数初始化红外解码功能。在loop()中使用decode()函数检査是否收到编码,并将结果存储到decode_ results类的results对象中。解码后

    8、的结果会保存在results.value中;最后通过 resume()函数开始接收下一个编码。17.2红外接收如果要使用红外遥控器来控制Arduino上连接的设备,则只需将解码后的结果results.value与设定功能的编码进行比对,如果一致,便执行相应的功能,如在以上程序中添加如下语句:switch case 0 xFFA25D:break;/按键对应的动作 case 0 xFFE21D:break;/按键对应的动作 case 0 xFF9867:break;/按键对应的动作.17.3红外发射除了使用红外遥控器发射红外信号外,也可以使用Arduino来发送经过编码的红外信号。如图17-3所

    9、示,只需将红外发射管与Arduino连接即可,连接方式与普通LED类似,只要串联一个限流电阻即可。另外,IRremote库只能使用3号引脚作为红外信号输出脚。17.3红外发射可以通过选择“文件”“示例”IRremoteIRrecvDemo菜单项找到该示例程序。#includeIRsend irsend;void setup()Serial.begin(9600);/初始化串口通信 void loop()if(Serial.read()!=-1)for(int i=0;i3;i+)irsend.sendSony(0 xa90,12);/发送索尼电视机电源开关对应的编码 delay(40);17.

    10、3红外发射这样便可模拟红外遥控器发射的经过编码的红外信号了。虽然红外光不可见,但可以通过手机或者电脑的摄像头来观察红外LED是否发光,以便排除硬件问题。还可以使用两块Arduino进行红外无线通信。在一定环境下,即使接收模块与发送模块没有相对,红外信号也可以靠物体反射进行传播。以上程序中使用了for循环,发送了3次Sony红外编码,这是因为在Sony、RC5、RC6协议中都规定编码要发送3次。IRremote库还可以使用其他函数来发送不同编码的红外信号,如使用sendNEC()发送NEC编码的红外信号,使用sendPanasonic()发送松下编码的红外信号等。除了这些常见标准协议外,IRremote库还支持发送自定义的原始编码。17.4 本章小结本章介绍了一种目前使用最广泛的通信和遥控手段红外通信,其因体积小、功耗低、成本低等特点,被广泛应用于各个领域。本章分别从IRremote类库成员函数、红外接收、红外发射三个方面对其进行了一些简单介绍。Thank You!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《Arduino技术及应用》课件—第17章红外遥控.ppt
    链接地址:https://www.163wenku.com/p-3703961.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库