From 68f7e6027cf446c8dd0dbe0804a02d1094afbb5a Mon Sep 17 00:00:00 2001 From: Alexander Popov Date: Sun, 4 Jun 2023 18:27:50 +0300 Subject: [PATCH] rfid --- RFID-RC522/README.md | 3 +++ RFID-RC522/RFID-RC522.ino | 46 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 RFID-RC522/README.md create mode 100644 RFID-RC522/RFID-RC522.ino diff --git a/RFID-RC522/README.md b/RFID-RC522/README.md new file mode 100644 index 0000000..dc99c66 --- /dev/null +++ b/RFID-RC522/README.md @@ -0,0 +1,3 @@ +## Library + +- [MFRC522](https://github.com/miguelbalboa/rfid) diff --git a/RFID-RC522/RFID-RC522.ino b/RFID-RC522/RFID-RC522.ino new file mode 100644 index 0000000..ac171bb --- /dev/null +++ b/RFID-RC522/RFID-RC522.ino @@ -0,0 +1,46 @@ +/** + * ... + * + * Author: Alexander Popov + * License: Unlicense + */ + +#include +#include + +#define SS_PIN 7 +#define RST_PIN 9 + +MFRC522 rfid(SS_PIN, RST_PIN); + +void setup() { + Serial.begin(9600); + SPI.begin(); + rfid.PCD_Init(); + + Serial.println("Tap RFID/NFC Tag on reader."); +} + +void loop() { + // new tag is available + if (rfid.PICC_IsNewCardPresent()) { + // NUID has been readed + if (rfid.PICC_ReadCardSerial()) { + MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); + + Serial.print("RFID/NFC Tag Type: "); + Serial.println(rfid.PICC_GetTypeName(piccType)); + + // print NUID in Serial Monitor in the hex format + Serial.print("UID:"); + for (int i = 0; i < rfid.uid.size; i++) { + Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); + Serial.print(rfid.uid.uidByte[i], HEX); + } + Serial.println(); + + rfid.PICC_HaltA(); // halt PICC + rfid.PCD_StopCrypto1(); // stop encryption on PCD + } + } +}