- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Arduino红外解码程序By乌龟.pdf
Arduino 红外解码程序
——By 乌龟
我上网找过很多红外解码的程序,都看起来挺麻烦的。后来才发现原来早有
人编好了红外编码解码的函数库了。在此感谢极客工坊的弘毅大神,还有编写这
个库的那位大神。
详细资料在:/ 一个台湾人的blog,大陆
需翻墙才能看到,里面关于红外解码还有发射红外信号写的非常详细,还有相关
代码,有需要的可以翻墙看看,随便找个在线代理就可以了。
关于红外编码解码的原理网上太多了,我就不写在这了。直入正题!
首先,arduino IDE 本来就有红外线IRremote 的函数库,没有的可以去官网
下。但是arduino1.0 版本的不能直接用这个函数库(一开始还把我搞糊涂了,自
带的IRremote 里面的Example 都不能编译成功),需要改点东西。
首先进入arduino 文件夹,然后进入libraries 文件夹,然后进入IRremote 文
件夹,修改IRremoteInt.h 里面的这行:
#include WProgram.h
改成这样子:
#if ARDUINO = 100
#include Arduino.h
#else
#include WProgram.h
#endif
改完之後,不管是 Arduino 1.0 或 Arduino-0023 甚至更早期的版本应该都可以
work 。
然后就是解码程序,我直接引用blog 里面的。
#include IRremote.h
int RECV_PIN = 11; //红外线接收器OUTPUT 端接在pin 11
IRrecv irrecv(RECV_PIN); // 定义IRrecv 对象来接收红外线信号
decode_results results; //解码结果放在decode_results 构造的对象results 里
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // 启动红外解码
}
void loop() {
if (irrecv.decode(results)) { // 解码成功,收到一组红外线信号
Serial.print(irCode: );
Serial.print(results.value, HEX); // 输出红外线解码结果 (十六进制)
// results.value 是unsigned long 型,头文件有介绍
Serial.print(, bits: );
Serial.println(results.bits); // 红外线码元位数
irrecv.resume();
}
}
原理介绍:irrecv.enableIRIn()启动红外解码后,这时候 IRrecv 对象会在后台接收
红外线信号。接着就可以利用 decode()函数持续检查,看看有没有解码成功。
irrecv.decode(results) 解码成功,这个函数会返回 true ,并把结果放在 results
里面,在解码一个红外线信号之后,要运行resume()函数,这样才会持续接收下
一组信号。
可以先利用这个程序解析出所使用遥控的编码,然后根据所得到的编码,修
改程序实现所需的功能。解析出的编码数值是unsigned long,注意一下,在判决
的时候用0xFFA25D 判定是否是某个按键。最后面附上我写的程序。
出现FFFFFFFF 应该是按键码之后出现的重复码,这个可以通过判断语句
if(results.value != (-1))去掉,也有的解码出来是0 ,或者其他的,这个就自己解决
吧。
最后附上本人写的程序
#include IRremote.h
int RECV_PIN = 11; //红外线接收器OUTPUT 端接在pin 11
IRrecv irrecv(RECV_PIN); // 定义IRrecv 对象来接收红外线信号
decode_results results;
您可能关注的文档
- 5.看不见的光.ppt
- 500m球反射面射电望远镜FAST.pdf
- 532 nm激光泵浦硝酸钡晶体产生外腔拉曼激光.pdf
- 5_取代苯亚甲基乙内酰脲的紫外光谱及其取代基效应.pdf
- 5_溴水杨基荧光酮_CTMAB荧光熄灭法测定铜的研究.pdf
- 5_溴水杨醛氨基酸Schiff碱及其铜_配合物的制备和抑菌性能研究.pdf
- 5仪器分析法:紫外可见分光光度法.ppt
- 5光度法直接测定废水中微量油的研究.pdf
- 5入门必知LED31个行业术语.pdf
- 5浙江传媒学院第五章上课版本.ppt
- 2025年学期新外研版(三起)英语三年级上册课件 Unit6 Part4.pptx
- 新人教版(2022新课标)一年级上册数学教学课件 5.1 9加几.pptx
- 新人教版(2022新课标)七年级上册英语教学课件 Unit 4第5课时(Section B 3a-Reflecting)第5课时(Section B 3a-Reflecting).pptx
- 新人教版(2022新课标)一年级上册数学教学课件 第1课时 认识立体图形 第1课时 认识立体图形.pptx
- 2025年新人教版七年级上册英语教学课件 Unit 4第5课时(Section B 3a-Reflecting)第5课时(Section B 3a-Reflecting).pptx
- 2025年学期新人教版地理七年级上册课件 第四章 天气与气候 4.2.2 气温的分布.pptx
- 2025年学期新沪粤版八年级上册物理课件 第4章 物质的形态及其变化第1节 从全球变暖谈起.pptx
- 2025年新冀教版三年级上册英语教学课件 U2L3.pptx
- 新人教版(2022新课标)七年级上册数学教学课件 2.3 有理数的乘方 2.3.2 科学记数法.pptx
- 2025年学期新北师大版一年级上册数学课件 总复习 第4课时 统计与概率.pptx
文档评论(0)