Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.84 KB | None | 0 0
  1. // RFID - Version: Latest
  2. #include <RFID.h>/*
  3. Sambungan Module RFID RC-522 ke Arduino
  4. * MOSI: Pin 11
  5. * MISO: Pin 12
  6. * SCK : Pin 13
  7. * SS/SDA: Pin 10
  8. * RST: Pin 9
  9. * RQ: Tidak digunakan
  10. */
  11. #include <SPI.h>
  12. #include <RFID.h>
  13. #define SS_PIN 10
  14. #define RST_PIN 9
  15.  
  16. RFID rfid(SS_PIN,RST_PIN);
  17.  
  18. const int buzzer = 7; //Passive buzzer ke Pin D7 dan GND
  19. const int doorLock = 8; //Driver Selenoid Door Lock/Relay input ke pin D8
  20. int serNum[5]; //Variable buffer Scan Card
  21. int cards [][5] = { {153,84,23,76,150} }; // <--Master Card
  22. int cards1[][5] = { {199,190,132,100,153} }; //Slave Card
  23. int cards2[][5] = { {0,0,0,0,0} }; //Slave Card
  24. int cards3[][5] = { {0,0,0,0,0} }; //Slave Card
  25. int cards4[][5] = { {0,0,0,0,0} }; //Slave Card
  26. int cards5[][5] = { {0,0,0,0,0} }; //Slave Card
  27. int cards6[][5] = { {0,0,0,0,0} }; //Slave Card
  28. int cards7[][5] = { {0,0,0,0,0} }; //Slave Card
  29. int cards8[][5] = { {0,0,0,0,0} }; //Slave Card
  30. int cards9[][5] = { {0,0,0,0,0} }; //Slave Card
  31.  
  32. bool access = false;
  33.  
  34. int alarm = 0;
  35. uint8_t alarmStat = 0;
  36. uint8_t maxError = 5;
  37. //Coding berikut dibuat oleh Dani untuk www.belajarduino.com
  38. //Semoga bermanfaat bagi yang sedang belajar RFID system
  39. //Support by RAJACELL - BEKASI
  40. //Semua module yang dibutuhkan dapat dibeli di www.tokopedia.com/rajacell
  41. void setup(){
  42. Serial.begin(9600);
  43. SPI.begin();
  44. rfid.init();
  45.  
  46. pinMode(doorLock, OUTPUT);
  47. digitalWrite(doorLock, HIGH);
  48.  
  49. tone (buzzer,1200);
  50. delay (2000);
  51. noTone (buzzer);
  52. }
  53.  
  54. void loop(){
  55. if (alarm >= maxError){
  56. alarmStat = 1; }
  57.  
  58. if (alarmStat == 0){
  59. if(rfid.isCard()){
  60.  
  61. if(rfid.readCardSerial()){
  62. Serial.print(rfid.serNum[0]);
  63. Serial.print(" ");
  64. Serial.print(rfid.serNum[1]);
  65. Serial.print(" ");
  66. Serial.print(rfid.serNum[2]);
  67. Serial.print(" ");
  68. Serial.print(rfid.serNum[3]);
  69. Serial.print(" ");
  70. Serial.print(rfid.serNum[4]);
  71. Serial.println("");
  72.  
  73. for(int x = 0; x < sizeof(cards); x++){
  74. for(int i = 0; i < sizeof(rfid.serNum); i++ ){
  75. if( (rfid.serNum[i] != cards [x][i])
  76. && (rfid.serNum[i] != cards2[x][i])
  77. && (rfid.serNum[i] != cards3[x][i])
  78. && (rfid.serNum[i] != cards4[x][i])
  79. && (rfid.serNum[i] != cards5[x][i])
  80. && (rfid.serNum[i] != cards6[x][i])
  81. && (rfid.serNum[i] != cards7[x][i])
  82. && (rfid.serNum[i] != cards8[x][i])
  83. && (rfid.serNum[i] != cards9[x][i])
  84. && (rfid.serNum[i] != cards1[x][i])
  85. ) {
  86. access = false;
  87. break;
  88. } else {
  89. access = true;
  90. }
  91. }
  92. if(access) break;
  93. }
  94. }
  95.  
  96. if(access){
  97. digitalWrite(doorLock, LOW);
  98. tone (buzzer,900);
  99. delay(100);
  100. tone (buzzer,1200);
  101. delay(100);
  102. tone (buzzer,1800);
  103. delay(200);
  104. noTone(buzzer);
  105. delay(600);
  106. digitalWrite(doorLock, HIGH);
  107. lcd.clear();
  108. } else {
  109. alarm = alarm+1;
  110. Serial.println("Not allowed!");
  111. tone (buzzer,900);
  112. delay(200);
  113. noTone(buzzer);
  114. delay(200);
  115. tone (buzzer,900);
  116. delay(200);
  117. noTone (buzzer);
  118. delay(500);
  119. lcd.clear();
  120. }
  121. }
  122. rfid.halt();
  123. }
  124. else {
  125. Serial.println("-System LOCKED- ");
  126. Serial.println(" Please Wait ");
  127. for(int i=60; i>0; i--){
  128. tone (buzzer,1800);
  129. noTone (buzzer);
  130. alarmStat = 0;
  131. alarm = 0;
  132. }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement