Advertisement
Guest User

rssv

a guest
May 23rd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <SPI.h>
  3. #include <MFRC522.h>
  4. #include <Keypad.h>
  5. #include <LiquidCrystal_I2C.h>
  6.  
  7. //definiranje pinova i instanciranje komponenti
  8.  
  9. #define SS_PIN 10
  10. #define RST_PIN 9
  11. MFRC522 mfrc522(SS_PIN, RST_PIN); // kreiranje MFRC522 instance.
  12. LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
  13. int RFID_status;
  14. int RFID_read = 0;
  15.  
  16. int pin_k = 7356;//lozinka za karticu
  17. int pin_t = 8487;//lozinka za token
  18.  
  19. const byte numRows= 4; //broj redova
  20. const byte numCols= 4; //broj stupaca
  21.  
  22. char newNum[4];//polje za spremanje unešene lozinke
  23. char keymap[numRows][numCols]=
  24. {
  25. {'1', '2', '3', 'A'},
  26. {'4', '5', '6', 'B'},
  27. {'7', '8', '9', 'C'},
  28. {'*', '0', '#', 'D'}
  29. };
  30.  
  31. byte rowPins[numRows] = {9,8,7,6}; //pinovi redova
  32. byte colPins[numCols]= {4,3,2,1}; //pinovi stupaca
  33.  
  34. int pass = 0;//varijabla u koju spremamo unesenu lozinku i uspoređujemo sa definiranom lozinkom
  35. Keypad myKeypad= Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols);
  36.  
  37. void setup()
  38. {
  39. lcd.begin(16,2);
  40. lcd.backlight();
  41. Serial.begin(9600); //serijska komunikacija
  42. SPI.begin(); //SPI bus
  43. mfrc522.PCD_Init(); //MFRC522
  44. lcd.print("Prislonite karti");
  45. lcd.setCursor(0,1);
  46. lcd.print("cu ili token");
  47. }
  48.  
  49. void loop()
  50. {
  51. if (content.substring(1) == "34 7C 46 03" || content.substring(1) == "4D 07 6B C5") //UID oznaka za karticu i token
  52. {
  53. lcd.clear();
  54. lcd.print("Unon pina:");
  55. lcd.setCursor(0,1);
  56. lcd.print("* za reset");
  57. delay(3000);
  58. lcd.clear(); //brisanje cijelog sadržaja sa LCD display-a
  59. pass = GetNumber();
  60.  
  61. if(pass == pin_k&& content.substring(1) == "34 7C 46 03"){
  62. lcd.clear();
  63. lcd.print("Dobro dosli!");
  64. }
  65. else if(pass == pin_t&& content.substring(1) == "4D 07 6B C5"){
  66. lcd.clear();
  67. lcd.print("Dobro dosli!");
  68. }
  69. else{
  70. lcd.clear();
  71. lcd.print("Pogresan pin!");
  72. lcd.setCursor(0,1);
  73. lcd.print("Ponovi proces");
  74. }
  75. }
  76. }
  77.  
  78. //funkcija za dohvaćanje unesene lozinke sa tipkovnice i prikazivanje na LCD display-u
  79.  
  80. int GetNumber()
  81. {
  82. int num = 0;
  83. char keypressed = myKeypad.getKey();
  84. while(keypressed != '#')
  85. {
  86. switch (keypressed)
  87. {
  88. case NO_KEY:
  89. break;
  90.  
  91. case '0': case '1': case '2': case '3': case '4':
  92. case '5': case '6': case '7': case '8': case '9':
  93. lcd.print("* ");
  94. num = num * 10 + (keypressed - '0');
  95. break;
  96.  
  97. case '*'://ponovni unos
  98. lcd.clear();
  99. num = 0;
  100. break;
  101. }
  102.  
  103. keypressed = myKeypad.getKey();
  104. }
  105.  
  106. return num;
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement