快捷搜索:

RFID无线射频读卡器使用,程序示例

 

使用MFRC522 RFID阅读器和Arduino进行安全访问

这篇文章详细说明了有关如何使用MFRC522 RFID阅读器的简单示例。我将对规格进行快速概述,并使用Arduino演示项目示例。

描述

RFID表示射频识别。RFID使用电磁场在短距离内传输数据。RFID可用于识别人员,物品进行交易等。

您可以使用RFID系统打开一扇门。例如,仅允许其卡上具有正确信息的人进入。

RFID系统使用:

  • 标签附加到要识别的对象上,在此示例中,我们具有钥匙串和电磁卡。每个标签都有自己的标识(UID)。
  • 双向无线电收发器,即读取器,它将信号发送到标签并读取其响应。

技术指标

  • 输入电压:3.3V
  • 价格:约3元
  • 频率:13.56MHz
  • 资料下载

    这是此项目所需的库:

    1. 下载RFID库

    2. 解压缩RFID库

    3. 在您的Arduino IDE中安装RFID库

    4. 重新启动您的Arduino IDE

    引脚接线

    引脚 接线到Arduino Uno

    SDA 数字10

    SCK 数字13

    MOSI 数字11

    MISO 数字12

    IRQ 未连接

    地线 地线

    RST 数字9

    3.3伏 3.3伏

    注意:您必须将此设备供电至3.3V!

    电路图

    从RFID标签读取数据

    准备好电路后,转到文件>示例> MFRC522> DumpInfo并上传代码。该代码将在您的Arduino IDE中可用(安装RFID库之后)。

    然后,打开串行监视器。您应该看到类似下图的内容:

    将RFID卡或钥匙串近似到阅读器。让阅读器和标签靠近,直到显示所有信息。

    这是您可以从卡中读取的信息,包括以黄色突出显示的卡UID。如上图所示,该信息存储在内存中,该内存分为段和块。

    您有1024个字节的数据存储空间,分为16个扇区,每个扇区由两个不同的键A和B保护。

    记下您的UID 卡,因为以后需要它。

    上载以下代码。

    #include <SPI.h>

    #include <MFRC522.h>

    #define SS_PIN 10

    #define RST_PIN 9

    MFRC522 mfrc522(SS_PIN, RST_PIN);

    void setup()

    {

    Serial.begin(9600);

    SPI.begin();

    mfrc522.PCD_Init();

    Serial.println("Approximate your card to the reader...");

    Serial.println();

    }

    void loop()

    {

    if ( ! mfrc522.PICC_IsNewCardPresent())

    {

    return;

    }

    if ( ! mfrc522.PICC_ReadCardSerial())

    {

    return;

    }

    Serial.print("UID tag :");

    String content= "";

    byte letter;

    for (byte i = 0; i < mfrc522.uid.size; i++)

    {

    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");

    Serial.print(mfrc522.uid.uidByte[i], HEX);

    content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));

    content.concat(String(mfrc522.uid.uidByte[i], HEX));

    }

    Serial.println();

    Serial.print("Message : ");

    content.toUpperCase();

    if (content.substring(1) == "BD 31 15 2B") //change here the UID of the card/cards that you want to give access

    {

    Serial.println("Authorized access");

    Serial.println();

    delay(3000);

    }

    else {

    Serial.println(" Access denied");

    delay(3000);

    }

    }

    在上面的代码中,您需要更改if(content.substring(1)=="用您的UID替换")并键入您之前编写的UID卡。

    示范

    现在,将代码上传到Arduino,然后打开串行监视器。

    如果选择了您要授予访问权限的卡,您会看到:

    如果您用另一个UID近似另一个标签,则会显示拒绝消息:

    希望本教程对您有所帮助。

    也希望喜欢电子产品的朋友分享这篇文章!喜欢的朋友记得关注,我会分享更多的项目示例。

    [注:本文部分图片来自互联网!未经授权,不得转载!每天跟着我们读更多的书]


    互推传媒文章转载自第三方或本站原创生产,如需转载,请联系版权方授权,如有内容如侵犯了你的权益,请联系我们进行删除!

    如若转载,请注明出处:http://www.hfwlcm.com/info/204918.html