7. 红外遥控

BiBoard配置了红外传感器,连接在第23引脚。红外的使用和基于AVR的UNO完全一样。

首先下载2.6.1版本的IRremote库,需要手工选择2.6.1版本。因为之后的版本红外编码有变化,如果使用3.X版本,指令会无法被翻译。为了同我们之前的产品兼容,测试后决定使用2.6.1版本。

在使用NyBoard的时候,为了保证代码可以顺利编译,我们需要给IRremote库进行“瘦身”,即去掉我们用不到的编码/解码器,只保留NEC_DECODER即NEC格式的38KHz信号解码器。

在Flash巨大的BiBoard上,我们无需进行“瘦身”。

最后附上例程,接受红外信号并串口打印,也可以使用官方的例程进行测试。

#include <Arduino.h>
#include <IRremote.h>

int RECV_PIN = 23;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup() {
  Serial.begin(115200);
  irrecv.enableIRIn();
  Serial.println("IR Receiver ready");
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    Serial.print(" - ");
    irrecv.resume(); // Receive the next value
  }
  delay(300);
}

Last updated