Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.36 KB | None | 0 0
  1. #include <SPI.h>
  2. #include <MFRC522.h>
  3.  
  4. #define RFID_RST_PIN 9
  5. #define RFID_SS_PIN 10
  6.  
  7. #define OPEN_LOCK_INDICATOR_PIN 6
  8. #define CLOSE_LOCK_INDICATOR_PIN 7
  9.  
  10.  
  11. MFRC522 mfrc522(RFID_SS_PIN, RFID_RST_PIN);
  12.  
  13. String read_rfid;
  14. String trusted_rfid_1 = "0"; //TODO
  15. String trusted_rfid_2 = "0"; //TODO
  16. bool isOpened = false;
  17.  
  18.  
  19.  
  20. void setup() {
  21.   Serial.begin(9600);
  22.  
  23.   SPI.begin();
  24.   mfrc522.PCD_Init();
  25.  
  26.   pinMode(OPEN_LOCK_INDICATOR_PIN, OUTPUT);
  27.   pinMode (CLOSE_LOCK_INDICATOR_PIN, OUTPUT);
  28. }
  29.  
  30. void dump_byte_array(byte *buffer, byte bufferSize) {
  31.   read_rfid = "";
  32.   for (byte i = 0; i < bufferSize; i++) {
  33.     read_rfid=read_rfid + String(buffer[i], HEX);
  34.   }
  35. }
  36.  
  37.  
  38. void open_lock() {
  39.   digitalWrite(OPEN_LOCK_INDICATOR_PIN, HIGH);
  40.   delay(500);
  41.   digitalWrite(OPEN_LOCK_INDICATOR_PIN, LOW);
  42.   isOpened = true;
  43. }
  44.  
  45. void close_lock2() {
  46.   digitalWrite(CLOSE_LOCK_INDICATOR_PIN, HIGH);
  47.   delay(5000);
  48.   digitalWrite(CLOSE_LOCK_INDICATOR_PIN, LOW);
  49.   isOpened = false;
  50. }
  51.  
  52. void loop() {
  53.   if (!mfrc522.PICC_IsNewCardPresent())
  54.     return;
  55.  
  56.   if (!mfrc522.PICC_ReadCardSerial())
  57.     return;
  58.  
  59.   dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
  60.   Serial.println(read_rfid);
  61.  
  62.   if (read_rfid==trusted_rfid_1 && !isOpened)
  63.     open_lock();
  64.  
  65.   Serial.println(read_rfid);
  66.   if(read_rfid==trusted_rfid_2)
  67.     close_lock2();
  68.  
  69.  
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement