求教。。怎么让红外遥控一个按键实现两个功能
比如说点一下LED亮,再点一下LED灭。。。{:soso_e109:} 同一个LED可以在程序中取反就可以了,即端口现在1收到红外后就置0,反之亦反。 双击或长按 davidce 发表于 2014-10-25 14:00 static/image/common/back.gif双击或长按
长按后返回编码是FFFFFF 林定祥 发表于 2014-10-25 13:10 static/image/common/back.gif
同一个LED可以在程序中取反就可以了,即端口现在1收到红外后就置0,反之亦反。
#include <IRremote.h>// 使用IRRemote函数库
const int irReceiverPin = 2;// 红外接收器的 OUTPUT 引脚接在 PIN2 接口 定义irReceiverPin变量为PIN2接口
IRrecv irrecv(irReceiverPin); // 设置irReceiverPin定义的端口为红外信号接收端口
decode_results results; // 定义results变量为红外结果存放位置
intLED1=6;
ints=0;
void setup()
{
Serial.begin(9600); // 开启串口,波特率为9600
irrecv.enableIRIn(); // 启动红外解码
pinMode(6,OUTPUT);
}
void loop()
{
if (irrecv.decode(&results)) { // 解码成功,把数据放入results变量中
// 把数据输入到串口
if(s>=2);{
digitalWrite(LED1,LOW);
s=0;
}
Serial.println(results.value); // 显示红外编码
if(s<2&&results.value==0xFF30CF)
{
s=s+1;
digitalWrite(LED1,HIGH);
}
}
irrecv.resume(); // 继续等待接收下一组信号
delay(600); //延时600毫秒,做一个简单的消抖
}
控制累计无法实现嘛? D骷髅殇 发表于 2014-10-26 09:56 static/image/common/back.gif
#include // 使用IRRemote函数库
const int irReceiverPin = 2;// 红外接收器的 OUTPUT 引脚接在 ...
为什么会这么复杂啊,亮和不亮只有两个状态.因此初始S=0,判断到有红外S=S非,送端口就可以了。 林定祥 发表于 2014-10-27 15:43 static/image/common/back.gif
为什么会这么复杂啊,亮和不亮只有两个状态.因此初始S=0,判断到有红外S=S非,送端口就可以了。
明白了。。。谢了:handshake 一楼正解 你在函数中LED1=!LED;即可 我不知道是不是,我学zigbee的
页:
[1]