-
-
Save winhtut/c6e4eb06791e62216491f58ec5bdad8f to your computer and use it in GitHub Desktop.
Ffid RC522 DSA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <SPI.h> | |
| #include <MFRC522.h> | |
| #include <Servo.h> | |
| #define SS_PIN 10 | |
| #define RST_PIN 9 | |
| #define LED_G 5 //define green LED pin | |
| #define LED_R 4 //define red LED | |
| #define BUZZER 2 //buzzer pin | |
| MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. | |
| Servo myServo; //define servo name | |
| void setup() | |
| { | |
| Serial.begin(9600); // Initiate a serial communication | |
| SPI.begin(); // Initiate SPI bus | |
| mfrc522.PCD_Init(); // Initiate MFRC522 | |
| myServo.attach(3); //servo pin | |
| myServo.write(0); //servo start position | |
| pinMode(LED_G, OUTPUT); | |
| pinMode(LED_R, OUTPUT); | |
| pinMode(BUZZER, OUTPUT); | |
| noTone(BUZZER); | |
| Serial.println("Hello I am Win Htut"); | |
| Serial.println("Put your card to the reader..."); | |
| Serial.println(); | |
| } | |
| void loop() | |
| { | |
| // Look for new cards | |
| if ( ! mfrc522.PICC_IsNewCardPresent()) | |
| { | |
| return; | |
| } | |
| // Select one of the cards | |
| if ( ! mfrc522.PICC_ReadCardSerial()) | |
| { | |
| return; | |
| } | |
| //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(); | |
| Serial.print("Message : "); | |
| content.toUpperCase(); | |
| if (content.substring(1) == "39 63 AB 89") //change here the UID of the card/cards that you want to give access | |
| { | |
| Serial.println("Authorized access"); | |
| Serial.println(); | |
| delay(500); | |
| digitalWrite(LED_G, HIGH); | |
| tone(BUZZER, 500); | |
| delay(300); | |
| noTone(BUZZER); | |
| myServo.write(180); | |
| delay(9000); | |
| myServo.write(0); | |
| digitalWrite(LED_G, LOW); | |
| } | |
| else { | |
| Serial.println(" Access denied"); | |
| digitalWrite(LED_R, HIGH); | |
| tone(BUZZER, 300); | |
| delay(1000); | |
| digitalWrite(LED_R, LOW); | |
| noTone(BUZZER); | |
| } | |
| } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment