作者:Hoop
关键词:开发板, 程序设计, MKRzero, Arduino
最近在网上购买了一款进阶版的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灯或熄灭LED灯。所需实验器材如下图所示。



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

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

图6,安装红外遥控函数库IRremote
程序清单如下,需要注意的是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);
}

图7,实验程序清单示意
实验具体结果如下图所示:
1号按键点亮LED灯。

2号按键熄灭LED灯

结论
Arduino的MKRZero为用户带来了一款较小格式的采用 MKR 外形尺寸的 Zero 开发板,非常适合嵌入式系统设计。其简单的IDE环境,丰富的库函数使得开发者可以将注意力集中在功能的开发上。避免了繁琐的代码编写,提高了开发系统的效率。
Digi-Key工程师有话儿说
感谢hoop大神分享基于MKRZero的板载LED红外控制测试,小小的测试可以看到这块板子易于上手,是学习32位应用程序开发不错的教学工具。
Arduino的MKRZero另一大特点是具有一个板载SD连接器,带有专用SPI接口,无需额外硬件,即可播放音乐文件。由于用户允许使用Arduino Sound库和I2S库与音乐文件交互,可以考虑创建一些简单、音乐文件交互的小玩意。喜欢的可以浏览这两个库一下。
- Arduino Sound库的参考资料: 基于SAM D21的板上使用Arduino播放和分析音频数据的简单方法。
- I2S库的参考资料: 基于SAMD21的板上使用I2S协议。I2S是用于连接数字音频设备的电子串行总线接口标准。
对于新手用户,可能需要注意MKRZero是以3.3V工作。若果高于3.3V的电压施加到任何I / O引脚上,都可能会损坏此块板子。
作者简介

Hoop
安徽工程大学电气学院教师,主讲课程电子创新设计、嵌入式系统设计原理与应用。
———————————————————–
如有任何问题,欢迎联系得捷电子Digi-Key客服团队。
中国(人民币)客服
- 400-920-1199
- service.sh@digikey.com
- QQ在线实时咨询 |QQ号:4009201199
中国(美金)/ 香港客服
- 400-882-4440
- 8523104-0500
- china.support@digikey.com