在本篇文章中,我们将使用一款基于Arduino和PN532 NFC模块的开发板 - Maduino Zero NFC板。 Maduino Zero NFC板是基于Atmel的32位SAMD21 MCU和NXP近场通信控制器PN532的物联网解决方案。该开发板可用于支付应用、入口系统和安全系统项目。
Maduino Zero NFC基于Arduino框架,用户可以使用Arduino IDE对其进行快捷编程。本文将帮助您了解Maduino Zero NFC的基本用法以及硬件概述和编程。
RFID技术可以长距离使用,而NFC技术仅限于短距离。 NFC最适合用于在短距离内安全地传输一系列数据,因此它在访问控制和支付应用中很普遍。另一方面,RFID更适合具有大量移动部件的快速移动环境,并且最常用于车辆访问控制和资产管理目的。
什么是NFC? 近场通信(NFC),全称Near-Field Communication,是指允许彼此靠近的启用设备以无线方式共享数据的技术。 NFC技术从射频识别(RFID)技术演变而来,更加精细化。
NFC根据电感耦合原理运行,至少对于短距离实施而言。这主要涉及读卡器设备通过使电流通过线圈来产生磁场。当标签(带有自己的线圈)被带到附近时,该场会在标签内感应出电流。然后,一旦初始握手完成,标签上存储的任何数据都会无线传输到读卡器。
Maduino Zero NFC开发板简介 Maduino Zero NFC是一款兼容Arduino的小型开发板,带有NFC(近场通信)功能。它基于ATSAMD21G18控制器和PN532 NFC芯片进行设计,而Arduino Zero板实际上也采用的是该控制器,因此Maduino Zero NFC也可以用作Arduino Zero开发板。
该开发板将成为帮助您与环境进行无线交互、驱动电机、解锁、控制继电器、从温度传感器读取数据的桥梁。这是因为它具有内置的NFC连接,开箱即用。
该开发板具有Micro USB端口,可用于串行通信和供电。我们可以连接5V电源输入或太阳能电池板为锂电池充电。它还具有一个3.7V锂聚合物电池连接器和一个用于打开/关闭模块的电源开关。NFC天线带有IPX接口,用于扫描NFC标签。状态指示LED连接到 D2,同时带有一个电源指示LED。板上有一个SWD开关,用于下载引导加载程序。您可以按下板上的复位按钮来复位ATSAMD21G18 控制器。
在板的背面有一个SD卡插槽。您可以在插槽中插入SD卡并以文本格式存储必要的数据。
如何使用Maduino NFC开发板? Maduino NFC板有一个Arduino Zero控制器和PN532 NFC芯片。要在Arduino IDE中使用该开发板,我们需要先设置Arduino IDE。
ATSAMD21G18A开发板支持包未预装在Arduino IDE中。因此,我们需要从Board Manager 安装“Arduino Zero Board”。
在Arduino IDE菜单中打开Boards Manager,选择菜单Tools-> Board-> Boards Manager... ,打开Boards Manager对话框。然后安装Arduino SAMD Boards(32-bits ARM Cortex-M0+)。
安装完成后,您现在可以选择Arduino Zero开发板,如下图所示。要对该开发板进行编程,需要连接Micro USB数据线。
接下来需要进行硬件连接,首先将NFC天线插入ANT1标识符的接口。然后将Micro USB电缆插入Maduino Zero NFC。使用4针排母将0.96寸I2C OLED显示屏连接到电路板。
将程序上传到开发板后,您可以使用3.7V锂电池供电,因为它工作在3.4V到4.2V之间。电池和MicroUSB都可以用来供电。连接Micro USB时,电路板由Micro USB供电,而拔下Micro USB 时,它会自动切换到电池。
硬件完成连接后,需要进行编程。从Arduino IDE菜单中选择Arduino Zero板。然后选择正确的串口号。现在您可以将以下代码上传到Maduino开发板。
使用Arduino IDE编译代码时,需要安装一些库文件。下载列出的库文件并通过库管理器将它们添加到Arduino IDE中: 1. Adafruit PN532 库 2. Adafruit GFX 库 3. SSD1306 OLED库
文章末尾给出了本文使用的完整代码。下载并复制到Arduino IDE中,编译上传。
效果测试 代码上传成功后,就可以开始测试了。上电后OLED显示屏将打印输出固件版本为1.6,并请求扫描卡片。
现在将一些NFC卡放在Maduino Zero开发板的天线附近。 NFC卡可以是您的银行卡或旅行卡等。
当您将卡放在天线附近时,它将读取字节长度以及UID 值并将它们显示在OLED屏上。
如果您不希望项目使用OLED显示屏,也可以在串口监视器上显示UID值和字节长度。
以上就是如何使用基于Arduino和PN532 NFC模块的Maduino Zero NFC开发板实现支付安全系统应用。本文使用的完整代码:
main.rar
(1.43 KB, 下载次数: 0)
|