1、首先,还是老话常说,要实现模块通信,要具备一些简单的C语言知识或者一些简单的Python知识也是可以的。
2、这次的内容的就非常简单了,这次的内容就是为了给大家提供一个模板,(直接拿去用就可以了),实现arduino nano与红外模块通信,那只要将红外模块库包含进去就基本完成了,剩下的就是一些简单的配置。
3、简单叙述一下程序内容吧,估计大家也比较喜欢直接看程序,所以老牛也在程序中标注的比较详细,方便我们的新手小白观看借鉴。首先,这个红外模块的库文件大家还是要下载一下(如果还有小伙伴找不到的话)。
下载完成后,将库文件包含进来。剩下的大家自行看程序吧,老牛也不继续啰嗦了,直接上程序,哈哈。
/*****************************************
This program just belong to Niu Lao.
Don't spread it on website casually.
Auther: Niu Lao
Function:1、实现红外遥控与arduino nano通信
2、实现红外遥控控制LED灯的亮灭
******************************************/
#include <IRremote.h>
int hw = 8; //红外引脚变量名
int deng = 2; //设定灯的引脚
IRrecv hongwai(hw);//将红外引脚变量设置为红外引脚
decode_results results;//将红外收到的值保存在这个变量中
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);//设置初始波特率
hongwai.enableIRIn();//开启红外接收
pinMode(2, OUTPUT); //设定灯的引脚模式为输入
}
void loop() {
// put your main code here, to run repeatedly:
if (hongwai.decode(&results)) {
Serial.println(results.value, HEX); //如果接收到红外的值就打印出来
if (results.value == 0xFFFFFF) { //这里的0xFFFFFF是红外数据,可通过测试得到,不懂的话就打开串口
digitalWrite(deng, HIGH); //将灯的引脚设定为高电位(灯亮)
}
if (results.value == 0xFFFAAA) { //这里的0xFFFAAA是红外数据,可通过测试得到
digitalWrite(deng, LOW); //将灯的引脚设定为高电位(灯灭)
}
hongwai.resume();//清除这一次接收到的值
delay(50);
}
}
4、最后,有的小伙伴可能会有点迷茫,不知道里面的一些函数,想看一看它的库文件,但是arduino又不像keil可以索引,那么,老牛也将库文件放在网盘中了,有需要的小伙伴可以自行取用。
链接:https://pan.baidu.com/s/1mQQ8z9VDmBLhE4Kwx2YdVw
提取码:66ln
链接:https://pan.baidu.com/s/1EfdlmEoiuXPGw8gUoyJ5jA
提取码:66ln
关注老牛,总有一天会有你需要的东西出现~