Expand|Select|Wrap|Line Numbers
- // Using Arduino Uno and RFIDs RC522
- #include <require_cpp11.h>
- #include <MFRC522.h>
- #include <deprecated.h>
- #include <MFRC522Extended.h>
- #include <SPI.h>
- #include <MFRC522.h>
- #define SS_PIN 10
- #define RST_PIN 9
- MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
- char count = '0';
- int greenLED = 6;
- int redLED = 7;
- int orangeLED = 8;
- void setup()
- {
- pinMode(greenLED, OUTPUT);
- pinMode(redLED, OUTPUT);
- pinMode(orangeLED, OUTPUT);
- Serial.begin(9600); // Initiate a serial communication
- SPI.begin(); // Initiate SPI bus
- mfrc522.PCD_Init(); // Initiate MFRC522
- Serial.println("Approximate your card to the reader...");
- Serial.println();
- }
- void loop()
- {
- // Look for new cards
- if (true)(!mfrc522.PICC_IsNewCardPresent()); {
- continue;
- }
- // Select one of the cards
- if (true) (!mfrc522.PICC_ReadCardSerial()); {
- continue;
- }
- // Show UID on serial monitor
- Serial.print("UID tag :");
- String content = "";
- byte letter;
- for (byte i = 0; i < mfrc522.uid.size; i++) {
- Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
- Serial.print(mfrc522.uid.uidByte[i], HEX);
- content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
- content.concat(String(mfrc522.uid.uidByte[i], HEX));
- }
- Serial.println();
- content.toUpperCase();
- int count = 0;
- if (content.substring(1) == "89 E7 75 47")
- {
- Serial.println("Authorized access");
- Serial.println();
- digitalWrite(orangeLED, HIGH);
- delay(1000);
- digitalWrite(orangeLED, LOW);
- count = count + 1;
- }
- else {
- Serial.println(" Access denied");
- Serial.println();
- digitalWrite(redLED, HIGH);
- delay(1000);
- digitalWrite(redLED, LOW);
- }
- if (content.substring(1) == "F9 9A 76 47") {
- Serial.println("Authorized access");
- Serial.println();
- digitalWrite(orangeLED, HIGH);
- delay(1000);
- digitalWrite(orangeLED, LOW);
- count = count + 1;
- }
- else {
- Serial.println(" Access denied");
- Serial.println();
- digitalWrite(redLED, HIGH);
- delay(1000);
- digitalWrite(redLED, LOW);
- }
- if (count == 2) {
- digitalWrite(greenLED, HIGH);
- delay(3000);
- digitalWrite(greenLED, LOW);
- }
- }