Advertisement
M00r

Untitled

Mar 1st, 2021
564
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <SPI.h>
  2. #include <MFRC522.h>
  3.  
  4. #define SS_PIN 10
  5. #define RST_PIN 9
  6. #define LED_G 5 //define green LED pin
  7. #define LED_R 4 //define red LED
  8. #define RELAY 3 //relay pin
  9. #define BUZZER 2 //buzzer pin
  10. #define ACCESS_DELAY 2000
  11. #define DENIED_DELAY 1000
  12. MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.
  13.  
  14. void setup()
  15. {
  16.   Serial.begin(9600);   // Initiate a serial communication
  17.   SPI.begin();          // Initiate  SPI bus
  18.   mfrc522.PCD_Init();   // Initiate MFRC522
  19.   pinMode(LED_G, OUTPUT);
  20.   pinMode(LED_R, OUTPUT);
  21.   pinMode(RELAY, OUTPUT);
  22.   pinMode(BUZZER, OUTPUT);
  23.   noTone(BUZZER);
  24.   digitalWrite(RELAY, LOW);
  25.   Serial.println("Put your card to the reader...");
  26.   Serial.println();
  27.  
  28. }
  29. void loop()
  30. {
  31.   // Look for new cards
  32.   if ( ! mfrc522.PICC_IsNewCardPresent())
  33.   {
  34.     return;
  35.   }
  36.   // Select one of the cards
  37.   if ( ! mfrc522.PICC_ReadCardSerial())
  38.   {
  39.     return;
  40.   }
  41.   //Show UID on serial monitor
  42.   Serial.print("UID tag :");
  43.   String content= "";
  44.   byte letter;
  45.   for (byte i = 0; i < mfrc522.uid.size; i++)
  46.   {
  47.      Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
  48.      Serial.print(mfrc522.uid.uidByte[i], HEX);
  49.      content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
  50.      content.concat(String(mfrc522.uid.uidByte[i], HEX));
  51.   }
  52.   Serial.println();
  53.   Serial.print("Message : ");
  54.   content.toUpperCase();
  55.   if (content.substring(1) == "83 23 38 BB") //change here the UID of the card/cards that you want to give access
  56.   {
  57.     Serial.println("Authorized access");
  58.     Serial.println();
  59.     delay(500);
  60.     digitalWrite(RELAY, HIGH);
  61.     digitalWrite(LED_G, HIGH);
  62.     delay(ACCESS_DELAY);
  63.     digitalWrite(RELAY, LOW);
  64.     digitalWrite(LED_G, LOW);
  65.   }
  66.  
  67.  else   {
  68.     Serial.println(" Access denied");
  69.     digitalWrite(LED_R, HIGH);
  70.     tone(BUZZER, 300);
  71.     delay(DENIED_DELAY);
  72.     digitalWrite(LED_R, LOW);
  73.     noTone(BUZZER);
  74.   }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement