Ruslan_nig

read_data

Dec 22nd, 2021
1,559
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //https://arthurphdent.livejournal.com/1759.html
  2. //чтение данных с карты
  3. // Тестировалось на Arduino IDE 1.0.1
  4. #include <SPI.h>
  5. #include <MFRC522.h>
  6.  
  7. #define RST_PIN  9  //
  8. #define SS_PIN  10  //
  9.  
  10. MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
  11.  
  12. void setup() {
  13.  Serial.begin(9600);  // Инициализируем монитор последовательного порта
  14.  while (!Serial);  // Ничего не делаем пока он не открыт (для Arduino на чипе ATMEGA32U4)
  15.  SPI.begin();   // Инициализируем SPI шину
  16.  mfrc522.PCD_Init();  // Инициализируем RFID модуль
  17.  ShowReaderDetails(); // Выводим данные о модуле MFRC522
  18.  Serial.println(F("Scan PICC to see UID, type, and data blocks..."));
  19. }
  20.  
  21. void loop() {
  22.  // Ищем новую карту
  23.  if ( ! mfrc522.PICC_IsNewCardPresent()) {
  24.   return;
  25.  }
  26.  
  27.  // Выбираем одну из карт
  28.  if ( ! mfrc522.PICC_ReadCardSerial()) {
  29.   return;
  30.  }
  31.  
  32.  // Выводим данные с карты
  33.  mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
  34. }
  35.  
  36. void ShowReaderDetails() {
  37.  // Получаем номер версии модуля
  38.  byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg);
  39.  Serial.print(F("MFRC522 Software Version: 0x"));
  40.  Serial.print(v, HEX);
  41.  if (v == 0x91)
  42.   Serial.print(F(" = v1.0"));
  43.  else if (v == 0x92)
  44.   Serial.print(F(" = v2.0"));
  45.  else
  46.   Serial.print(F(" (unknown)"));
  47.  Serial.println("");
  48.  // Когда получаем 0x00 или 0xFF, передача данных нарушена
  49.  if ((v == 0x00) || (v == 0xFF)) {
  50.   Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?"));
  51.  }
  52. }
  53.  
Advertisement
Add Comment
Please, Sign In to add comment