Arduino项目开发 红外遥控小车 红外遥控器相关内容.doc

Arduino项目开发 红外遥控小车 红外遥控器相关内容.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
红外遥控器相关内容 /thread-3259-1-1.html 红外遥控系统主要分为调制、发射和接收三部分。红外接收模块中的一体化红外接收头,内部集成了红外接收电路,包括红外检测二极管,放大器,限幅器,带通滤波电容,积分电路,比较器等。能够将接收到的调制波进行解调。本次实验利用红外遥控器发出的红外载波信号,红外接收模块接收解调红外信号,来相应控制LED通断。 要使用遥控器控制arduino,首先我们得知道遥控器各按键对应的编码,不同的遥控器,不同的按键,不同的协议,对应不同的编码。 下载例程前,需要下载库文件IRremote并安装在库文件安装目录下。库文件下载地址 /shirriff/Arduino-IRremote。 例程: /* [url= /][/url] 日期:2013.5.18 IDE 版本:1.0.1 功能:获取遥控器各按键的编码值 */ ?? #include IRremote.h ?? int RECV_PIN = 11; // 红外一体化接收头连接到Arduino 11号引脚 ?? IRrecv irrecv(RECV_PIN); ?? decode_results results; // 用于存储编码结果的对象 ?? void setup() { Serial.begin(9600); // 初始化串口通信 irrecv.enableIRIn(); // 初始化红外解码 } ?? void loop() { if (irrecv.decode(results)) { Serial.println(results.value, HEX); irrecv.resume(); // 接收下一个编码 } } 打开串口监视器,对着红外接收模块按下按键 遥控器的每个按键都对应了不同的编码,不同的遥控器使用的编码也不相同。 出现“FFFFFFFF”编码,是因为我使用的是NEC协议的遥控器,当按住某按键不放时,其会发送一个重复编码“FFFFFFFF”。而其他协议的遥控器,则会重复发送对应的编码。 你可以在以下网址找到常见品牌遥控器的编码 /remotes/ 红外遥控实验利用遥控器的ON OFF按键实现对LED的开通和关断(在已知两种按键编码制的基础上,否则先确定按键编码)。 /* [url= /][/url] 日期:2013.5.18 IDE 版本:1.0.1 功能:红外遥控器控制LED灯开关 */ ?? #include IRremote.h ?? int RECV_PIN = 11; // 红外一体化接收头连接到Arduino 11号引脚 int LEDpin = 13; //定义LED输出引脚 IRrecv irrecv(RECV_PIN); ?? decode_results results; // 用于存储编码结果的对象 ?? void setup() { pinMode(LEDpin,OUTPUT); irrecv.enableIRIn(); // 初始化红外解码 } ?? void loop() { if (irrecv.decode(results)) { Serial.println( results.value); if( results.value == 0xFFA25D) //若接收到按键ON按下的指令,打开LED { digitalWrite(LEDpin,HIGH); } else if(results.value == 0xFFE21D) //接收到OFF按键按下的命令,关闭LED { digitalWrite(LEDpin,LOW); } irrecv.resume(); // 接收下一个编码 } } 观察现象:遥控器对准红外接收模块,按下ON键时LED点亮。按下OFF键时LED熄灭。 IRrecv irrecv(RECV_PIN);?? //意思是 初始化RECV_PIN引脚为红外接收状态。 下载下来的库文件安装在 X:\arduino\libraries\IRremote。 有种方法可以检查你遥控器是否发出信号出来没,拿起你的手机,打开摄像头,对着遥控器,按下遥控器,透过摄像头看你的遥控器发射头是不是会发光。不发光就证明是坏的。

文档评论(0)

WanDocx + 关注
实名认证
内容提供者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档