|
|

楼主 |
发表于 2014-10-28 20:00:48
|
显示全部楼层
zoologist 发表于 2014-10-28 18:43 
我写了一个程序你可以参考一下,LED接在Pin6上
参考 http://www.geek-workshop.com/forum.php?mod=viewth ...
#include <IRremote.h>
int RECV_PIN = 11; //红外线接收器OUTPUT端接在pin 11
int LED1 = 6; // 定义LED引脚为10
IRrecv irrecv(RECV_PIN); // 定义IRrecv 对象来接收红外线信号
decode_results results; //解码结果放在decode_results构造的对象results里
void irdisplay(unsigned long value) // 按下按键后,显示本遥控对应的按键
{
switch(value){ //判定按下的是哪个按键,串口显示按钮名称
case 0xFFA25D:
Serial.println("POWER");
digitalWrite(LED1, LOW); //电源键按下,执行关闭LED灯
break;
case 0xFF629D:
Serial.println("Mode");
break;
case 0xFFE21D:
Serial.println("MUTE");
digitalWrite(LED1, HIGH); //静音键按下,执行点亮LED灯
break;
case 0xFFA857:
Serial.println("-");
break;
case 0xFF906F:
Serial.println("+");
break;
}
}
int n=100;
void setup()
{
pinMode(LED1,OUTPUT); // 定义LED为输出引脚
Serial.begin(9600); //开启串口通信,并设定波特率为9600
irrecv.enableIRIn(); //启动红外解码
pinMode(6,OUTPUT); //该端口需要选择有#号标识的数字口
}
void loop() {
if (irrecv.decode(&results))
{
//解码成功,收到一组红外线信号
irdisplay(results.value);
irrecv.resume();
}
char c;
while (Serial.available() > 0)
{
c=Serial.read();
if ('+'==c)
{
n=n+5;
}
if ('-'==c)
{
n=n-5;
}
if (n>255) {n=0;}
if (n<0) {n=255;}
analogWrite(6,n);
Serial.println(n);
}
}
这样写为什么不行?
|
|