pumpitup 发表于 2015-9-28 14:41:22

开始的时候会出现 0,0
后面会出现 FFFFFFFF,0
按TEST的时候也会出现 FFFFFFFF,0

按一次键,键值会不停循环出现,如何解决?

#include <IRremote.h>
const int irReceivePin = 2;
IRrecv irrecv(irReceivePin);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results));
{
    if (0!=results.bits)
    {
      Serial.print(results.value, HEX);
      Serial.print(",");
      Serial.println(results.bits);
    }
    irrecv.resume();
}
delay(500);
}

pumpitup 发表于 2015-9-28 15:51:31

而且延迟很大,delay改成50的话,又没有反应了。

荔枝 发表于 2015-11-9 14:34:59

666666666666666666666666

24k纯金 发表于 2015-12-21 14:47:24

这个好,硬件、软件、PC端工具配合,高效有趣。

TVHUMXMXQ 发表于 2016-1-19 23:40:56

代码上传成功了,电路也接了很多次,为什么串口监视器是空白的,没有数字显示?

firelighter 发表于 2016-2-2 16:51:19

输入端口改 pwm 的即可 const int irReceiverPin = 3;(3,5,6,9,11试过可用)板子型号:ardunio Uno R3 V1.0

azan426 发表于 2016-2-19 21:50:22

按照楼上们的代码自己试了试,能控制多个LED,还能控制减速电机。做一个遥控小车没问题了。
#include <IRremote.h>// 使用IRRemote函数库
const int irReceiverPin = 11;// 红外接收器的 OUTPUT 引脚接在 PIN2 接口 定义irReceiverPin变量为PIN2接口
IRrecv irrecv(irReceiverPin); // 设置irReceiverPin定义的端口为红外信号接收端口
decode_results results;    // 定义results变量为红外结果存放位置

void setup()
{
   Serial.begin(9600);
   irrecv.enableIRIn(); //初始化红外遥控
   pinMode(12,OUTPUT);
   pinMode(13,OUTPUT);
}

void loop() {
   
   if (irrecv.decode(&results))
{
   
   switch (results.value)
   {
         case 0xFD00FF://按键1,红灯
      {
            digitalWrite(12,HIGH);               
            break;
      }
         case 0xFD807F://按键2,绿灯
      {
            digitalWrite(13,HIGH);            
         
            break;   
      }
         case 0xFD40BF:   //按键3 熄灭
      {
         
         digitalWrite(12,LOW);
         digitalWrite(13,LOW);
          }
          break;
}
irrecv.resume(); // 接收下一个值
}
}

yangminglin 发表于 2016-3-6 15:14:56

最开始不能编译,改名字后就没问题了,后来用3.3V感觉不好用,改用5V就好了,要是有红外发射程序就好了

tianyicd 发表于 2016-3-14 16:14:15

博学笃行 发表于 2013-1-20 23:49 static/image/common/back.gif
我想在原程序基础上改进实现按下的“1”键,就点亮1口的LED。
读出“1”的编码为“FF609F ”
加了一条 ...

特地验证了来回答这个问题,我知道你已经解决了。为后面的小伙伴回答的。
在收到的码前面加上0X

例如:if( results.value == 0xFFA25D)

newphj 发表于 2016-3-30 13:09:43

正常使用。。。

Flyxin 发表于 2016-3-31 19:55:06

谢谢分享

pig881 发表于 2016-4-7 15:35:16



libraries\Arduino_IRremote_master\IRremote.cpp.o: In function `MATCH(int, int)':

C:\Users\Andyma\Documents\Arduino\libraries\Arduino_IRremote_master/IRremoteInt.h:176: multiple definition of `MATCH(int, int)'

sketch\Irtest.ino.cpp.o:C:\Users\Andyma\Documents\Arduino\libraries\Arduino_IRremote_master/IRremoteInt.h:176: first defined here

libraries\Arduino_IRremote_master\IRremote.cpp.o: In function `MATCH(int, int)':

C:\Users\Andyma\Documents\Arduino\libraries\Arduino_IRremote_master/IRremoteInt.h:176: multiple definition of `MATCH_MARK(int, int)'

sketch\Irtest.ino.cpp.o:C:\Users\Andyma\Documents\Arduino\libraries\Arduino_IRremote_master/IRremoteInt.h:176: first defined here

libraries\Arduino_IRremote_master\IRremote.cpp.o: In function `MATCH(int, int)':

C:\Users\Andyma\Documents\Arduino\libraries\Arduino_IRremote_master/IRremoteInt.h:176: multiple definition of `MATCH_SPACE(int, int)'

sketch\Irtest.ino.cpp.o:C:\Users\Andyma\Documents\Arduino\libraries\Arduino_IRremote_master/IRremoteInt.h:176: first defined here

collect2.exe: error: ld returned 1 exit status

exit status 1
编译有误。

Evaporation 发表于 2016-5-30 18:34:57

Arduino:1.6.5 (Windows 8.1), 板:"Arduino Uno"

C:\Users\lenovo\Desktop\开发板应用\arduino-1.6.5\libraries\RobotIRremote\src\IRremoteTools.cpp:5:16: error: 'TKD2' was not declared in this scope
int RECV_PIN = TKD2; // the pin the IR receiver is connected to
                ^
Multiple libraries were found for "IRremote.h"

Used: C:\Users\lenovo\Desktop\开发板应用\arduino-1.6.5\libraries\RobotIRremote

Not used: C:\Users\lenovo\Desktop\开发板应用\arduino-1.6.5\libraries\Arduino_IRremote_master

编译有误。

报告将会包含更多的信息
"在编译时,输出详细信息"
在 文件>首选项 中启用


我怀疑是没有加载到这个库。。。。:'(:'(:'(:'(

原野动力 发表于 2016-6-1 15:34:58

学习学习支持支持

海洋lhk 发表于 2016-8-1 19:15:46

楼主,好厉害。
我学着做了一遍。
为什么都是    bits 32.
我也是按两下的,为什么。
页: 1 2 3 4 5 6 7 8 9 10 [11] 12 13
查看完整版本: Arduino入门教程--第二十课--红外遥控器介绍