首页 > 开发板频道 > 试用报告

基于MKRZERO的板载LED红外控制

2019-09-16

作者:悟在天成

 

第二次参加EEToday的开发板试用活动了,这次申请试用的是一款进阶版的Arduino开发板MKRZERO。Arduino的MKRZero将Arduino Zero的功能缩小到了Arduino MKR1000 外形尺寸,MKRZero 开发板是学习32位应用程序开发的绝佳教学工具。它具有一个板载SD连接器,带有专用SPI,允许用户使用Arduino Sound库和I2S库与音乐文件交互,无需额外硬件。该板带有Microchip的 SAM D21 MCU,采用32位ARM® Cortex®-M0+内核,工作在3.3V逻辑电平。该板上包含支持该微控制器所需的各种元器件;仅需通过一根micro-USB电缆与电脑连接,或者由一块锂聚合物电池供电即可开始工作。电池电压也可以监控,因为电池与电路板的模拟转换器之间存在连接,并且电路板包含充电电路,可以从5V电源轻松为锂聚合物电池充电。话不多说,直接上图。

 

基于MKRZERO的板载LED红外控制

 

这次测试过程大致如下:借助红外遥控器,控制红外接收器。只有当红外接收器接收到指定信号(遥控器指定键值)时通过MKRZERO开发板点亮板载LED灯或熄灭LED灯。所需实验器材如下图所示。

 

基于MKRZERO的板载LED红外控制

 

其中三脚红外接收器1838B引脚接线如下图所示。

 

基于MKRZERO的板载LED红外控制

 

电路连接原理图如下图所示:

 

基于MKRZERO的板载LED红外控制

 

具体硬件实物连接如下图所示:

 

基于MKRZERO的板载LED红外控制

 

上次测试Arduino UNO已经安装了IDE开发环境,故这次只需选择对相关硬件及开发版的端口号即可。将开发板通过micro-USB电缆连接到PC机,这时便可以在设备管理器中查到对应的端口号,具体设置如下图方框所示。

 

基于MKRZERO的板载LED红外控制

 

由于要用到红外遥控函数库IRremote,故需要在库管理器中搜索安装该库,安装过程如下图所示。安装成功后,该库后面显示INSTALLED。

 

基于MKRZERO的板载LED红外控制

 

程序清单如下,需要注意的是MKRZERO板载LED是32号引脚,接受红外信号输入为7号引脚,同时需要打开串口显示器,以便知道按键的具体键值。我们这里使用1号按键对应键值为0xFFB04F,通过1号键点亮LED;2号按键键值为0XFF9867,通过2号键熄灭LED。

 

程序清单

 

#include <IRremote.h> 

int LED = 32;

int PIN_RECV = 7;

IRrecv irrecv(PIN_RECV);

decode_results results;

 

void setup()

{

  Serial.begin(9600);

  irrecv.enableIRIn();

  pinMode(LED,OUTPUT);

 

}

 

void loop() {

  if (irrecv.decode(&results)) {

    Serial.println(results.value,HEX);

   switch(results.value)//通过这个循环,比对

    {

      case 0xFFB04F://注意红外遥控器距离不能太远,否则键值不一样。

        digitalWrite(LED,HIGH);

        delay(500);

        break;

      case 0XFF9867://注意红外遥控器距离不能太远,否则键值不一样。

        digitalWrite(LED,LOW);

        delay(500);

        break;

    }

    irrecv.resume();

  }

  delay(100);

}

 

基于MKRZERO的板载LED红外控制

 

实验具体结果如下图所示:

 

1号按键点亮LED灯。

 

基于MKRZERO的板载LED红外控制

 

2号按键熄灭LED灯

 

基于MKRZERO的板载LED红外控制

 

结论:Arduino的MKRZero为用户带来了一款较小格式的采用 MKR 外形尺寸的 Zero 开发板,非常适合嵌入式系统设计。其简单的IDE环境,丰富的库函数使得开发者可以将注意力集中在功能的开发上。避免了繁琐的代码编写,提高了开发系统的效率。