Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //https://arthurphdent.livejournal.com/1759.html
- // Тестировалось на Arduino IDE 1.0.1
- #include <SPI.h>
- #include <RFID.h>
- #define SS_PIN 10
- #define RST_PIN 9
- RFID rfid(SS_PIN, RST_PIN);
- // Данные о номере карты храняться в 5 переменных, будем запоминать их, чтобы проверять, считывали ли мы уже такую карту
- int serNum0;
- int serNum1;
- int serNum2;
- int serNum3;
- int serNum4;
- void setup()
- {
- Serial.begin(9600);
- SPI.begin();
- rfid.init();
- }
- void loop()
- {
- if (rfid.isCard()) {
- if (rfid.readCardSerial()) { // Сравниваем номер карты с номером предыдущей карты
- if (rfid.serNum[0] != serNum0
- && rfid.serNum[1] != serNum1
- && rfid.serNum[2] != serNum2
- && rfid.serNum[3] != serNum3
- && rfid.serNum[4] != serNum4
- ) {
- /* Если карта - новая, то считываем*/
- Serial.println(" ");
- Serial.println("Card found");
- serNum0 = rfid.serNum[0];
- serNum1 = rfid.serNum[1];
- serNum2 = rfid.serNum[2];
- serNum3 = rfid.serNum[3];
- serNum4 = rfid.serNum[4];
- //Выводим номер карты
- Serial.println("Cardnumber:");
- Serial.print("Dec: ");
- Serial.print(rfid.serNum[0],DEC);
- Serial.print(", ");
- Serial.print(rfid.serNum[1],DEC);
- Serial.print(", ");
- Serial.print(rfid.serNum[2],DEC);
- Serial.print(", ");
- Serial.print(rfid.serNum[3],DEC);
- Serial.print(", ");
- Serial.print(rfid.serNum[4],DEC);
- Serial.println(" ");
- Serial.print("Hex: ");
- Serial.print(rfid.serNum[0],HEX);
- Serial.print(", ");
- Serial.print(rfid.serNum[1],HEX);
- Serial.print(", ");
- Serial.print(rfid.serNum[2],HEX);
- Serial.print(", ");
- Serial.print(rfid.serNum[3],HEX);
- Serial.print(", ");
- Serial.print(rfid.serNum[4],HEX);
- Serial.println(" ");
- } else {
- /* Если это уже считанная карта, просто выводим точку */
- Serial.print(".");
- }
- }
- }
- rfid.halt();
- }
Advertisement
Add Comment
Please, Sign In to add comment