在库管理器中搜索安装IRRemote库,它能使arduino任一数字引脚接受引脚,但所用的IR接收模块必须集成了带通滤波器,才能正确的接受数据;
把你的2
.
X程序升级到3
.
x版本
的更新:
ReceiveDemo
从 3.1 版本开始,用于发送的 PWM 的生成由软件完成,从而节省了硬件定时器并启用任意输出引脚进行发送。
如果您使用的是不使用-flto标志进行编译的(旧)Arduino 内核,在编译期间出现有关 begin() 的错误消息,
您可以在IRRemote.h中激活#define SUPPRESS_ERROR_MESSAGE_FOR_BEGIN行。
-
现在将原有IRrecv IrReceiver(IR_RECEIVE_PIN)或IRsend IrSender更新至IRreceiver和IRsender对象:红外接收使用
IrReceiver
,红外发射使用
IrSender
.
-
启动接收与发送:
-
接收
(
在 setup() 中调用
)
:
-
IrReceiver.begin(IR_RECEIVE_PIN,
ENABLE
_LED_FEEDBACK)
;
启动接收,并指定引脚;开启
A
rduino
主板
L
灯反馈;
-
IrReceiver.begin(IR_RECEIVE_PIN,
DISABLE
_LED_FEEDBACK);启动接收,并指定接收引脚;关闭
A
rduino
主板
L
灯反馈;
-
-
对于发送
(
在 setup() 中调用
)
:
-
IrSender.begin(IR_SEND_PIN,
ENABLE
_LED_FEEDBACK)
;
启动发送,并指定引脚;开启
A
rduino
主板
L
灯反馈;
-
IrSender.begin(IR_SEND_PIN,
DISABLE
_LED_FEEDBACK);启动发送,并指定引脚;关闭
A
rduino
主板
L
灯反馈;
-
-
-
IrReceiver.decode()
接收到红外线信号,返回
true/1
,如果没有接收到红外线信号,就返回
false/0
;
-
解码后的值现更新至IrReceiver.decodedIRData中:
-
IrReceiver.decodedIRData.decodedRawData
当前按键编码值
-
IrReceiver.decodedIRData.protocol
遥控器协议值
-
-
IrReceiver.resume():
在使用decode()函数接收完红外信号后,必须使用resume()函数来重置IR接收器,才能再接收另一个红外线信号。 -
Overflow, Repeat and other flags(
溢出、重复和其他标志)现在
IrReceiver.receivedIRData.flags
.
-
很少使用:results.rawbufandresults.rawlen必须替换为IrReceiver.decodedIRData.rawDataPtr->rawbufand IrReceiver.decodedIRData.rawDataPtr->rawlen。