Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <SPI.h>
- #include <MFRC522.h>
- #include <Keypad.h>
- #include <LiquidCrystal_I2C.h>
- //definiranje pinova i instanciranje komponenti
- #define SS_PIN 10
- #define RST_PIN 9
- MFRC522 mfrc522(SS_PIN, RST_PIN); // kreiranje MFRC522 instance.
- LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
- int RFID_status;
- int RFID_read = 0;
- int pin_k = 7356;//lozinka za karticu
- int pin_t = 8487;//lozinka za token
- const byte numRows= 4; //broj redova
- const byte numCols= 4; //broj stupaca
- char newNum[4];//polje za spremanje unešene lozinke
- char keymap[numRows][numCols]=
- {
- {'1', '2', '3', 'A'},
- {'4', '5', '6', 'B'},
- {'7', '8', '9', 'C'},
- {'*', '0', '#', 'D'}
- };
- byte rowPins[numRows] = {9,8,7,6}; //pinovi redova
- byte colPins[numCols]= {4,3,2,1}; //pinovi stupaca
- int pass = 0;//varijabla u koju spremamo unesenu lozinku i uspoređujemo sa definiranom lozinkom
- Keypad myKeypad= Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols);
- void setup()
- {
- lcd.begin(16,2);
- lcd.backlight();
- Serial.begin(9600); //serijska komunikacija
- SPI.begin(); //SPI bus
- mfrc522.PCD_Init(); //MFRC522
- lcd.print("Prislonite karti");
- lcd.setCursor(0,1);
- lcd.print("cu ili token");
- }
- void loop()
- {
- if (content.substring(1) == "34 7C 46 03" || content.substring(1) == "4D 07 6B C5") //UID oznaka za karticu i token
- {
- lcd.clear();
- lcd.print("Unon pina:");
- lcd.setCursor(0,1);
- lcd.print("* za reset");
- delay(3000);
- lcd.clear(); //brisanje cijelog sadržaja sa LCD display-a
- pass = GetNumber();
- if(pass == pin_k&& content.substring(1) == "34 7C 46 03"){
- lcd.clear();
- lcd.print("Dobro dosli!");
- }
- else if(pass == pin_t&& content.substring(1) == "4D 07 6B C5"){
- lcd.clear();
- lcd.print("Dobro dosli!");
- }
- else{
- lcd.clear();
- lcd.print("Pogresan pin!");
- lcd.setCursor(0,1);
- lcd.print("Ponovi proces");
- }
- }
- }
- //funkcija za dohvaćanje unesene lozinke sa tipkovnice i prikazivanje na LCD display-u
- int GetNumber()
- {
- int num = 0;
- char keypressed = myKeypad.getKey();
- while(keypressed != '#')
- {
- switch (keypressed)
- {
- case NO_KEY:
- break;
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- lcd.print("* ");
- num = num * 10 + (keypressed - '0');
- break;
- case '*'://ponovni unos
- lcd.clear();
- num = 0;
- break;
- }
- keypressed = myKeypad.getKey();
- }
- return num;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement