本文介绍了如何获得RFID在Arduino的在UID?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个RFID-RC522(MF-RC522)模块和我使用的Arduino小品节目。
要使用此RFID,我下载了Arduino的MFRC522库。

I have a RFID-RC522 (MF-RC522) module and I'm using Arduino sketch program.To use this RFID, I downloaded the Arduino MFRC522 library.

和我运行库的例子code。

And I run the example code of library.

下面是code。

/*
 * MFRC522 - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT.
 * The library file MFRC522.h has a wealth of useful info. Please read it.
 * The functions are documented in MFRC522.cpp.
 *
 * Based on code Dr.Leong   ( WWW.B2CQSHOP.COM )
 * Created by Miguel Balboa (circuitito.com), Jan, 2012.
 * Rewritten by Søren Thing Andersen (access.thing.dk), fall of 2013 (Translation to English, refactored, comments, anti collision, cascade levels.)
 * Released into the public domain.
 *
 * Sample program showing how to read data from a PICC using a MFRC522 reader on the Arduino SPI interface.
 *----------------------------------------------------------------------------- empty_skull 
 * Aggiunti pin per arduino Mega
 * add pin configuration for arduino mega
 * http://mac86project.altervista.org/
 ----------------------------------------------------------------------------- Nicola Coppola
 * Pin layout should be as follows:
 * Signal     Pin              Pin               Pin
 *            Arduino Uno      Arduino Mega      MFRC522 board
 * ------------------------------------------------------------
 * Reset      9                5                 RST
 * SPI SS     10               53                SDA
 * SPI MOSI   11               51                MOSI
 * SPI MISO   12               50                MISO
 * SPI SCK    13               52                SCK
 *
 * The reader can be found on eBay for around 5 dollars. Search for "mf-rc522" on ebay.com. 
 */

#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.

void setup() {
    Serial.begin(9600); // Initialize serial communications with the PC
    SPI.begin();            // Init SPI bus
    mfrc522.PCD_Init(); // Init MFRC522 card
    Serial.println("Scan PICC to see UID and type...");
}

void loop() {
    // Look for new cards
    if ( ! mfrc522.PICC_IsNewCardPresent()) {
        return;
    }

    // Select one of the cards
    if ( ! mfrc522.PICC_ReadCardSerial()) {
        return;
    }

    // Dump debug info about the card. PICC_HaltA() is automatically called.
    mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

当我运行这个code,并把卡RFID阅读器,Arduino的IDE的串口监视器上很多信息展示之一。事情是这样的......
(我不能张贴图片)

When I run this code and put one of the card to RFID reader, a lot of information show on Serial monitor of Arduino IDE. Something like this...(I couldn't post the images)

//
Scan PICC to see UID and type...

Card UID : 84 90 6C A7

PICC type : MIFARE 1KB

Sector Block 0 1 2 3 4 5 6 7 ...

15     63   00 00 00 00 ...
//

不过,我需要的只是卡的UID。这起案件是84 90 6C A7。

But What I need is just the Card UID. This case is 84 90 6C A7.

其实,我有项目。我想,如果我把RFID的某卡LED切换。要做到这一点,我需要读取卡的UID和分配这对Arduino的小品节目的一些变量。

Actually, I have project. I want to switch on LED if i put a certain Card of RFID. To do this, I need to read the Card UID and assign this to some variable on Arduino sketch program.

但我不知道如何让RFID标签的UID在这种情况下,(这个库和功能复杂,对我来说)。

But I don't know how to get the UID of RFID tag in this case(This library and functions are complicated for me).

如果有人知道如何做到这一点,请帮助我。

If anybody knows how to do this, please help me.

推荐答案

这是未经考验code,因为我没有用一个Arduino现在。我希望它的工作原理。

This is untested code since I don't have an Arduino available right now. I hope it works.

替换DumpToSerial code在你的例子像这样

Replace the DumpToSerial code in your example with something like this

如果(mfrc522.uid.uidByte [0] ==&的0x84功放;&安培;
     mfrc522.uid.uidByte [1] == 0×90和放大器;&放大器;
     mfrc522.uid.uidByte [2] == 0x6c&放大器;&放大器;
     mfrc522.uid.uidByte [3] == 0xa7){
     //把你的灯亮
}

这篇关于如何获得RFID在Arduino的在UID?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-23 18:20