问题描述
我有一个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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!