1.利用手机NFC读取原卡ID号 卡号为 31 0D 6B 45
2. 有请 Arduino UNO :
RC522模块 UNO
VCC <----------------------->3.3V
RST <----------------------->9
GND <----------------------->GND
IRQ <----------------------->不接
MISO <----------------------->12
MOSI <----------------------->11
SDA <----------------------->10
SCK <----------------------->13
3.代码---------------------------------------------------------------------------------------------------------------
- /*
- * 不同型号arduino的 引脚定义:(vcc接3.3V, 5V必烧!!! 5V必烧!!! 5V必烧!!!)
- * -----------------------------------------------------------------------------------------
- * MFRC522 Arduino Arduino Arduino Arduino Arduino
- * Reader/PCD Uno Mega Nano v3 Leonardo/Micro Pro Micro
- * Signal Pin Pin Pin Pin Pin Pin
- * -----------------------------------------------------------------------------------------
- * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
- * SPI SS SDA(SS) 10 53 D10 10 10
- * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
- * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
- * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
- */
- #include <SPI.h>
- #include <MFRC522.h>
- #define RST_PIN 9 // Configurable, see typical pin layout above
- #define SS_PIN 10 // Configurable, see typical pin layout above
- MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
- /*在这里修改卡号,读取的卡号是16进制的,每2位前加0x */
- #define NEW_UID {0x31, 0x0D, 0x6B, 0x45}
- MFRC522::MIFARE_Key key;
- void setup() {
- Serial.begin(9600); // Initialize serial communications with the PC
- while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
- SPI.begin(); // Init SPI bus
- mfrc522.PCD_Init(); // Init MFRC522 card
- Serial.println(F("Warning: this example overwrites the UID of your UID changeable card, use with care!"));
- // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory.
- for (byte i = 0; i < 6; i++) {
- key.keyByte[i] = 0xFF;
- }
- }
- // Setting the UID can be as simple as this:
- void loop() {
- // Look for new cards, and select one if present
- if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
- delay(50);
- return;
- }
- // Now a card is selected. The UID and SAK is in mfrc522.uid.
- // Dump UID
- Serial.print(F("Card UID:"));
- for (byte i = 0; i < mfrc522.uid.size; i++) {
- Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
- Serial.print(mfrc522.uid.uidByte[i], HEX);
- }
- Serial.println();
- // Set new UID
- byte newUid[] = NEW_UID;
- if ( mfrc522.MIFARE_SetUid(newUid, (byte)4, true) ) {
- Serial.println(F("Wrote new UID to card."));
- }
- // Halt PICC and re-select it so DumpToSerial doesn't get confused
- mfrc522.PICC_HaltA();
- if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
- return;
- }
- // Dump the new memory contents
- Serial.println(F("New UID and contents:"));
- mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
- delay(2000);
- }
复制代码
------------------------------------------------------------------------------------------------------------------
4.上传代码到UNO,然后刷一下UID卡
5.完工
下载:
MFRC522.zip
(34.24 KB, 下载次数: 277)
ChangeUID.zip
(1.4 KB, 下载次数: 239)
|