Advertisement
Reshkin

Untitled

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