Advertisement
S-Dhingra

Untitled

Feb 1st, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. #include <SPI.h>
  2. #include <MFRC522.h>
  3. #include <Servo.h>
  4. #include <LiquidCrystal_I2C.h>
  5. LiquidCrystal_I2C screen (0x27, 16, 2);
  6. #define SS_PIN 10
  7. #define RST_PIN 9
  8. MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
  9. Servo Tahm;
  10. const int SER =2;
  11. const int LATCH =3;
  12. const int CLK =4;
  13.  
  14. void setup()
  15. {
  16. screen.begin();
  17. screen.setBacklight((uint8_t)1);
  18. Serial.begin(9600); // Initiate a serial communication
  19. SPI.begin(); // Initiate SPI bus
  20. mfrc522.PCD_Init(); // Initiate MFRC522
  21. Serial.println("hello");
  22. Serial.println();
  23. Tahm.attach (3);
  24. Tahm.write (100);
  25. msg();
  26. pinMode (SER, OUTPUT);
  27. pinMode (LATCH,OUTPUT);
  28. pinMode (CLK, OUTPUT);
  29. }
  30. void msg() {
  31. screen.clear();
  32. screen.print(" searching");
  33. screen.setCursor (0,1);
  34. screen.print (" for card...");
  35. }
  36. void loop()
  37. {
  38. // Look for new cards
  39. if ( ! mfrc522.PICC_IsNewCardPresent())
  40. {
  41. return;
  42. }
  43. // Select one of the cards
  44. if ( ! mfrc522.PICC_ReadCardSerial())
  45. {
  46. return;
  47. }
  48. //Show UID on serial monitor
  49. Serial.print("UID tag :");
  50. String content= "";
  51. byte letter;
  52. for (byte i = 0; i < mfrc522.uid.size; i++)
  53. {
  54. Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
  55. Serial.print(mfrc522.uid.uidByte[i], HEX);
  56. content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
  57. content.concat(String(mfrc522.uid.uidByte[i], HEX));
  58. }
  59. Serial.println();
  60. Serial.print("Message : ");
  61. content.toUpperCase();
  62. if (content.substring(1) == "52 5C B2 10") //change here the UID of the card/cards that you want to give access
  63. {
  64. digitalWrite (LATCH, LOW);
  65. shiftOut (SER,CLK,MSBFIRST, B11111111);
  66. digitalWrite (LATCH, HIGH);
  67. screen.clear();
  68. screen.print ("hello ");
  69. Tahm.write (0);
  70. delay (100);
  71. digitalWrite (LATCH, LOW);
  72. shiftOut (SER,CLK,MSBFIRST, B00000000);
  73. digitalWrite (LATCH, HIGH);
  74. delay(200);
  75. digitalWrite (LATCH, LOW);
  76. shiftOut (SER,CLK,MSBFIRST, B11111111);
  77. digitalWrite (LATCH, HIGH);
  78. delay (200);
  79. digitalWrite (LATCH, LOW);
  80. shiftOut (SER,CLK,MSBFIRST, B00000000);
  81. digitalWrite (LATCH, HIGH);
  82. delay (5000);
  83.  
  84. Tahm.write (179);
  85. msg();
  86. }
  87.  
  88. else {
  89.  
  90. screen.clear();
  91. screen.print (" locked");
  92. delay(5000);
  93. msg();
  94. }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement