Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * This ESP32 code is created by esp32io.com
- *
- * This ESP32 code is released in the public domain
- *
- * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-rfid-nfc-door-lock-system
- */
- #include <SPI.h>
- #include <MFRC522.h>
- #define SS_PIN 21
- #define RST_PIN 22
- #define RELAY_PIN 2
- MFRC522 rfid(SS_PIN, RST_PIN);
- byte keyTagUID1[4] = {0xff, 0xff, 0xff, 0xff};
- byte keyTagUID2[4] = {0xff, 0xff, 0xff, 0xff};
- void setup() {
- Serial.begin(115200);
- SPI.begin(); // init SPI bus
- rfid.PCD_Init(); // init MFRC522
- pinMode(RELAY_PIN, OUTPUT); // initialize pin as an output.
- digitalWrite(RELAY_PIN, HIGH); // lock the door
- Serial.println("Tap an RFID/NFC tag on the RFID-RC522 reader");
- }
- void loop() {
- if (rfid.PICC_IsNewCardPresent()) { // new tag is available
- if (rfid.PICC_ReadCardSerial()) { // NUID has been readed
- MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
- if (rfid.uid.uidByte[0] == keyTagUID1[0] &&
- rfid.uid.uidByte[1] == keyTagUID1[1] &&
- rfid.uid.uidByte[2] == keyTagUID1[2] &&
- rfid.uid.uidByte[3] == keyTagUID1[3] ) {
- Serial.println("Access is granted");
- digitalWrite(RELAY_PIN, LOW); // unlock the door for 2 seconds
- delay(2000);
- digitalWrite(RELAY_PIN, HIGH); // lock the door
- }
- else
- if (rfid.uid.uidByte[0] == keyTagUID2[0] &&
- rfid.uid.uidByte[1] == keyTagUID2[1] &&
- rfid.uid.uidByte[2] == keyTagUID2[2] &&
- rfid.uid.uidByte[3] == keyTagUID2[3] ) {
- Serial.println("Access is granted");
- digitalWrite(RELAY_PIN, LOW); // unlock the door for 2 seconds
- delay(2000);
- digitalWrite(RELAY_PIN, HIGH); // lock the door
- }
- else
- {
- Serial.print("Access denied, 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
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement