极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 迷你强

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

  [复制链接]
发表于 2016-8-1 19:15:46 | 显示全部楼层
楼主,好厉害。
我学着做了一遍。
为什么都是    bits 32.
我也是按两下的,为什么。
回复 支持 反对

使用道具 举报

发表于 2016-9-17 14:13:28 | 显示全部楼层

使用的元器件只有:

QQ截图20160917134431.jpg (68.18 KB, 下载次数: 0)
下载附件
https://detail.tmall.com/item.htm?id=44127880320&spm=a1z09.2.0.0.wl3xGX&_u=h1sqvu1j7953
19 分钟前 上传  
器件网址是:https://detail.tmall.com/item.htm?id=44127880320&spm=a1z09.2.0.0.wl3xGX&_u=h1sqvu1j7953 和 https://detail.tmall.com/item.htm?id=520022123833&spm=a1z09.2.0.0.wl3xGX&_u=h1sqvu1j2b4d
使用的源码来自于:http://www.geek-workshop.com/for ... thread&tid=2433
补充:用了好几个板子,都是一样的;用电表打了红外模块,也有高低电平输出
问题:串口监视器一直没有接收到数据,是怎么回事?
回复 支持 反对

使用道具 举报

发表于 2016-9-21 19:37:56 | 显示全部楼层
irrecv.decode(&results);这一句什么意思啊  有点不明白 有对应的语法吗
回复 支持 反对

使用道具 举报

发表于 2016-12-26 15:58:31 | 显示全部楼层
laofuz1024 发表于 2012-12-1 21:02
#include

int RECV_PIN = 11;

上传成功,但是提醒我未使用:c:\users\CHT\Desktop\arduino-1.6.6-windows\arduino-1.6.6\libraries\RobotIRremote
回复 支持 反对

使用道具 举报

发表于 2017-1-8 19:00:55 | 显示全部楼层
Arduino:1.8.0 (Windows 7), 开发板:"Arduino/Genuino Uno"

C:\Program Files\Arduino\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

                ^

"IRremote.h" 对应多个库
已使用: C:\Program Files\Arduino\libraries\RobotIRremote
未使用:C:\Users\abc\Documents\Arduino\libraries\Robot_IR_Remote
未使用:C:\Users\abc\Documents\Arduino\libraries\Arduino_IRremote_master
exit status 1
为开发板 Arduino/Genuino Uno 编译时出错。

在文件 -> 首选项开启
“编译过程中显示详细输出”选项
这份报告会包含更多信息。
回复 支持 反对

使用道具 举报

发表于 2017-5-6 12:47:40 | 显示全部楼层
为什么那个红外遥控使用那个显示不了,使用串口显示器,而且硬件都搭好了
回复 支持 反对

使用道具 举报

发表于 2017-7-25 10:04:40 | 显示全部楼层
yuanjiong199 发表于 2012-12-23 20:32
我试成功了。解压后文件夹应改为IRremote,如果是Arduino_IRremote_master的话Arduino IDE会报错的。不过我 ...

你做的很对,就要改成IRremote,不然就报错了
回复 支持 反对

使用道具 举报

发表于 2017-7-26 20:20:54 | 显示全部楼层
感谢楼主,学习了
回复 支持 反对

使用道具 举报

发表于 2017-8-7 08:34:34 | 显示全部楼层
弘毅 发表于 2012-12-7 23:29
{:soso_e103:} 不能编译吗?是不是库没装好。

我想问一下,怎样设置它,让他可以控制小车或者舵机变化,比如我输入1舵机转动90°,现在我输入1,串口通讯上现实的是FF30CF,我不知道怎么见它当作条件应用,
回复 支持 反对

使用道具 举报

发表于 2017-10-16 08:43:39 | 显示全部楼层
学习个思维
回复 支持 反对

使用道具 举报

发表于 2018-2-24 20:52:09 | 显示全部楼层
你好,如果我通过红外遥控器来控制小车,可是我该如何使接受的遥控器信号转化为数字,通过if语句进行小车的控制
回复 支持 反对

使用道具 举报

发表于 2018-2-25 00:02:38 | 显示全部楼层
liutian 发表于 2018-2-24 20:52
你好,如果我通过红外遥控器来控制小车,可是我该如何使接受的遥控器信号转化为数字,通过if语句进行小车的 ...

接收信號→解碼→依解碼結果判斷輸入信號是哪個按鍵→
啟動相對應的處理程式來處理→繼續接收信號→解碼...

我的做法大多是依解碼的結果,用 switch + case 來進行對應
處理,以下紅外線處理程式片段截取自我自己做的 lcd 時鐘:

#include <IRremote.h>                   //外掛紅外線遙控
#define IR_PIN 5                          //定義紅外線訊號腳位為 pin 5

//使用 JVC 汽車音響遙控器 RM-RK25,定義如下(用範例程式自己抓解碼結果):
#define PB_ATT    0x95B38CA             //[ATT]等同一般按鍵[ADJ]背光切換功能
#define PB_FUNC   0x102C9C72                  //[FUNC]等同一般按鍵[MODE]選擇功能
#define PB_DISC+  0xAB438224                 //未使用
#define PB_DISC-  0x80E8470                    //未使用
#define PB_UP     0x69118A0                     //未使用
#define PB_DOWN   0x1FDD666E            //未使用
#define PB_V_DN   0x19130F62           //[-]等同一般按鍵[ADJ]調整功能,但往回調
#define PB_V_UP   0xBC480D16            //[+]等同一般按鍵[ADJ]往前調的調整功能
#define PB_HOLD   0xFFFFFFFF            //持續按住的編碼,不使用

unsigned long DECODE = 0;                     //存放紅外線解碼結果

IRrecv irrecv( IR_PIN );                            //紅外線函式宣告
decode_results results;  

void setup()
{
  irrecv.blink13( true );                             //設為true的話,當收到訊號時,腳位13的LED便會閃爍
  irrecv.enableIRIn();                                //啟動接收器
}

//主程式
void loop()
{
  //檢查紅外線接收
  if ( irrecv.decode( &results ) )   //若有接收到信號
  {
    DECODE = results.value;        //取得編碼
    //紅外線按鈕處理
    switch ( DECODE )
    {
      case PB_ATT:                              //若按下[ATT]鈕
        if ( BACK_LIGHT )              //若背光已開啟
          lcd.noBacklight();                 //關閉背光
        else
          lcd.backlight();                  //否則開啟背光
        BACK_LIGHT = !BACK_LIGHT;       //背光旗標互換
        break;  
        
      case PB_FUNC:                     //若按下[FUNC]鈕
        mode_change();
        break;
      
      case PB_V_UP:
        adj_push( 1 );
        break;

      case PB_V_DN:
        adj_push( -1 );
        break;
    }
    irrecv.resume();                  //接收下一筆資料
  }
}
回复 支持 反对

使用道具 举报

发表于 2018-3-14 10:14:16 | 显示全部楼层
是,遥控器发射功率是很小的,1米以外就可能出现误码,如果远距离,需要大功率发射管。
学习了,感谢分享
回复 支持 反对

使用道具 举报

发表于 2018-6-9 20:02:30 | 显示全部楼层
如何让红外接收器每秒自动接收一次,并输出接收到的值,(我会不停的发送信号)
回复 支持 反对

使用道具 举报

发表于 2020-1-27 13:17:04 | 显示全部楼层
我没有这个libraries文件夹啊?
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-11-27 08:57 , Processed in 0.080729 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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