极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 迷你强

Arduino入门教程--第二十课--红外遥控器介绍

  [复制链接]
发表于 2015-9-3 14:52:36 | 显示全部楼层
我直接用了它给的例子,都会编译失败,是IDE版本不兼容么?
回复 支持 反对

使用道具 举报

发表于 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);
}
回复 支持 反对

使用道具 举报

发表于 2015-9-28 15:51:31 | 显示全部楼层
而且延迟很大,delay改成50的话,又没有反应了。
回复 支持 反对

使用道具 举报

发表于 2015-11-9 14:34:59 | 显示全部楼层
666666666666666666666666
回复 支持 反对

使用道具 举报

发表于 2015-12-21 14:47:24 | 显示全部楼层
这个好,硬件、软件、PC端工具配合,高效有趣。
回复 支持 反对

使用道具 举报

发表于 2016-1-19 23:40:56 | 显示全部楼层
代码上传成功了,电路也接了很多次,为什么串口监视器是空白的,没有数字显示?
回复 支持 反对

使用道具 举报

发表于 2016-2-2 16:51:19 | 显示全部楼层
输入端口改 pwm 的即可 const int irReceiverPin = 3;(3,5,6,9,11试过可用)板子型号:ardunio Uno R3 V1.0
回复 支持 反对

使用道具 举报

发表于 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(); // 接收下一个值
}
}
回复 支持 反对

使用道具 举报

发表于 2016-3-6 15:14:56 | 显示全部楼层
最开始不能编译,改名字后就没问题了,后来用3.3V感觉不好用,改用5V就好了,要是有红外发射程序就好了
回复 支持 反对

使用道具 举报

发表于 2016-3-14 16:14:15 | 显示全部楼层
博学笃行 发表于 2013-1-20 23:49
我想在原程序基础上改进实现按下的“1”键,就点亮1口的LED。
读出“1”的编码为“FF609F ”
加了一条 ...

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

例如:if( results.value == 0xFFA25D)
回复 支持 反对

使用道具 举报

发表于 2016-3-30 13:09:43 | 显示全部楼层
正常使用。。。
回复 支持 反对

使用道具 举报

发表于 2016-3-31 19:55:06 | 显示全部楼层
谢谢  分享
回复 支持 反对

使用道具 举报

发表于 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
编译有误。
回复 支持 反对

使用道具 举报

发表于 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 | 显示全部楼层
学习学习支持支持
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-24 06:04 , Processed in 0.050281 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表