Arduino提高篇19 您所在的位置:网站首页 arduino书写提醒器实验总结 Arduino提高篇19

Arduino提高篇19

2024-05-24 11:47| 来源: 网络整理| 查看: 265

射频识别「Radio Frequency IDentification,简称RFID」技术,又称为无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触,普遍应用于企业/校园一卡通、公交储值卡、高速公路收费、停车场、小区管理等。本篇介绍FRID-RC522模块的使用。

1. RFID模块

RFID 技术利用无线射频方式在阅读器和射频卡之间进行非接触双向数据传输,以达到目标识别和数据交换的目的。

标签(Tag,即射频卡),耦合元件及芯片组成,标签含有内置天线,用于和射频天线间进行通信。阅读器:读取(在读写卡中还可以写入)标签信息的设备。天线:在标签和读取器间传递射频信号。

本实验使用的RFID-RC522模块采用MFRC522芯片,SPI通讯方式,支持Mifarel S50、S70 、Pro、Desfire等类型的卡,附带的白卡和钥匙扣是S50卡,每张卡都有自己的标识(UID)。

RFID模块

2. 安装驱动库

Arduino有RC522驱动库,点击「项目」—「加载库」—「管理库」,查找选择「MFC522」最新版本进行安装。

安装库

3. 实验材料 Uno R3开发板配套USB数据线面包板及配套连接线RFID-RC522模块及配套S50白卡和异形卡 4. 实验步骤 1. 根据原理图搭建电路图。

RC522模块的3.3V、GND分别对应连接开发板的3.3V、GND,模块的MOSI、MISO、SCK分别连接开发板的SPI接口11、12、13,模块的SDA、RST分别连接开发板数字管脚10、9。

实验原理图如下图所示:

实验原理图

实物连接图如下图所示:

实物连接图

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。 #include #include #define SS_PIN 10 #define RST_PIN 9 MFRC522 rfid(SS_PIN, RST_PIN); byte nuidPICC[4]; //存储读取的UID void setup() { Serial.begin(9600); SPI.begin(); rfid.PCD_Init(); Serial.println("RC522初始化完成..."); } void loop() { //搜索新卡 if ( ! rfid.PICC_IsNewCardPresent()) return; // 验证NUID是否可读 if ( ! rfid.PICC_ReadCardSerial()) return; MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); // 检查是否MIFARE卡类型 if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI && piccType != MFRC522::PICC_TYPE_MIFARE_1K && piccType != MFRC522::PICC_TYPE_MIFARE_4K) { Serial.println("不支持读取此卡类型"); return; } // 保存读取到的UID for (byte i = 0; i for (byte i = 0; i for (byte i = 0; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有