首页 > 代码库 > arduino红外控制led(发射与接收)
arduino红外控制led(发射与接收)
网上有关红外接收的帖子不少,但是关于使用arduino自制红外发射器的帖子却很少,经过网上搜索和自己摸索,给大家发个有arduino自制红外发射器控制led亮灭的例子。关于本例我使用了两块arduino板,一块用于发射,一块用于接收。
一、红外发射(开发板一)
1 /* 2 * 发射红外线讯号 3 * 注意! 红外线发射器(IR LED)必须接到 pin 3, 不能接其它脚位,头文件已经定义,所以下面不用设置pin3口的状态 4 */ 5 #include <IRremote.h> // 引用 IRRemote 函式库 6 7 const int buttonPin = 4; // 按键(pushbutton)接在 pin 4 8 int buttonState = 0; // 按键状态 9 10 IRsend irsend; // 定义 IRsend 物件来发射红外线讯号11 12 void setup()13 {14 pinMode(buttonPin, INPUT); // 把 buttonPin 设置成 输入15 }16 17 void loop()18 {19 // 读取按键状态20 buttonState = digitalRead(buttonPin);21 22 // 检查按键是否被按下23 // 有的话 buttonState 会是高电平输出24 if (buttonState == HIGH) {25 // 发射红外线讯号26 irsend.sendNEC(0x4CB3817E, 32); // 这个编码即你按的键(接pin4)的编码,可以随意更改,如果要控制其他设备,只需将此编码改为相应编码就行27 }28 }
将以上程序烧入开发板一中,发射部分就制作完毕。下面是红外接收部分。
二、红外接收(开发板二)
1 //本例来自于红外接收模块的IRremote自带范例 2 //已经作出了修改 3 //改为当有遥控器的按键按下时,接在数字引脚4上的发光LED就会点亮,再按一下按键,led熄灭 4 /*电路连接 5 *红外接收器的VOUT接在数字引脚11上,GND接控制板的GND,VCC接控制板上+5V 6 *发光二极管引脚接在数字引脚4上,通过220欧姆电阻回到控制板的GND 7 *效果,当遥控器按下按键时,发光二极管就会闪烁,同时电脑的串口会出现按键的命令编码. 8 */ 9 10 11 #include <IRremote.h>12 13 int RECV_PIN = 11;//定义红外接收器的引脚为1114 int LED_PIN=4;//定义发光LED引脚数字415 int a=0;16 IRrecv irrecv(RECV_PIN);17 18 decode_results results;19 20 void setup()21 {22 Serial.begin(9600);23 irrecv.enableIRIn(); // 初始化红外接收器24 pinMode(LED_PIN,OUTPUT);//设置发光LED引脚数字425 }26 27 void loop() {28 if (irrecv.decode(&results)) {29 if(results.value=http://www.mamicode.com/=0x4CB3817E &a==0) //此处的32位值与发射部分发射的值要保持一致30 {31 digitalWrite(LED_PIN,HIGH);//LED点亮32 a=1;33 }34 else if(results.value=http://www.mamicode.com/=0x4CB3817E &a==1)35 {36 digitalWrite(LED_PIN,LOW);//LED熄灭37 a=0;38 }39 irrecv.resume(); // 接收下一个值40 }41 }
将以上部分程序烧入开发板二即完成接收部分制作。
两块开发板上电,当按下发射板上按键时,led点亮,再次按下发射板上按键是,led熄灭。
arduino红外控制led(发射与接收)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。