Загрузка данных


#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN  5
#define SS_PIN   53
#define BUZZER_PIN 3

MFRC522 mfrc522(SS_PIN, RST_PIN);

void setup() {
  Serial.begin(9600);
  SPI.begin();
  mfrc522.PCD_Init();
  
  pinMode(BUZZER_PIN, OUTPUT);
  
  Serial.println("=== Тест пайки RC522 + Пищалка ===");
  Serial.println("Жду метку...");
  
  // Короткий писк при старте (проверка, что пищалка жива)
  tone(BUZZER_PIN, 1000, 200);
  delay(300);
}

void loop() {
  // Проверяем, есть ли метка
  if (!mfrc522.PICC_IsNewCardPresent()) return;
  if (!mfrc522.PICC_ReadCardSerial()) return;

  // Выводим UID в монитор порта
  Serial.print("UID метки: ");
  for (byte i = 0; i < mfrc522.uid.size; i++) {
    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(mfrc522.uid.uidByte[i], HEX);
  }
  Serial.println();

  // Пищим при обнаружении метки
  tone(BUZZER_PIN, 2000, 150); // 2000 Гц, 150 мс
  delay(200);
  tone(BUZZER_PIN, 2500, 150); // Второй тон
  delay(200);

  mfrc522.PICC_HaltA(); // Останавливаем чтение
  delay(1000);          // Пауза, чтобы не пищало без остановки
}