Ruslan_nig

read2

Dec 22nd, 2021
2,012
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //https://arthurphdent.livejournal.com/1759.html
  2. // Тестировалось на Arduino IDE 1.0.1
  3. #include <SPI.h>
  4. #include <RFID.h>
  5.  
  6.  
  7. #define SS_PIN 10
  8. #define RST_PIN 9
  9.  
  10. RFID rfid(SS_PIN, RST_PIN);
  11.  
  12. // Данные о номере карты храняться в 5 переменных, будем запоминать их, чтобы проверять, считывали ли мы уже такую карту
  13.     int serNum0;
  14.     int serNum1;
  15.     int serNum2;
  16.     int serNum3;
  17.     int serNum4;
  18.  
  19. void setup()
  20. {
  21.   Serial.begin(9600);
  22.   SPI.begin();
  23.   rfid.init();
  24.  
  25. }
  26.  
  27. void loop()
  28. {    
  29.     if (rfid.isCard()) {
  30.         if (rfid.readCardSerial()) { // Сравниваем номер карты с номером предыдущей карты
  31.             if (rfid.serNum[0] != serNum0
  32.                 && rfid.serNum[1] != serNum1
  33.                 && rfid.serNum[2] != serNum2
  34.                 && rfid.serNum[3] != serNum3
  35.                 && rfid.serNum[4] != serNum4
  36.             ) {
  37.                 /* Если карта - новая, то считываем*/
  38.                 Serial.println(" ");
  39.                 Serial.println("Card found");
  40.                 serNum0 = rfid.serNum[0];
  41.                 serNum1 = rfid.serNum[1];
  42.                 serNum2 = rfid.serNum[2];
  43.                 serNum3 = rfid.serNum[3];
  44.                 serNum4 = rfid.serNum[4];
  45.                
  46.                 //Выводим номер карты
  47.                 Serial.println("Cardnumber:");
  48.                 Serial.print("Dec: ");
  49.   Serial.print(rfid.serNum[0],DEC);
  50.                 Serial.print(", ");
  51.   Serial.print(rfid.serNum[1],DEC);
  52.                 Serial.print(", ");
  53.   Serial.print(rfid.serNum[2],DEC);
  54.                 Serial.print(", ");
  55.   Serial.print(rfid.serNum[3],DEC);
  56.                 Serial.print(", ");
  57.   Serial.print(rfid.serNum[4],DEC);
  58.                 Serial.println(" ");
  59.                        
  60.                 Serial.print("Hex: ");
  61.   Serial.print(rfid.serNum[0],HEX);
  62.                 Serial.print(", ");
  63.   Serial.print(rfid.serNum[1],HEX);
  64.                 Serial.print(", ");
  65.   Serial.print(rfid.serNum[2],HEX);
  66.                 Serial.print(", ");
  67.   Serial.print(rfid.serNum[3],HEX);
  68.                 Serial.print(", ");
  69.   Serial.print(rfid.serNum[4],HEX);
  70.                 Serial.println(" ");
  71.              } else {
  72.                /* Если это уже считанная карта, просто выводим точку */
  73.                Serial.print(".");
  74.              }
  75.           }
  76.     }
  77.    
  78.     rfid.halt();
  79. }
  80.  
Advertisement
Add Comment
Please, Sign In to add comment